Class: Cloudflare::DurableObjectRequestContext

Inherits:
Object
  • Object
show all
Defined in:
lib/homura/runtime/durable_object.rb

Overview

‘self` inside a DurableObject.define block. Exposes state / env / request so user code reads like a regular Sinatra handler.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(state, env, request) ⇒ DurableObjectRequestContext

Returns a new instance of DurableObjectRequestContext.



606
607
608
609
610
# File 'lib/homura/runtime/durable_object.rb', line 606

def initialize(state, env, request)
  @state = state
  @env = env
  @request = request
end

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



604
605
606
# File 'lib/homura/runtime/durable_object.rb', line 604

def env
  @env
end

#requestObject (readonly)

Returns the value of attribute request.



604
605
606
# File 'lib/homura/runtime/durable_object.rb', line 604

def request
  @request
end

#stateObject (readonly)

Returns the value of attribute state.



604
605
606
# File 'lib/homura/runtime/durable_object.rb', line 604

def state
  @state
end

Instance Method Details

#aiObject



620
# File 'lib/homura/runtime/durable_object.rb', line 620

def ai; Cloudflare::Bindings.ai(env); end

#bucketObject



619
# File 'lib/homura/runtime/durable_object.rb', line 619

def bucket; env['cloudflare.BUCKET']; end

#cf_ctxObject



614
# File 'lib/homura/runtime/durable_object.rb', line 614

def cf_ctx; env['cloudflare.ctx']; end

#cf_envObject



613
# File 'lib/homura/runtime/durable_object.rb', line 613

def cf_env; env['cloudflare.env']; end

#d1Object



616
# File 'lib/homura/runtime/durable_object.rb', line 616

def d1; env['cloudflare.DB']; end

#dbObject



617
# File 'lib/homura/runtime/durable_object.rb', line 617

def db; d1; end

#durable_object(name, id_or_name = nil) ⇒ Object



623
624
625
# File 'lib/homura/runtime/durable_object.rb', line 623

def durable_object(name, id_or_name = nil)
  Cloudflare::Bindings.durable_object(env, name, id_or_name)
end

#jobs_queueObject



622
# File 'lib/homura/runtime/durable_object.rb', line 622

def jobs_queue; env['cloudflare.QUEUE_JOBS']; end

#kvObject



618
# File 'lib/homura/runtime/durable_object.rb', line 618

def kv; env['cloudflare.KV']; end

#send_emailObject



621
# File 'lib/homura/runtime/durable_object.rb', line 621

def send_email; env['cloudflare.SEND_EMAIL']; end

#storageObject



612
# File 'lib/homura/runtime/durable_object.rb', line 612

def storage; @state.storage; end