module StandardService::Wrapper

Public Class Methods

included(klass) click to toggle source
# File lib/standard_service/wrapper.rb, line 3
def self.included(klass)
  class << klass
    def service(&block)
      define_method '_run', &block
    end

    def call(params = {})
      service = new(params)
      data = service._run

      StandardService::Result.new(data, service._conditions, service._meta)
    end
  end
end
new(params = {}) click to toggle source
# File lib/standard_service/wrapper.rb, line 18
def initialize(params = {})
  params.to_h.each do |(name, value)|
    instance_variable_set("@#{name}", value)
  end
end

Public Instance Methods

_conditions() click to toggle source
# File lib/standard_service/wrapper.rb, line 24
def _conditions
  @_conditions ||= {}
end
_meta() click to toggle source
# File lib/standard_service/wrapper.rb, line 28
def _meta
  @_meta ||= {}
end
add_condition(type, desc = "") click to toggle source
# File lib/standard_service/wrapper.rb, line 32
def add_condition(type, desc = "")
  _conditions[type.to_sym] = desc.to_s
end
add_meta(type, desc = "") click to toggle source
# File lib/standard_service/wrapper.rb, line 36
def add_meta(type, desc = "")
  _meta[type.to_sym] = desc.to_s
end