class RESTinPeace::DefinitionProxy::CollectionMethodDefinitions
Public Class Methods
new(target)
click to toggle source
# File lib/rest_in_peace/definition_proxy/collection_method_definitions.rb, line 7 def initialize(target) @target = target end
Public Instance Methods
get(method_name, url_template, default_params = {})
click to toggle source
# File lib/rest_in_peace/definition_proxy/collection_method_definitions.rb, line 11 def get(method_name, url_template, default_params = {}) @target.rip_registry[:collection] << { method: :get, name: method_name, url: url_template } @target.send(:define_singleton_method, method_name) do |given_params = {}| raise RESTinPeace::DefinitionProxy::InvalidArgument unless given_params.respond_to?(:merge) params = default_params.merge(given_params) call = RESTinPeace::ApiCall.new(api, url_template, self, params) call.extend(params.delete(:paginate_with)) if params[:paginate_with] call.get end end