class ResourceKit::MethodFactory
Public Class Methods
construct(object, resource_collection, invoker = ActionInvoker)
click to toggle source
# File lib/resource_kit/method_factory.rb, line 3 def self.construct(object, resource_collection, invoker = ActionInvoker) resource_collection.each do |action| if object.method_defined?(action.name) raise ArgumentError, "Action '#{action.name}' is already defined on `#{object}`" end method_block = method_for_action(action, invoker) object.send(:define_method, action.name, &method_block) end end
method_for_action(action, invoker)
click to toggle source
# File lib/resource_kit/method_factory.rb, line 14 def self.method_for_action(action, invoker) Proc.new do |*args| invoker.call(action, self, *args) end end