Sha256: 10776ab5029c976987917e6b51e3e30225100cfedb28d8739e37a620ed7d45ed

Contents?: true

Size: 816 Bytes

Versions: 23

Compression:

Stored size: 816 Bytes

Contents

class Trailblazer::Operation
  class Result
    # @param success Boolean validity of the result object
    # @param data Context
    def initialize(success, data)
      @success, @data = success, data
    end

    def success?
      @success
    end

    def failure?
      !success?
    end

    def to_hash
      data.to_hash
    end

    def keys
      data.to_hash.keys
    end

    extend Forwardable
    def_delegators :@data, :[] # DISCUSS: make it a real delegator? see Nested.

    # 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

    private

    attr_reader :data
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
trailblazer-operation-0.11.0 lib/trailblazer/operation/result.rb
trailblazer-operation-0.10.1 lib/trailblazer/operation/result.rb
trailblazer-operation-0.10.0 lib/trailblazer/operation/result.rb
trailblazer-operation-0.9.0 lib/trailblazer/operation/result.rb
trailblazer-operation-0.8.0 lib/trailblazer/operation/result.rb
trailblazer-operation-0.8.0.beta1 lib/trailblazer/operation/result.rb
trailblazer-operation-0.7.5 lib/trailblazer/operation/result.rb
trailblazer-operation-0.7.4 lib/trailblazer/operation/result.rb
trailblazer-operation-0.7.3 lib/trailblazer/operation/result.rb
trailblazer-operation-0.7.2 lib/trailblazer/operation/result.rb
trailblazer-operation-0.7.1 lib/trailblazer/operation/result.rb
trailblazer-operation-0.7.0 lib/trailblazer/operation/result.rb
trailblazer-operation-0.6.6 lib/trailblazer/operation/result.rb
trailblazer-operation-0.6.5 lib/trailblazer/operation/result.rb
trailblazer-operation-0.6.4 lib/trailblazer/operation/result.rb
trailblazer-operation-0.6.3 lib/trailblazer/operation/result.rb
trailblazer-operation-0.6.2 lib/trailblazer/operation/result.rb
trailblazer-operation-0.6.1 lib/trailblazer/operation/result.rb
trailblazer-operation-0.6.0 lib/trailblazer/operation/result.rb
trailblazer-operation-0.5.3 lib/trailblazer/operation/result.rb