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.



640
641
642
643
644
# File 'lib/homura/runtime/durable_object.rb', line 640

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

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



638
639
640
# File 'lib/homura/runtime/durable_object.rb', line 638

def env
  @env
end

#requestObject (readonly)

Returns the value of attribute request.



638
639
640
# File 'lib/homura/runtime/durable_object.rb', line 638

def request
  @request
end

#stateObject (readonly)

Returns the value of attribute state.



638
639
640
# File 'lib/homura/runtime/durable_object.rb', line 638

def state
  @state
end

Instance Method Details

#aiObject



668
669
670
# File 'lib/homura/runtime/durable_object.rb', line 668

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

#bucketObject



665
666
667
# File 'lib/homura/runtime/durable_object.rb', line 665

def bucket
  env["cloudflare.BUCKET"]
end

#cf_ctxObject



652
653
654
# File 'lib/homura/runtime/durable_object.rb', line 652

def cf_ctx
  env["cloudflare.ctx"]
end

#cf_envObject



649
650
651
# File 'lib/homura/runtime/durable_object.rb', line 649

def cf_env
  env["cloudflare.env"]
end

#d1Object



656
657
658
# File 'lib/homura/runtime/durable_object.rb', line 656

def d1
  env["cloudflare.DB"]
end

#dbObject



659
660
661
# File 'lib/homura/runtime/durable_object.rb', line 659

def db
  d1
end

#durable_object(name, id_or_name = nil) ⇒ Object



677
678
679
# File 'lib/homura/runtime/durable_object.rb', line 677

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

#jobs_queueObject



674
675
676
# File 'lib/homura/runtime/durable_object.rb', line 674

def jobs_queue
  env["cloudflare.QUEUE_JOBS"]
end

#kvObject



662
663
664
# File 'lib/homura/runtime/durable_object.rb', line 662

def kv
  env["cloudflare.KV"]
end

#send_emailObject



671
672
673
# File 'lib/homura/runtime/durable_object.rb', line 671

def send_email
  env["cloudflare.SEND_EMAIL"]
end

#storageObject



646
647
648
# File 'lib/homura/runtime/durable_object.rb', line 646

def storage
  @state.storage
end