class Servi

Attributes

errors[R]

Public Class Methods

call(params, trusted = {}) click to toggle source
# File lib/servi.rb, line 8
def self.call(params, trusted = {})
  merged = params.dup

  trusted.each do |key, value|
    merged[key.to_s] = value
  end

  service = new(merged)

  service.validate

  if service.errors.empty?
    service.build(service.clean)
  else
    service.error(service.errors)
  end
end
new(params) click to toggle source
# File lib/servi.rb, line 26
def initialize(params)
  @params = params
  @errors = Hash.new { |hash, key| hash[key] = [] }
end

Public Instance Methods

error(errors) click to toggle source
# File lib/servi.rb, line 35
def error(errors)
  Result.new(:error, @params, {}, errors)
end
get(attr) click to toggle source
# File lib/servi.rb, line 31
def get(attr)
  @params[attr.to_s]
end
success(output = {}) click to toggle source
# File lib/servi.rb, line 39
def success(output = {})
  Result.new(:success, @params, output)
end