Sha256: 26fb85c61873524230c46bd474272fd7a3e60fd101b5aeb385916facb1c4150c

Contents?: true

Size: 633 Bytes

Versions: 7

Compression:

Stored size: 633 Bytes

Contents

class Trailblazer::Operation
  class Result
    def initialize(success, data)
      @success, @data = success, data # @data is a Skill instance.
    end

    extend Uber::Delegates
    delegates :@data, :[] # DISCUSS: make it a real delegator? see Nested.

    def success?
      @success
    end

    def failure?
      ! success?
    end

    # DISCUSS: the two methods below are more for testing.
    def inspect(*slices)
      return "<Result:#{success?} #{slice(*slices).inspect} >" if slices.any?
      "<Result:#{success?} #{@data.inspect} >"
    end

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

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
trailblazer-operation-0.0.10 lib/trailblazer/operation/result.rb
trailblazer-operation-0.0.9 lib/trailblazer/operation/result.rb
trailblazer-operation-0.0.8 lib/trailblazer/operation/result.rb
trailblazer-operation-0.0.7 lib/trailblazer/operation/result.rb
trailblazer-operation-0.0.6 lib/trailblazer/operation/result.rb
trailblazer-operation-0.0.5 lib/trailblazer/operation/result.rb
trailblazer-operation-0.0.4 lib/trailblazer/operation/result.rb