class WinewooCore::UseCases::UseCaseResults

Attributes

meta[RW]
resource[RW]
result[RW]

Public Class Methods

failure(resource = nil) click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 10
def self.failure(resource = nil) new(:failure, resource) end
found(resource, meta = nil) click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 4
def self.found(resource, meta = nil) new(:found, resource).tap {|i| i.meta = meta} end
new(result, resource = nil) click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 20
def initialize(result, resource = nil)
  @result = result
  @resource = resource
end
not_found() click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 6
def self.not_found() new(:not_found) end
success(resource = nil) click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 8
def self.success(resource = nil) new(:success, resource) end
unauthorized(resource = nil) click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 12
def self.unauthorized(resource = nil) new(:unauthorized, resource) end

Public Instance Methods

on_failure() { |resource| ... } click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 52
def on_failure
  if @result == :failure
    if @resource
      yield @resource
    else
      yield
    end
  end
end
on_found() { |resource, meta| ... } click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 26
def on_found
  yield resource, meta if @result == :found
end
on_not_found() { || ... } click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 31
def on_not_found
  yield if @result == :not_found
end
on_success() { |resource| ... } click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 41
def on_success
  if @result == :success
    if @resource
      yield @resource
    else
      yield
    end
  end
end
on_unauthorized() { || ... } click to toggle source
# File lib/winewoo_core/use_cases/use_case_results.rb, line 36
def on_unauthorized
  yield if @result == :unauthorized
end