Class: Cloudflare::D1Statement
- Inherits:
-
Object
- Object
- Cloudflare::D1Statement
- Defined in:
- lib/cloudflare_workers.rb
Instance Method Summary collapse
-
#all ⇒ Object
Returns a JS Promise that resolves to a Ruby Array of Ruby Hashes.
- #bind(*args) ⇒ Object
-
#first ⇒ Object
Returns a JS Promise that resolves to a single Ruby Hash (or nil).
-
#initialize(js) ⇒ D1Statement
constructor
A new instance of D1Statement.
-
#run ⇒ Object
Returns a JS Promise that resolves to a Ruby Hash with the D1 meta.
Constructor Details
#initialize(js) ⇒ D1Statement
Returns a new instance of D1Statement.
731 732 733 |
# File 'lib/cloudflare_workers.rb', line 731 def initialize(js) @js = js end |
Instance Method Details
#all ⇒ Object
Returns a JS Promise that resolves to a Ruby Array of Ruby Hashes.
743 744 745 746 747 748 |
# File 'lib/cloudflare_workers.rb', line 743 def all js_stmt = @js cf = Cloudflare err_cls = Cloudflare::D1Error `#{js_stmt}.all().then(function(res) { return #{cf}.$js_rows_to_ruby(res.results); }).catch(function(e) { #{Kernel}.$raise(#{err_cls}.$new(e.message || String(e), Opal.hash({binding_type: 'D1', operation: 'all'}))); })` end |
#bind(*args) ⇒ Object
735 736 737 738 739 740 |
# File 'lib/cloudflare_workers.rb', line 735 def bind(*args) js_args = `[]` args.each { |a| `#{js_args}.push(#{a})` } js = @js D1Statement.new(`#{js}.bind.apply(#{js}, #{js_args})`) end |
#first ⇒ Object
Returns a JS Promise that resolves to a single Ruby Hash (or nil).
751 752 753 754 755 756 |
# File 'lib/cloudflare_workers.rb', line 751 def first js_stmt = @js cf = Cloudflare err_cls = Cloudflare::D1Error `#{js_stmt}.first().then(function(res) { return res == null ? nil : #{cf}.$js_object_to_hash(res); }).catch(function(e) { #{Kernel}.$raise(#{err_cls}.$new(e.message || String(e), Opal.hash({binding_type: 'D1', operation: 'first'}))); })` end |
#run ⇒ Object
Returns a JS Promise that resolves to a Ruby Hash with the D1 meta.
759 760 761 762 763 764 |
# File 'lib/cloudflare_workers.rb', line 759 def run js_stmt = @js cf = Cloudflare err_cls = Cloudflare::D1Error `#{js_stmt}.run().then(function(res) { return #{cf}.$js_object_to_hash(res); }).catch(function(e) { #{Kernel}.$raise(#{err_cls}.$new(e.message || String(e), Opal.hash({binding_type: 'D1', operation: 'run'}))); })` end |