module Appfirst::Collection
Public Class Methods
included(klass)
click to toggle source
# File lib/appfirst/collection.rb, line 2 def self.included(klass) klass.attribute :next_link klass.attribute :prev_link klass.attribute :last_link klass.attribute :total_count klass.attribute :url klass.send(:extend, Appfirst::Collection::Attributes) end
Public Instance Methods
==(comparison_object)
click to toggle source
# File lib/appfirst/collection.rb, line 46 def ==(comparison_object) comparison_object.equal?(self) || (comparison_object.is_a?(self.class) && comparison_object.map(&:identity) == self.map(&:identity)) end
all(params={})
click to toggle source
# File lib/appfirst/collection.rb, line 52 def all(params={}) params["url"] ||= self.url response = self.connection.send(self.collection_request, params) load_page(response) end
collection_request()
click to toggle source
# File lib/appfirst/collection.rb, line 42 def collection_request self.class.instance_variable_get(:@collection_request) end
collection_root()
click to toggle source
# File lib/appfirst/collection.rb, line 38 def collection_root self.class.instance_variable_get(:@collection_root) end
create!(*args)
click to toggle source
# File lib/appfirst/collection.rb, line 15 def create!(*args) model = self.new(*args) model.save! end
get(id)
click to toggle source
# File lib/appfirst/collection.rb, line 28 def get(id) if data = connection.send(self.model_request, "id" => id).body[self.model_root] new(data) else nil end rescue Appfirst::Response::NotFound nil end
model_request()
click to toggle source
# File lib/appfirst/collection.rb, line 24 def model_request self.class.model_request end
model_root()
click to toggle source
# File lib/appfirst/collection.rb, line 20 def model_root self.class.model_root end