class Postgrest::Builders::QueryBuilder
Attributes
headers[R]
schema[R]
uri[R]
Public Class Methods
new(url:, headers:, schema:)
click to toggle source
# File lib/postgrest/builders/query_builder.rb, line 8 def initialize(url:, headers:, schema:) @uri = URI(url) @headers = headers @schema = schema end
Public Instance Methods
delete(extra_headers: {})
click to toggle source
# File lib/postgrest/builders/query_builder.rb, line 40 def delete(extra_headers: {}) extra_headers[:Prefer] ||= 'return=representation' request = HTTP.new(uri: uri, http_method: :delete, headers: headers.merge(extra_headers)) FilterBuilder.new(request) end
insert(values)
click to toggle source
# File lib/postgrest/builders/query_builder.rb, line 22 def insert(values) upsert(values, extra_headers: { Prefer: 'return=representation' }) end
select(*columns, extra_headers: {})
click to toggle source
# File lib/postgrest/builders/query_builder.rb, line 14 def select(*columns, extra_headers: {}) columns.compact! columns = ['*'] if columns.length.zero? request = HTTP.new(uri: uri, query: { select: columns.join(',') }, headers: headers.merge(extra_headers)) FilterBuilder.new(request) end
update(values, extra_headers: {})
click to toggle source
# File lib/postgrest/builders/query_builder.rb, line 33 def update(values, extra_headers: {}) extra_headers[:Prefer] ||= 'return=representation' request = HTTP.new(uri: uri, body: values, http_method: :patch, headers: headers.merge(extra_headers)) FilterBuilder.new(request) end
upsert(values, extra_headers: {})
click to toggle source
# File lib/postgrest/builders/query_builder.rb, line 26 def upsert(values, extra_headers: {}) extra_headers[:Prefer] ||= 'return=representation,resolution=merge-duplicates' request = HTTP.new(uri: uri, body: values, http_method: :post, headers: headers.merge(extra_headers)) BaseBuilder.new(request) end