class SmartCore::Operation::Result::Basic

@api private @since 0.1.0

Attributes

__initial_result_arguments__[R]

@return [Array<Any>]

@api private @since 0.1.0

__result_block__[R]

@return [Proc]

@api private @since 0.1.0

__result_options__[R]

@return [Hash<Symbol,Any>]

@api private @since 0.1.0

__result_parameters__[R]

@return [Array<Any>]

@api private @since 0.1.0

Public Class Methods

new(*result_arguments, &result_block) click to toggle source

@param result_arguments [Array<Any>] @param result_block [Block] @return [void]

@api private @since 0.1.0

# File lib/smart_core/operation/result/basic.rb, line 12
def initialize(*result_arguments, &result_block)
  @__initial_result_arguments__ = result_arguments
  @__result_parameters__, @__result_options__ = __extract_result_attributes__(result_arguments)
  @__result_block__ = result_block
  __after_initialize__
end

Public Instance Methods

callback?() click to toggle source

@return [Boolean]

@api public @since 0.1.0

# File lib/smart_core/operation/result/basic.rb, line 47
def callback?
  false
end
failure?() click to toggle source

@return [Boolean]

@api public @since 0.1.0

# File lib/smart_core/operation/result/basic.rb, line 31
def failure?
  false
end
fatal?() click to toggle source

@return [Boolean]

@api public @since 0.1.0

# File lib/smart_core/operation/result/basic.rb, line 39
def fatal?
  false
end
success?() click to toggle source

@return [Boolean]

@api public @since 0.1.0

# File lib/smart_core/operation/result/basic.rb, line 23
def success?
  false
end

Private Instance Methods

__after_initialize__() click to toggle source

@return [void]

@api private @since 0.1.0

# File lib/smart_core/operation/result/basic.rb, line 103
def __after_initialize__; end
__extract_result_attributes__(result_arguments) click to toggle source

@param result_arguments [Array<Any>] @return [Array<Array<Any>,Hash<Symbol,Any>>]

@api private @since 0.1.0

# File lib/smart_core/operation/result/basic.rb, line 82
def __extract_result_attributes__(result_arguments)
  extracted_parameters = []
  extracted_options = {}

  if (
    result_arguments.last.is_a?(Hash) &&
    result_arguments.last.keys.all? { |key| key.is_a?(Symbol) }
  )
    extracted_parameters = result_arguments[0..-2]
    extracted_options = result_arguments.last
  else
    extracted_parameters = result_arguments
  end

  [extracted_parameters, extracted_options]
end