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