lib/billogram/resource.rb in billogram-0.3.6 vs lib/billogram/resource.rb in billogram-0.4.0

- old
+ new

@@ -4,11 +4,11 @@ class Resource DEFAULT_OPTIONS = { page: 1, page_size: 50 } class << self def relations - @relations ||= { one: Set.new, many: Set.new } + @relations ||= [] end def endpoint(value = nil) @endpoint = value if value @endpoint || name.demodulize.underscore @@ -17,11 +17,11 @@ def search(options = {}) query = DEFAULT_OPTIONS.merge(options) perform_request("#{endpoint}", :get, query) end - def fetch(id) + def fetch(id = nil) perform_request("#{endpoint}/#{id}", :get) end def create(attributes) perform_request("#{endpoint}", :post, attributes) @@ -33,12 +33,12 @@ def delete(id) Billogram.client.put("#{endpoint}/#{id}") end - def relation(relation_name, relation_type = :one) - relations[relation_type] << relation_name - attr_accessor relation_name + def relation(name, type, class_override: nil) + relations << Relation.new(name, type, class_override: class_override) + attr_accessor name end def build_objects(data) case data when Hash then new(data)