class Assembly::Resource
Public Class Methods
build(model_class)
click to toggle source
# File lib/assembly/resource.rb, line 7 def self.build(model_class) Assembly.const_set("#{model_class.class_name.split(':').last}Resource", resource_class_for(model_class)) end
model_class()
click to toggle source
# File lib/assembly/resource.rb, line 15 def self.model_class @model_class end
new(client)
click to toggle source
# File lib/assembly/resource.rb, line 3 def initialize(client) @client = client end
resource_class_for(model_class)
click to toggle source
# File lib/assembly/resource.rb, line 11 def self.resource_class_for(model_class) Class.new(Assembly::Resource) do @model_class = model_class def self.model_class @model_class end def model_class self.class.model_class end if model_class.included_modules.include?(Assembly::Actions::Create) def create(params) model_class.create(params, @client) end end if model_class.included_modules.include?(Assembly::Actions::Read) def fetch(id, params={}) model_class.fetch(id, params, @client) end alias_method :find, :fetch end if model_class.included_modules.include?(Assembly::Actions::List) def list(params={}) model_class.list(params, @client) end def all(params={}) model_class.all(params, @client) end def total_count(params={}) model_class.total_count(params, @client) end end if model_class.included_modules.include?(Assembly::Actions::Update) def update(id, params) model_class.update(id, params, @client) end end if model_class.included_modules.include?(Assembly::Actions::Delete) def delete(id) model_class.delete(id, @client) end end end end
Public Instance Methods
all(params={})
click to toggle source
# File lib/assembly/resource.rb, line 41 def all(params={}) model_class.all(params, @client) end
create(params)
click to toggle source
# File lib/assembly/resource.rb, line 24 def create(params) model_class.create(params, @client) end
delete(id)
click to toggle source
# File lib/assembly/resource.rb, line 57 def delete(id) model_class.delete(id, @client) end
fetch(id, params={})
click to toggle source
# File lib/assembly/resource.rb, line 30 def fetch(id, params={}) model_class.fetch(id, params, @client) end
list(params={})
click to toggle source
# File lib/assembly/resource.rb, line 37 def list(params={}) model_class.list(params, @client) end
model_class()
click to toggle source
# File lib/assembly/resource.rb, line 19 def model_class self.class.model_class end
total_count(params={})
click to toggle source
# File lib/assembly/resource.rb, line 45 def total_count(params={}) model_class.total_count(params, @client) end
update(id, params)
click to toggle source
# File lib/assembly/resource.rb, line 51 def update(id, params) model_class.update(id, params, @client) end