class KOSapiClient::RequestBuilder
Attributes
id[R]
response[R]
url_builder[R]
Public Class Methods
new(resource_name, http_client, url_builder = URLBuilder.new(resource_name.to_s))
click to toggle source
# File lib/kosapi_client/request_builder.rb, line 55 def initialize(resource_name, http_client, url_builder = URLBuilder.new(resource_name.to_s)) @base_url = resource_name @http_client = http_client @operation = :get @body = nil @headers = { Accept: 'application/atom+xml' } @url_builder = url_builder @id = nil end
Public Instance Methods
finalize()
click to toggle source
# File lib/kosapi_client/request_builder.rb, line 65 def finalize options = {headers: @headers, body: @body } @response = @http_client.send_request(@operation, @url_builder.url, options) end
find(id)
click to toggle source
# File lib/kosapi_client/request_builder.rb, line 6 def find(id) @id = id @url_builder.set_path(id) self end
limit(num)
click to toggle source
# File lib/kosapi_client/request_builder.rb, line 17 def limit(num) @url_builder.set_query_param(:limit, num) self end
offset(num)
click to toggle source
# File lib/kosapi_client/request_builder.rb, line 12 def offset(num) @url_builder.set_query_param(:offset, num) self end
order_by(*args, **kwargs)
click to toggle source
Specify order of the results.
Examples:
.order_by(:firstName, :lastName) .order_by(:firstName, lastName: :desc) .order_by(firstName: :asc, lastName: desc)
# File lib/kosapi_client/request_builder.rb, line 41 def order_by(*args, **kwargs) ordering = args + kwargs.map do |attr, dir| if dir != :asc && dir != :desc raise ArgumentError, "Direction must be :asc, or :desc, but got #{dir.inspect}" end "#{attr}@#{dir}" end @url_builder.set_query_param(:orderBy, ordering.join(',')) self end
Also aliased as: order
query(params = {})
click to toggle source
# File lib/kosapi_client/request_builder.rb, line 22 def query(params = {}) raise 'Empty parameters to query are not allowed' if params.empty? if params.instance_of?(String) rsql = params else rsql = params.map { |k, v| "#{k}==#{v}" }.join(';') end @url_builder.set_query_param(:query, rsql) self end
Also aliased as: where
Private Instance Methods
id_set?()
click to toggle source
# File lib/kosapi_client/request_builder.rb, line 73 def id_set? @id end