module Consumerable::Model::ClassMethods
Public Instance Methods
consumerable(options = {})
click to toggle source
# File lib/consumerable/model.rb, line 12 def consumerable(options = {}) define_method :create_path do options[:path] || "/#{self.class.to_s.demodulize.downcase.pluralize}" end define_method :delete_path do "/#{self.class.to_s.demodulize.downcase.pluralize}/:id" end define_method :attributes_for_api do self.attributes end define_method :_inject_path_params do |path| path.scan(/:[^\/]*id/).each do |attribute| path.gsub!(/#{attribute}/, self.send(attribute.gsub(/^:/, ''))) end path end define_singleton_method :list_path do options[:path] || "/#{to_s.demodulize.downcase.pluralize}" end define_singleton_method :init_collection do |collection| collection.map { |item| new(item) } end end