def declare_entry_points_methods(entry_points)
API.instance_eval do
entry_points.keys.select {|k| [:instance_states].include?(k)==false }.each do |model|
define_method model do |*args|
request(:get, entry_points[model], args.first) do |response|
base_object_collection(model, response)
end
end
define_method "#{model.to_s.singularize}""#{model.to_s.singularize}" do |*args|
request(:get, "#{entry_points[model]}/#{args[0]}") do |response|
base_object(model, response)
end
end
define_method "fetch_#{model.to_s.singularize}""fetch_#{model.to_s.singularize}" do |url|
id = url.grep(/\/#{model}\/(.*)$/)
self.send(model.to_s.singularize.to_sym, $1)
end
end
end
end