Sha256: af3ac64733dd9d1f9c8094d2ec3d4b1fad4ec7206860137090752932840ce0d8

Contents?: true

Size: 1.41 KB

Versions: 14

Compression:

Stored size: 1.41 KB

Contents

$:.unshift File.dirname(__FILE__) + '/../lib/'
require 'with'

class Target
  include With
  
  def called
    @called ||= []
  end
end

class Symbol
  def to_proc
    Proc.new { |*args| args.shift.__send__(self, *args) }
  end
end

class Array
  def to_sentence
    case length
      when 0
        ""
      when 1
        self[0].to_s
      else
        "#{self[0...-1].join(', ')} and #{self[-1]}"
    end
  end
end

class Hash
  def slice(*keys)
    Hash[*keys.map { |key| [key, self[key]] if has_key?(key) }.flatten.compact]
  end
end

class Test::Unit::TestCase
  def context_names(contexts)
    contexts.map do |context| 
      context.leafs.map { |leaf| (leaf.parents << leaf).map(&:name) }
    end
  end
end

module With
  class Node
    def inspect
      $_INDENT ||= 0
      $_INDENT += 1
      s = "\n#<Context:#{self.object_id} @name=#{name.inspect}\n"
      s << "  @parent(#{parent.object_id})=#{parent.name.inspect}\n" unless parent.nil?
      s << "  @calls(#{@calls.object_id})=#{@calls.inspect}\n" unless @calls.empty?
      s << "  @children(#{@children.object_id})=#{children.inspect}" unless children.empty?
      s << ">"
      s = s.split(/\n/).map{|s| ' ' * $_INDENT + s }.join("\n")
      $_INDENT -= 1
      s
    end
  end

  class Call
    def inspect
      s = "#<Call:#{self.object_id} @name=#{name.inspect}"
      s << " @conditions=#{@conditions.inspect}" unless @conditions.empty?
      s + '>'
    end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
adva-0.3.2 test/with/test/helper.rb
adva-0.3.1 test/with/test/helper.rb
adva-0.3.0 test/with/test/helper.rb
adva-0.2.4 test/with/test/helper.rb
adva-0.2.3 test/with/test/helper.rb
adva-0.2.2 test/with/test/helper.rb
adva-0.2.1 test/with/test/helper.rb
adva-0.2.0 test/with/test/helper.rb
adva-0.1.4 test/with/test/helper.rb
adva-0.1.3 test/with/test/helper.rb
adva-0.1.2 test/with/test/helper.rb
adva-0.1.1 test/with/test/helper.rb
adva-0.1.0 test/with/test/helper.rb
adva-0.0.1 test/with/test/helper.rb