module ServicePacker::Base::ClassMethods
Public Instance Methods
inherited(base)
click to toggle source
Calls superclass method
# File lib/service_packer/base.rb, line 29 def inherited(base) ServicePackerStore.register(base) base.prepend InstanceMethods super end
service_packer()
click to toggle source
# File lib/service_packer/base.rb, line 36 def service_packer ServicePackerStore.fetch(self) end
setup(method_name, *args, &block)
click to toggle source
# File lib/service_packer/base.rb, line 40 def setup(method_name, *args, &block) kwargs = args[-1].is_a?(Hash) ? args[-1] : {} params = kwargs[:params] || [] service = service_packer service.setup_method(method_name) { service.instance_exec(&block) } define_method(method_name) do |*args| raise ArgumentError, "wrong number of arguments (given #{args.size}, expected #{params.size})" if args.size != params.size service.invoke(self, method_name, params, *args) end end
setup_common_callback(&block)
click to toggle source
# File lib/service_packer/base.rb, line 56 def setup_common_callback(&block) service = service_packer service.common_callback_define(&block) end
setup_common_validation(&block)
click to toggle source
# File lib/service_packer/base.rb, line 51 def setup_common_validation(&block) service = service_packer service.common_validation_define(&block) end