class SmartCore::Operation::Result::Error::Set

@api private @since 0.1.0

Attributes

cases[R]

@return [Array<SmartCore::Operation::Result::Error::Case>]

@api private @since 0.1.0

Public Class Methods

build(error_codes, error_context) click to toggle source

@param error_codes [Array<String, Symbol, Any>] @param error_context [Hash<String|Symbol,Any>] @return [SmartCore::Operation::Result::Error::Set]

@api private @since 0.1.0

# File lib/smart_core/operation/result/error/set.rb, line 16
def build(error_codes, error_context)
  error_cases =
    if error_codes.empty?
      [SmartCore::Operation::Result::Error::Case.new(context: error_context)]
    else
      error_codes.map do |error_code|
        SmartCore::Operation::Result::Error::Case.new(
          code: error_code,
          context: error_context
        )
      end
    end

  new(error_cases)
end
new(cases) click to toggle source

@param cases [Array<SmartCore::Operation::Result::Error::Case>] @return [void]

@api private @since 0.1.0

# File lib/smart_core/operation/result/error/set.rb, line 44
def initialize(cases)
  @cases = cases.freeze
end

Public Instance Methods

codes() click to toggle source

@return [Array<String|Symbol|Any>]

@api public @since 0.1.0

# File lib/smart_core/operation/result/error/set.rb, line 52
def codes
  cases.map(&:code)
end
context() click to toggle source

@return [Hash<String|Symbol,Any>]

@api public @since 0.1.0

# File lib/smart_core/operation/result/error/set.rb, line 60
def context
  cases.sample.context
end
each(&block) click to toggle source

@return [void]

@api public @sicne 0.1.0

# File lib/smart_core/operation/result/error/set.rb, line 68
def each(&block)
  cases.each(&block)
end