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.



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

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

Instance Attribute Details

#envObject (readonly)

Returns the value of attribute env.



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

def env
  @env
end

#requestObject (readonly)

Returns the value of attribute request.



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

def request
  @request
end

#stateObject (readonly)

Returns the value of attribute state.



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

def state
  @state
end

Instance Method Details

#aiObject



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

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

#bucketObject



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

def bucket
  env["cloudflare.BUCKET"]
end

#cf_ctxObject



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

def cf_ctx
  env["cloudflare.ctx"]
end

#cf_envObject



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

def cf_env
  env["cloudflare.env"]
end

#d1Object



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

def d1
  env["cloudflare.DB"]
end

#dbObject



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

def db
  d1
end

#durable_object(name, id_or_name = nil) ⇒ Object



687
688
689
# File 'lib/homura/runtime/durable_object.rb', line 687

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

#jobs_queueObject



683
684
685
# File 'lib/homura/runtime/durable_object.rb', line 683

def jobs_queue
  env["cloudflare.QUEUE_JOBS"]
end

#kvObject



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

def kv
  env["cloudflare.KV"]
end

#send_emailObject



679
680
681
# File 'lib/homura/runtime/durable_object.rb', line 679

def send_email
  env["cloudflare.SEND_EMAIL"]
end

#storageObject



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

def storage
  @state.storage
end