class Zoop::NestedModel
Public Class Methods
find_by_id(parent_id:, id:)
click to toggle source
# File lib/zoop/nested_model.rb, line 20 def find_by_id(parent_id:, id:) raise RequestError.new('Invalid ID') unless id.present? raise RequestError.new('Invalid parent ID') unless parent_id.present? Zoop::Request.get(url parent_id, id).call end
Also aliased as: find
parent_resource_name()
click to toggle source
# File lib/zoop/nested_model.rb, line 16 def parent_resource_name raise NotImplementedError end
url(parent_id, *params)
click to toggle source
# File lib/zoop/nested_model.rb, line 28 def url(parent_id, *params) raise RequestError.new('Invalid parent ID') unless parent_id.present? ["/#{parent_resource_name}", parent_id, "#{ CGI.escape underscored_class_name }s", *params].join '/' end
Public Instance Methods
create()
click to toggle source
Calls superclass method
Zoop::Model#create
# File lib/zoop/nested_model.rb, line 4 def create @custom_url = self.class.url(parent_id) super end
url(*params)
click to toggle source
# File lib/zoop/nested_model.rb, line 9 def url(*params) raise RequestError.new('Invalid ID') unless id.present? self.class.url parent_id, CGI.escape(id.to_s), *params end
Protected Instance Methods
parent_id()
click to toggle source
# File lib/zoop/nested_model.rb, line 36 def parent_id raise NotImplementedError end