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)