Class: Trailblazer::Operation::Result

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Defined in:
lib/trailblazer/operation/result.rb

Direct Known Subclasses

Trailblazer::Operation::Railway::Result

Instance Method Summary collapse

Constructor Details

#initialize(success, data) ⇒ Result

Returns a new instance of Result.

Parameters:

  • success

    Boolean validity of the result object

  • data

    Context



5
6
7
# File 'lib/trailblazer/operation/result.rb', line 5

def initialize(success, data)
  @success, @data = success, data
end

Instance Method Details

#failure?Boolean

Returns:

  • (Boolean)


13
14
15
# File 'lib/trailblazer/operation/result.rb', line 13

def failure?
  !success?
end

#inspect(*slices) ⇒ Object

DISCUSS: the two methods below are more for testing.



29
30
31
32
33
# File 'lib/trailblazer/operation/result.rb', line 29

def inspect(*slices)
  return "<Result:#{success?} #{slice(*slices).inspect} >" if slices.any?

  "<Result:#{success?} #{@data.inspect} >"
end

#keysObject



21
22
23
# File 'lib/trailblazer/operation/result.rb', line 21

def keys
  data.to_hash.keys
end

#slice(*keys) ⇒ Object



35
36
37
# File 'lib/trailblazer/operation/result.rb', line 35

def slice(*keys)
  keys.collect { |k| self[k] }
end

#success?Boolean

Returns:

  • (Boolean)


9
10
11
# File 'lib/trailblazer/operation/result.rb', line 9

def success?
  @success
end

#to_hashObject



17
18
19
# File 'lib/trailblazer/operation/result.rb', line 17

def to_hash
  data.to_hash
end