Class: RESTinPeace::DefinitionProxy::CollectionMethodDefinitions
- Inherits:
-
Object
- Object
- RESTinPeace::DefinitionProxy::CollectionMethodDefinitions
- Defined in:
- lib/rest_in_peace/definition_proxy/collection_method_definitions.rb
Instance Method Summary collapse
- #get(method_name, url_template, default_params = {}) ⇒ Object
-
#initialize(target) ⇒ CollectionMethodDefinitions
constructor
A new instance of CollectionMethodDefinitions.
Constructor Details
#initialize(target) ⇒ CollectionMethodDefinitions
Returns a new instance of CollectionMethodDefinitions.
7 8 9 |
# File 'lib/rest_in_peace/definition_proxy/collection_method_definitions.rb', line 7 def initialize(target) @target = target end |
Instance Method Details
#get(method_name, url_template, default_params = {}) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 |
# 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 |