Class: Avm::Result

Inherits:
SimpleDelegator
  • Object
show all
Includes:
EacRubyUtils::Listable
Defined in:
lib/avm/result.rb

Defined Under Namespace

Classes: Error

Constant Summary collapse

TYPE_SUCCESS_COLOR =
'green'
TYPE_ERROR_COLOR =
'red'
TYPE_NEUTRAL_COLOR =
'light_black'

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value, type) ⇒ Result

Returns a new instance of Result.



32
33
34
35
36
# File 'lib/avm/result.rb', line 32

def initialize(value, type)
  super(value)
  validate_type(type)
  @type = type
end

Instance Attribute Details

#typeObject (readonly)

Returns the value of attribute type.



30
31
32
# File 'lib/avm/result.rb', line 30

def type
  @type
end

Class Method Details

.success_or_error(value, success) ⇒ Object



25
26
27
# File 'lib/avm/result.rb', line 25

def success_or_error(value, success)
  new(value, success ? ::Avm::Result::TYPE_SUCCESS : ::Avm::Result::TYPE_ERROR)
end

Instance Method Details

#labelObject



38
39
40
# File 'lib/avm/result.rb', line 38

def label
  label_fg
end

#label_bgObject



46
47
48
# File 'lib/avm/result.rb', line 46

def label_bg
  ColorizedString.new(to_s).light_white.send("on_#{type_color}")
end

#label_fgObject



42
43
44
# File 'lib/avm/result.rb', line 42

def label_fg
  ColorizedString.new(to_s).send(type_color)
end

#type_colorObject



50
51
52
# File 'lib/avm/result.rb', line 50

def type_color
  self.class.const_get("type_#{type}_color".upcase)
end