class Zoop::Model
Public Class Methods
class_name()
click to toggle source
# File lib/zoop/model.rb, line 45 def class_name self.name.split('::').last end
create(*args, &block)
click to toggle source
# File lib/zoop/model.rb, line 31 def create(*args, &block) self.new(*args, &block).create end
find_by_id(id)
click to toggle source
# File lib/zoop/model.rb, line 35 def find_by_id(id) raise RequestError.new('Invalid ID') unless id.present? Zoop::Request.get(url id).call end
Also aliased as: find
underscored_class_name()
click to toggle source
# File lib/zoop/model.rb, line 49 def underscored_class_name class_name.gsub(/[a-z0-9][A-Z]/){|s| "#{s[0]}_#{s[1]}"}.downcase end
url(*params)
click to toggle source
# File lib/zoop/model.rb, line 41 def url(*params) ["/#{ CGI.escape underscored_class_name }s", *params].join '/' end
Public Instance Methods
create()
click to toggle source
# File lib/zoop/model.rb, line 4 def create update_model Zoop::Request.post(@custom_url || self.class.url, params: to_hash).run self end
destroy()
click to toggle source
# File lib/zoop/model.rb, line 19 def destroy update_model Zoop::Request.delete(url).run self end
save()
click to toggle source
# File lib/zoop/model.rb, line 14 def save update_model Zoop::Request.put(@custom_url || url, params: unsaved_attributes).run self end
update(params={})
click to toggle source
# File lib/zoop/model.rb, line 9 def update(params={}) update_model Zoop::Request.put(@custom_url || url, params: params).run self end
url(*params)
click to toggle source
# File lib/zoop/model.rb, line 24 def url(*params) raise RequestError.new('Invalid ID') unless id.present? self.class.url CGI.escape(id.to_s), *params end