Sha256: 0eee115e8ae24b7acb85508e46e74de36d2ce8776b626a17ab76d6259d8d81cb

Contents?: true

Size: 1.18 KB

Versions: 7

Compression:

Stored size: 1.18 KB

Contents

class Tryouts::Drill
  
  # = Reality 
  #
  # Contains the actual response of a Drill
  #
  class Reality < Tryouts::Drill::Response
      # An ordered hash taken from the DrillContext that created this Reality. 
    attr_accessor :stash
    attr_accessor :error
    attr_accessor :trace
    attr_accessor :ecode
    attr_accessor :etype
      # For :cli drills only. Contains the shell command string. 
    attr_accessor :command
    def initialize
      @stash = Tryouts::HASH_TYPE.new
    end
    
    def ==(dream)
      Response.compare(dream, self)
    end
    
    def comparison_value(dream)
      case dream.format
      when :proc
        test = dream.output
        (test.arity > 0 ? test.call(@output) : test.call)
      when :exception
        @etype
      when :respond_to?, :is_a?, :kind_of?, :grep
        @output.send(dream.format, dream.output)
      when nil
        @output
      else 
        return nil if @output.nil? 
        
        if !dream.format.is_a?(Symbol)
          "This dream format is not a Symbol: #{dream.format}"
        elsif @output.respond_to?(dream.format)
          @output.send(dream.format)
        else
          @output
        end
      end
    end
  end

end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
delano-tryouts-0.8.3 lib/tryouts/drill/reality.rb
delano-tryouts-0.8.4 lib/tryouts/drill/reality.rb
tryouts-0.8.8 lib/tryouts/drill/reality.rb
tryouts-0.8.7 lib/tryouts/drill/reality.rb
tryouts-0.8.5 lib/tryouts/drill/reality.rb
tryouts-0.8.3 lib/tryouts/drill/reality.rb
tryouts-0.8.4 lib/tryouts/drill/reality.rb