C0 code coverage information

Generated on Sat Feb 02 17:44:24 +0100 2008 with rcov 0.8.1.2


Code reported as executed by Ruby looks like this...
and this: this line is also marked as covered.
Lines considered as run by rcov, but not reported by Ruby, look like this,
and this: these lines were inferred by rcov (using simple heuristics).
Finally, here's a line marked as not executed.
Name Total lines Lines of code Total coverage Code coverage
lib/ramaze/contrib/auto_params/get_args.rb 57 48
96.5% 
95.8% 
 1 # from merb/core_ext/get_args.rb
 2 begin
 3   require 'ruby2ruby'
 4 
 5   class ParseTreeArray < Array
 6     def self.translate(*args)
 7       self.new(ParseTree.translate(*args))
 8     end
 9 
10     def deep_array_node(type = nil)
11       each do |node|
12         return ParseTreeArray.new(node) if node.is_a?(Array) && (!type || node[0] == type)
13         next unless node.is_a?(Array)
14         return ParseTreeArray.new(node).deep_array_node(type)
15       end
16       nil
17     end
18 
19     def arg_nodes
20       self[1..-1].inject([]) do |sum,item|
21         sum << [item] unless item.is_a?(Array)
22         sum
23       end
24     end
25 
26     def get_args
27       arg_node = deep_array_node(:args)
28       return nil unless arg_node
29       args = arg_node.arg_nodes
30       default_node = arg_node.deep_array_node(:block)
31       return args unless default_node
32       lasgns = default_node[1..-1]
33       lasgns.each do |asgn|
34         args.assoc(asgn[1]) << eval(RubyToRuby.new.process(asgn[2]))
35       end
36       args
37     end
38 
39   end
40 
41   module GetArgs
42     def get_args
43       klass, meth = self.to_s.split(/ /).to_a[1][0..-2].split("#")
44       klass = $` if klass =~ /\(/
45       ParseTreeArray.translate(Object.const_get(klass), meth).get_args
46     end
47   end
48 
49   class UnboundMethod
50     include GetArgs
51   end
52 
53   class Method
54     include GetArgs
55   end
56 rescue LoadError
57 end

Generated using the rcov code coverage analysis tool for Ruby version 0.8.1.2.

Valid XHTML 1.0! Valid CSS!