Class: Supabase::Postgrest::RPCFilterRequestBuilder
- Inherits:
-
SingleRequestBuilder
- Object
- SingleRequestBuilder
- Supabase::Postgrest::RPCFilterRequestBuilder
- Includes:
- FilterMixin, SelectMixin
- Defined in:
- lib/supabase/postgrest/request_builder.rb
Overview
Returned by rpc() — filters + select modifiers + result-shape switchers, returning SingleAPIResponse instead of APIResponse because PostgREST returns a single value.
Instance Attribute Summary
Attributes inherited from SingleRequestBuilder
Instance Method Summary collapse
- #csv ⇒ Object
-
#initialize(request) ⇒ RPCFilterRequestBuilder
constructor
A new instance of RPCFilterRequestBuilder.
- #maybe_single ⇒ Object
- #select(*columns) ⇒ Object
- #single ⇒ Object
Methods included from SelectMixin
#limit, #offset, #order, #range
Methods included from FilterMixin
#adj, #cd, #contained_by, #contains, #cs, #eq, #filter, #fts, #gt, #gte, #ilike, #ilike_all_of, #ilike_any_of, #in_, #is_, #like, #like_all_of, #like_any_of, #lt, #lte, #match, #max_affected, #neq, #not_, #nxl, #nxr, #or_, #ov, #overlaps, #phfts, #plfts, #range_adjacent, #range_gt, #range_gte, #range_lt, #range_lte, #sl, #sr, #wfts
Methods inherited from SingleRequestBuilder
Constructor Details
#initialize(request) ⇒ RPCFilterRequestBuilder
Returns a new instance of RPCFilterRequestBuilder.
559 560 561 562 |
# File 'lib/supabase/postgrest/request_builder.rb', line 559 def initialize(request) super @negate_next = false end |
Instance Method Details
#csv ⇒ Object
583 584 585 586 |
# File 'lib/supabase/postgrest/request_builder.rb', line 583 def csv @request.headers["Accept"] = "text/csv" self end |
#maybe_single ⇒ Object
578 579 580 581 |
# File 'lib/supabase/postgrest/request_builder.rb', line 578 def maybe_single @request.headers["Accept"] = "application/vnd.pgrst.object+json" self end |
#select(*columns) ⇒ Object
564 565 566 567 568 569 570 571 |
# File 'lib/supabase/postgrest/request_builder.rb', line 564 def select(*columns) _, params, _, _ = RequestPrep.pre_select(*columns, count: nil) existing = @request.params["select"] @request.params["select"] = existing ? "#{existing},#{params['select']}" : params["select"] prefer = @request.headers["Prefer"] || "" @request.headers["Prefer"] = prefer.empty? ? "return=representation" : "#{prefer},return=representation" self end |
#single ⇒ Object
573 574 575 576 |
# File 'lib/supabase/postgrest/request_builder.rb', line 573 def single @request.headers["Accept"] = "application/vnd.pgrst.object+json" self end |