lib/paid/event.rb in paid-1.0.1 vs lib/paid/event.rb in paid-1.0.2

- old
+ new

@@ -1,26 +1,37 @@ module Paid class Event < APIResource - class Data - def self.construct(json={}) - return nil if json.nil? - klass = APIClass.subclass_fetch(json[:object]) - klass.construct(json) - end + attr_reader :id + attr_reader :object + attr_reader :created_at + attr_reader :type + attr_reader :data + + def self.all(params={}, headers={}) + method = APIMethod.new(:get, "/events", params, headers, self) + APIList.new(self, method.execute, method) end - # attributes :id and :object inherited from APIResource - attribute :created_at - attribute :type - attribute :data, Data + def self.retrieve(id, params={}, headers={}) + params = ParamsBuilder.merge(params, { + :id => id + }) + method = APIMethod.new(:get, "/events/:id", params, headers, self) + self.new(method.execute, method) + end - api_class_method :all, :get, :constructor => APIList.constructor(Event) - api_class_method :retrieve, :get, ":path/:id", :arguments => [:id] - - - def self.path - "/v0/events" + def refresh(params={}, headers={}) + method = APIMethod.new(:get, "/events/:id", params, headers, self) + self.refresh_from(method.execute, method) end - APIClass.register_subclass(self, "event") + # Everything below here is used behind the scenes. + APIResource.register_api_subclass(self, "event") + @api_attributes = { + :id => { :readonly => true }, + :object => { :readonly => true }, + :created_at => { :readonly => true }, + :type => { :readonly => true }, + :data => { :constructor => :EventData, :readonly => true }, + } end end