rspec-prof 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2009 Colin MacKenzie IV
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,107 @@
1
+ = rspec-prof
2
+
3
+ Integrates ruby-prof with RSpec, allowing you to easily profile your RSpec examples.
4
+
5
+ == Installation
6
+
7
+ gem install rspec-prof
8
+
9
+ == Setup
10
+
11
+ You'd probably ought to enable the gem in your spec_helper.rb file:
12
+ gem 'rspec-prof'
13
+ require 'rspec-prof'
14
+
15
+ Or, in Rails 2 (config/environment.rb):
16
+ config.gem 'rspec-prof'
17
+
18
+ Or, in Rails 3 (Gemfile):
19
+ group :test do
20
+ gem 'rspec-prof'
21
+ end
22
+
23
+ == Usage
24
+
25
+ Easy, peasy: in your spec files, simply add a "profile" context:
26
+
27
+ describe MyAwesomeObject do
28
+ context "with an awesome string" do
29
+ subject { MyAwesomeObject.new("an awesome string") }
30
+
31
+ profile do # profile these examples!
32
+ it "should be awesome" do
33
+ subject.should be_awesome
34
+ end
35
+
36
+ it "should be epic" do
37
+ subject.should be_epic
38
+ end
39
+ end
40
+
41
+ # not profiled:
42
+ it "should not be fail" do
43
+ subject.should_not be_fail
44
+ end
45
+ end
46
+ end
47
+
48
+ The usage overviewed above will, by default, profile each spec independently. If you need to profile all of them in a
49
+ single go, that's easy too:
50
+
51
+ describe MyAwesomeObject do
52
+ # . . .
53
+
54
+ profile :all do # run all of these examples in a single profile
55
+ # . . .
56
+ end
57
+ end
58
+
59
+ You can also explicitly pass an :each option to #profile, if it makes you feel better. There are a number of other
60
+ options that you can pass in the form of a hash, such as min_percent:
61
+
62
+ describe MyAwesomeObject do
63
+ # . . .
64
+
65
+ profile :min_percent => 0.01 do
66
+ # . . .
67
+ end
68
+ end
69
+
70
+ For an exhaustive list of options, see the RSpecProf::Profiler class.
71
+
72
+ === Suspending RSpecProf
73
+
74
+ You probably don't want to run the profiler every time you run a spec, because the profiler by its very nature will slow
75
+ down your app and, therefore, limit your productivity. To disable profiling without having to change your specs, simply
76
+ add this to your spec helper:
77
+
78
+ RSpecProf.disable!
79
+
80
+ ...and you're done. In case you need it (but I doubt you will because it's on by default), you can also enable the
81
+ profiler similarly:
82
+
83
+ RSpecProf.enable!
84
+
85
+ == Known Limitations
86
+
87
+ * ruby-prof cannot multithread. Therefore, RSpecProf also cannot multithread. If you try, you SHOULD get a warning (but
88
+ just in case, this is your warning too) that the profiling cannot be performed due to multithreading. RSpecProf SHOULD
89
+ disable itself at this point and allow your specs to run normally.
90
+ * Profile blocks cannot be nested within each other. To do so would require multithreading and, even were it possible,
91
+ I'm not sure how RSpecProf would be expected to comply; instead, RSpecProf will merely raise an error and your specs
92
+ will fail.
93
+ * I think that's it.
94
+
95
+ == Note on Patches/Pull Requests
96
+
97
+ * Fork the project.
98
+ * Make your feature addition or bug fix.
99
+ * Add tests for it. This is important so I don't break it in a
100
+ future version unintentionally.
101
+ * Commit, do not mess with rakefile, version, or history.
102
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
103
+ * Send me a pull request. Bonus points for topic branches.
104
+
105
+ == Copyright
106
+
107
+ Copyright (c) 2010 Colin MacKenzie IV. See LICENSE for details.
@@ -0,0 +1,50 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ begin
5
+ require 'jeweler'
6
+ Jeweler::Tasks.new do |gem|
7
+ gem.name = "rspec-prof"
8
+ gem.summary = %Q{Integrates ruby-prof with RSpec, allowing you to easily profile your RSpec examples.}
9
+ gem.description = %Q{Integrates ruby-prof with RSpec, allowing you to easily profile your RSpec examples.}
10
+ gem.email = "sinisterchipmunk@gmail.com"
11
+ gem.homepage = "http://github.com/sinisterchipmunk/rspec-prof"
12
+ gem.authors = ["Colin MacKenzie IV"]
13
+ gem.add_dependency "sc-core-ext", ">= 1.2.1"
14
+ gem.add_dependency "rspec"
15
+ gem.add_dependency "ruby-prof"
16
+ gem.add_development_dependency "rspec", ">= 1.2.9"
17
+ gem.files = FileList['**/*']
18
+ gem.test_files = FileList['spec/**/*']
19
+ # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
20
+ end
21
+ Jeweler::GemcutterTasks.new
22
+ rescue LoadError
23
+ puts "Jeweler (or a dependency) not available. Install it with: gem install jeweler"
24
+ end
25
+
26
+ require 'spec/rake/spectask'
27
+ Spec::Rake::SpecTask.new(:spec) do |spec|
28
+ spec.libs << 'lib' << 'spec'
29
+ spec.spec_files = FileList['spec/**/*_spec.rb']
30
+ end
31
+
32
+ Spec::Rake::SpecTask.new(:rcov) do |spec|
33
+ spec.libs << 'lib' << 'spec'
34
+ spec.pattern = 'spec/**/*_spec.rb'
35
+ spec.rcov = true
36
+ end
37
+
38
+ task :spec => :check_dependencies
39
+
40
+ task :default => :spec
41
+
42
+ require 'rake/rdoctask'
43
+ Rake::RDocTask.new do |rdoc|
44
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
45
+
46
+ rdoc.rdoc_dir = 'rdoc'
47
+ rdoc.title = "rspec-prof #{version}"
48
+ rdoc.rdoc_files.include('README*')
49
+ rdoc.rdoc_files.include('lib/**/*.rb')
50
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.1
@@ -0,0 +1,105 @@
1
+ unless defined?(Gem)
2
+ require 'rubygems'
3
+ gem 'sc-core-ext', ">= 1.2.1"
4
+ gem 'rspec'
5
+ gem 'ruby-prof'
6
+ end
7
+
8
+ require 'sc-core-ext'
9
+ require 'ruby-prof'
10
+ require 'ftools'
11
+
12
+ begin
13
+ require 'spec'
14
+ rescue LoadError
15
+ raise "Implement me: support for rspec >= 2.0 not yet available"
16
+ end
17
+
18
+ require 'rspec-prof/profiler'
19
+ $rspec_prof_filename_id = 0
20
+ $rspec_prof_thread_id = Thread.current.object_id
21
+
22
+ # See the README for general usage information.
23
+ #
24
+ # See RSpecProf::Profiler for all configuration options.
25
+ #
26
+ # You can enable RSpecProf by adding
27
+ # RSpecProf.enable!
28
+ # to your spec_helper.rb file. Actually, RSpecProf is enabled by default.
29
+ #
30
+ # You can disable RSpecProf by adding
31
+ # RSpecProf.disable!
32
+ # to your spec_helper.rb file.
33
+ #
34
+ # You can see if RSpecProf is enabled by calling
35
+ # RSpecProf.enabled?
36
+ #
37
+ module RSpecProf
38
+ class << self
39
+ # Enables all profiling
40
+ def enable!
41
+ @enabled = true
42
+ end
43
+
44
+ # Disables all profiling with RSpecProf
45
+ def disable!
46
+ @enable = false
47
+ end
48
+
49
+ # Returns true if profiling is enabled, false otherwise.
50
+ def enabled?
51
+ @enabled ||= true
52
+ end
53
+ end
54
+
55
+ module InstanceMethods
56
+ # Returns a unique filename for this example group, based on the total description and a unique identifier.
57
+ def default_filename
58
+ (
59
+ "#{$rspec_prof_filename_id += 1}-" +
60
+ self.class.description_parts.join(" ") +
61
+ " #{description}").gsub(/\s+/, '_'
62
+ ).gsub(/\(profiling\)/, '')
63
+ end
64
+ end
65
+
66
+ module ClassMethods
67
+ # Sets up a profiling context. All specs within this context will be profiled. You can pass a scope of
68
+ # :each or :all. A scope of :each will cause each contained spec to be profiled independently of any others;
69
+ # a scope of :all will profile all specs at once and produce a net result. You can also pass some options:
70
+ # see RSpecProf::Profiler for information on those.
71
+ def profile(scope = :each, options = {}, &block)
72
+ if scope.kind_of?(Hash)
73
+ options.reverse_merge! scope
74
+ scope = :each
75
+ end
76
+
77
+ context "(profiling)" do
78
+ before(scope) do
79
+ raise "Cannot start profiling because a profiler is already active" if @profiler
80
+ if Thread.current.object_id == $rspec_prof_thread_id
81
+ @profiler = RSpecProf::Profiler.new(options.reverse_merge(:file => default_filename))
82
+ @profiler.start
83
+ else
84
+ Kernel.warn "Profiling is disabled because you appear to be multi-threading the specs"
85
+ end
86
+ end
87
+
88
+ instance_eval &block
89
+
90
+ after(scope) do
91
+ @profiler.stop if @profiler
92
+ @profiler = nil
93
+ end
94
+ end
95
+ end
96
+ end
97
+ end
98
+
99
+ #Spec::Runner.configure do |config|
100
+ # config.extend RSpecProf::ClassMethods
101
+ # config.include RSpecProf::InstanceMethods
102
+ #end
103
+
104
+ Spec::Example::ExampleGroupMethods.send(:include, RSpecProf::ClassMethods)
105
+ Spec::Example::ExampleMethods.send(:include, RSpecProf::InstanceMethods)
@@ -0,0 +1,89 @@
1
+ module RSpecProf
2
+ class Profiler
3
+ attr_reader :options
4
+
5
+ # Possible options:
6
+ # :min_percent - Number 0 to 100 that specifes the minimum
7
+ # %self (the methods self time divided by the
8
+ # overall total time) that a method must take
9
+ # for it to be printed out in the report.
10
+ # Default value is 0.
11
+ #
12
+ # :print_file - True or false. Specifies if a method's source
13
+ # file should be printed. Default value is false.
14
+ #
15
+ # :printer - Specifies the output printer. Valid values include
16
+ # :flat, :graph, :graph_html and :call_tree. Defaults
17
+ # to :graph_html.
18
+ #
19
+ # :file - filename or IO stream to send data to. By default this
20
+ # is generated from your spec description and prepended
21
+ # with a unique ID. Extension is added automatically if
22
+ # one is not already present.
23
+ #
24
+ # :measure_mode - possible choices are 'wall_time', 'cpu_time',
25
+ # 'allocations', 'memory', 'process_time'. Defaults
26
+ # to 'process_time'
27
+ #
28
+ # :directory - the directory in which to place :file. If :file is not
29
+ # a String, this is ignored. Defaults to "./profiler"
30
+ #
31
+ def initialize(options)
32
+ @options = default_options.merge(options)
33
+
34
+ if @options[:file].kind_of?(String)
35
+ case @options[:printer]
36
+ when :graph_html
37
+ ext = "html"
38
+ else
39
+ ext = "txt"
40
+ end
41
+
42
+ @options[:file] = "#{@options[:file]}.#{ext}" unless @options[:file] =~ /\./
43
+ end
44
+
45
+ ENV["RUBY_PROF_MEASURE_MODE"] = options[:measure_mode]
46
+ RubyProf.figure_measure_mode
47
+ end
48
+
49
+ def start
50
+ RubyProf.start
51
+ end
52
+
53
+ def stop
54
+ file = options[:file]
55
+ result = RubyProf.stop
56
+
57
+ printer_class = options[:printer].kind_of?(Class) ? options[:printer] :
58
+ "RubyProf::#{options[:printer].to_s.camelize}Printer".constantize
59
+ with_io(file) do |out|
60
+ printer = printer_class.new(result)
61
+ printer.print(out, :print_file => options[:print_file], :min_percent => options[:min_percent])
62
+ end
63
+ end
64
+
65
+ private
66
+ def default_options
67
+ {
68
+ :min_percent => 0,
69
+ :print_file => false,
70
+ :printer => :graph_html,
71
+ :file => "./profile",
72
+ :measure_mode => 'process_time',
73
+ :directory => "./profiles"
74
+ }
75
+ end
76
+
77
+ def with_io(file)
78
+ if file.respond_to?(:write) && file.respond_to?(:puts)
79
+ yield file
80
+ else
81
+ file = File.expand_path(File.join(options[:directory], file))
82
+ FileUtils.makedirs(File.dirname(file))
83
+ File.open(file, "w") do |out|
84
+ yield out
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
Binary file
@@ -0,0 +1,954 @@
1
+
2
+ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
3
+ <html>
4
+ <head>
5
+ <style media="all" type="text/css">
6
+ table {
7
+ border-collapse: collapse;
8
+ border: 1px solid #CCC;
9
+ font-family: Verdana, Arial, Helvetica, sans-serif;
10
+ font-size: 9pt;
11
+ line-height: normal;
12
+ width: 100%;
13
+ }
14
+
15
+ th {
16
+ text-align: center;
17
+ border-top: 1px solid #FB7A31;
18
+ border-bottom: 1px solid #FB7A31;
19
+ background: #FFC;
20
+ padding: 0.3em;
21
+ border-left: 1px solid silver;
22
+ }
23
+
24
+ tr.break td {
25
+ border: 0;
26
+ border-top: 1px solid #FB7A31;
27
+ padding: 0;
28
+ margin: 0;
29
+ }
30
+
31
+ tr.method td {
32
+ font-weight: bold;
33
+ }
34
+
35
+ td {
36
+ padding: 0.3em;
37
+ }
38
+
39
+ td:first-child {
40
+ width: 190px;
41
+ }
42
+
43
+ td {
44
+ border-left: 1px solid #CCC;
45
+ text-align: center;
46
+ }
47
+
48
+ .method_name {
49
+ text-align: left;
50
+ }
51
+ </style>
52
+ </head>
53
+ <body>
54
+ <h1>Profile Report</h1>
55
+ <!-- Threads Table -->
56
+ <table>
57
+ <tr>
58
+ <th>Thread ID</th>
59
+ <th>Total Time</th>
60
+ </tr>
61
+
62
+ <tr>
63
+ <td><a href="#2148403620">2148403620</a></td>
64
+ <td>0.00044</td>
65
+ </tr>
66
+
67
+ </table>
68
+
69
+ <!-- Methods Tables -->
70
+
71
+ <h2><a name="2148403620">Thread 2148403620</a></h2>
72
+
73
+ <table>
74
+ <tr>
75
+ <th> %Total</th>
76
+ <th> %Self</th>
77
+ <th> Total</th>
78
+ <th> Self</th>
79
+ <th> Wait</th>
80
+ <th> Child</th>
81
+ <th> Calls</th>
82
+ <th class="method_name">Name</th>
83
+ <th>Line</th>
84
+ </tr>
85
+
86
+
87
+
88
+ <!-- Parents -->
89
+
90
+
91
+ <tr class="method">
92
+ <td> 100.00%</td>
93
+ <td> 7.27%</td>
94
+ <td> 0.00</td>
95
+ <td> 0.00</td>
96
+ <td> 0.00</td>
97
+ <td> 0.00</td>
98
+ <td> 1</td>
99
+ <td class="method_name"><a name="Spec__Example__ExampleMethods_execute_2148403620">Spec::Example::ExampleMethods#execute</a></td>
100
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=40" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:40">40</a></td>
101
+ </tr>
102
+
103
+ <!-- Children -->
104
+
105
+
106
+ <tr>
107
+ <td>&nbsp;</td>
108
+ <td>&nbsp;</td>
109
+ <td> 0.00</td>
110
+ <td> 0.00</td>
111
+ <td> 0.00</td>
112
+ <td> 0.00</td>
113
+
114
+ <td> 1/1</td>
115
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_after_each_example_2148403620">Spec::Example::ExampleMethods#after_each_example</a></td>
116
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=47" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:47">47</a></td>
117
+ </tr>
118
+
119
+
120
+ <tr>
121
+ <td>&nbsp;</td>
122
+ <td>&nbsp;</td>
123
+ <td> 0.00</td>
124
+ <td> 0.00</td>
125
+ <td> 0.00</td>
126
+ <td> 0.00</td>
127
+
128
+ <td> 1/2</td>
129
+ <td class="method_name"><a href="#Kernel_instance_eval_2148403620">Kernel#instance_eval</a></td>
130
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=40" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:40">40</a></td>
131
+ </tr>
132
+
133
+ <!-- Create divider row -->
134
+ <tr class="break"><td colspan="9"></td></tr>
135
+
136
+
137
+ <!-- Parents -->
138
+
139
+ <tr>
140
+ <td>&nbsp;</td>
141
+ <td>&nbsp;</td>
142
+ <td> 0.00</td>
143
+ <td> 0.00</td>
144
+ <td> 0.00</td>
145
+ <td> 0.00</td>
146
+
147
+ <td> 1/1</td>
148
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_execute_2148403620">Spec::Example::ExampleMethods#execute</a></td>
149
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=47" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:47">47</a></td>
150
+ </tr>
151
+
152
+
153
+ <tr class="method">
154
+ <td> 73.18%</td>
155
+ <td> 5.68%</td>
156
+ <td> 0.00</td>
157
+ <td> 0.00</td>
158
+ <td> 0.00</td>
159
+ <td> 0.00</td>
160
+ <td> 1</td>
161
+ <td class="method_name"><a name="Spec__Example__ExampleMethods_after_each_example_2148403620">Spec::Example::ExampleMethods#after_each_example</a></td>
162
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=131" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:131">131</a></td>
163
+ </tr>
164
+
165
+ <!-- Children -->
166
+
167
+
168
+ <tr>
169
+ <td>&nbsp;</td>
170
+ <td>&nbsp;</td>
171
+ <td> 0.00</td>
172
+ <td> 0.00</td>
173
+ <td> 0.00</td>
174
+ <td> 0.00</td>
175
+
176
+ <td> 1/1</td>
177
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_run_after_each_2148403620">Spec::Example::ExampleMethods#run_after_each</a></td>
178
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=132" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:132">132</a></td>
179
+ </tr>
180
+
181
+ <!-- Create divider row -->
182
+ <tr class="break"><td colspan="9"></td></tr>
183
+
184
+
185
+ <!-- Parents -->
186
+
187
+ <tr>
188
+ <td>&nbsp;</td>
189
+ <td>&nbsp;</td>
190
+ <td> 0.00</td>
191
+ <td> 0.00</td>
192
+ <td> 0.00</td>
193
+ <td> 0.00</td>
194
+
195
+ <td> 1/1</td>
196
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_after_each_example_2148403620">Spec::Example::ExampleMethods#after_each_example</a></td>
197
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=132" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:132">132</a></td>
198
+ </tr>
199
+
200
+
201
+ <tr class="method">
202
+ <td> 67.50%</td>
203
+ <td> 4.32%</td>
204
+ <td> 0.00</td>
205
+ <td> 0.00</td>
206
+ <td> 0.00</td>
207
+ <td> 0.00</td>
208
+ <td> 1</td>
209
+ <td class="method_name"><a name="Spec__Example__ExampleMethods_run_after_each_2148403620">Spec::Example::ExampleMethods#run_after_each</a></td>
210
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=111" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:111">111</a></td>
211
+ </tr>
212
+
213
+ <!-- Children -->
214
+
215
+
216
+ <tr>
217
+ <td>&nbsp;</td>
218
+ <td>&nbsp;</td>
219
+ <td> 0.00</td>
220
+ <td> 0.00</td>
221
+ <td> 0.00</td>
222
+ <td> 0.00</td>
223
+
224
+ <td> 1/1</td>
225
+ <td class="method_name"><a href="#Spec__Example__ExampleGroupHierarchy_run_after_each_2148403620">Spec::Example::ExampleGroupHierarchy#run_after_each</a></td>
226
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=112" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:112">112</a></td>
227
+ </tr>
228
+
229
+
230
+ <tr>
231
+ <td>&nbsp;</td>
232
+ <td>&nbsp;</td>
233
+ <td> 0.00</td>
234
+ <td> 0.00</td>
235
+ <td> 0.00</td>
236
+ <td> 0.00</td>
237
+
238
+ <td> 1/1</td>
239
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_example_group_hierarchy_2148403620">Spec::Example::ExampleMethods#example_group_hierarchy</a></td>
240
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=112" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:112">112</a></td>
241
+ </tr>
242
+
243
+ <!-- Create divider row -->
244
+ <tr class="break"><td colspan="9"></td></tr>
245
+
246
+
247
+ <!-- Parents -->
248
+
249
+ <tr>
250
+ <td>&nbsp;</td>
251
+ <td>&nbsp;</td>
252
+ <td> 0.00</td>
253
+ <td> 0.00</td>
254
+ <td> 0.00</td>
255
+ <td> 0.00</td>
256
+
257
+ <td> 1/1</td>
258
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_run_after_each_2148403620">Spec::Example::ExampleMethods#run_after_each</a></td>
259
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=112" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:112">112</a></td>
260
+ </tr>
261
+
262
+
263
+ <tr class="method">
264
+ <td> 54.09%</td>
265
+ <td> 3.18%</td>
266
+ <td> 0.00</td>
267
+ <td> 0.00</td>
268
+ <td> 0.00</td>
269
+ <td> 0.00</td>
270
+ <td> 1</td>
271
+ <td class="method_name"><a name="Spec__Example__ExampleGroupHierarchy_run_after_each_2148403620">Spec::Example::ExampleGroupHierarchy#run_after_each</a></td>
272
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=20" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:20">20</a></td>
273
+ </tr>
274
+
275
+ <!-- Children -->
276
+
277
+
278
+ <tr>
279
+ <td>&nbsp;</td>
280
+ <td>&nbsp;</td>
281
+ <td> 0.00</td>
282
+ <td> 0.00</td>
283
+ <td> 0.00</td>
284
+ <td> 0.00</td>
285
+
286
+ <td> 1/1</td>
287
+ <td class="method_name"><a href="#Spec__Example__ExampleGroupHierarchy_after_each_parts_2148403620">Spec::Example::ExampleGroupHierarchy#after_each_parts</a></td>
288
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=21" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:21">21</a></td>
289
+ </tr>
290
+
291
+
292
+ <tr>
293
+ <td>&nbsp;</td>
294
+ <td>&nbsp;</td>
295
+ <td> 0.00</td>
296
+ <td> 0.00</td>
297
+ <td> 0.00</td>
298
+ <td> 0.00</td>
299
+
300
+ <td> 1/1</td>
301
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_eval_each_fail_slow_2148403620">Spec::Example::ExampleMethods#eval_each_fail_slow</a></td>
302
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=21" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:21">21</a></td>
303
+ </tr>
304
+
305
+ <!-- Create divider row -->
306
+ <tr class="break"><td colspan="9"></td></tr>
307
+
308
+
309
+ <!-- Parents -->
310
+
311
+ <tr>
312
+ <td>&nbsp;</td>
313
+ <td>&nbsp;</td>
314
+ <td> 0.00</td>
315
+ <td> 0.00</td>
316
+ <td> 0.00</td>
317
+ <td> 0.00</td>
318
+
319
+ <td> 1/1</td>
320
+ <td class="method_name"><a href="#Spec__Example__ExampleGroupHierarchy_run_after_each_2148403620">Spec::Example::ExampleGroupHierarchy#run_after_each</a></td>
321
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=21" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:21">21</a></td>
322
+ </tr>
323
+
324
+
325
+ <tr class="method">
326
+ <td> 34.55%</td>
327
+ <td> 18.41%</td>
328
+ <td> 0.00</td>
329
+ <td> 0.00</td>
330
+ <td> 0.00</td>
331
+ <td> 0.00</td>
332
+ <td> 1</td>
333
+ <td class="method_name"><a name="Spec__Example__ExampleGroupHierarchy_after_each_parts_2148403620">Spec::Example::ExampleGroupHierarchy#after_each_parts</a></td>
334
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=36" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:36">36</a></td>
335
+ </tr>
336
+
337
+ <!-- Children -->
338
+
339
+
340
+ <tr>
341
+ <td>&nbsp;</td>
342
+ <td>&nbsp;</td>
343
+ <td> 0.00</td>
344
+ <td> 0.00</td>
345
+ <td> 0.00</td>
346
+ <td> 0.00</td>
347
+
348
+ <td> 1/1</td>
349
+ <td class="method_name"><a href="#Array_collect_2148403620">Array#collect</a></td>
350
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=37" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:37">37</a></td>
351
+ </tr>
352
+
353
+
354
+ <tr>
355
+ <td>&nbsp;</td>
356
+ <td>&nbsp;</td>
357
+ <td> 0.00</td>
358
+ <td> 0.00</td>
359
+ <td> 0.00</td>
360
+ <td> 0.00</td>
361
+
362
+ <td> 1/1</td>
363
+ <td class="method_name"><a href="#Array_flatten_2148403620">Array#flatten</a></td>
364
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=37" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:37">37</a></td>
365
+ </tr>
366
+
367
+
368
+ <tr>
369
+ <td>&nbsp;</td>
370
+ <td>&nbsp;</td>
371
+ <td> 0.00</td>
372
+ <td> 0.00</td>
373
+ <td> 0.00</td>
374
+ <td> 0.00</td>
375
+
376
+ <td> 1/1</td>
377
+ <td class="method_name"><a href="#Array_reverse_2148403620">Array#reverse</a></td>
378
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=37" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:37">37</a></td>
379
+ </tr>
380
+
381
+ <!-- Create divider row -->
382
+ <tr class="break"><td colspan="9"></td></tr>
383
+
384
+
385
+ <!-- Parents -->
386
+
387
+ <tr>
388
+ <td>&nbsp;</td>
389
+ <td>&nbsp;</td>
390
+ <td> 0.00</td>
391
+ <td> 0.00</td>
392
+ <td> 0.00</td>
393
+ <td> 0.00</td>
394
+
395
+ <td> 1/2</td>
396
+ <td class="method_name"><a href="#Array_each_2148403620">Array#each</a></td>
397
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=81" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:81">81</a></td>
398
+ </tr>
399
+
400
+ <tr>
401
+ <td>&nbsp;</td>
402
+ <td>&nbsp;</td>
403
+ <td> 0.00</td>
404
+ <td> 0.00</td>
405
+ <td> 0.00</td>
406
+ <td> 0.00</td>
407
+
408
+ <td> 1/2</td>
409
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_execute_2148403620">Spec::Example::ExampleMethods#execute</a></td>
410
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=40" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:40">40</a></td>
411
+ </tr>
412
+
413
+
414
+ <tr class="method">
415
+ <td> 32.50%</td>
416
+ <td> 8.86%</td>
417
+ <td> 0.00</td>
418
+ <td> 0.00</td>
419
+ <td> 0.00</td>
420
+ <td> 0.00</td>
421
+ <td> 2</td>
422
+ <td class="method_name"><a name="Kernel_instance_eval_2148403620">Kernel#instance_eval</a></td>
423
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=0" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:0">0</a></td>
424
+ </tr>
425
+
426
+ <!-- Children -->
427
+
428
+
429
+ <tr>
430
+ <td>&nbsp;</td>
431
+ <td>&nbsp;</td>
432
+ <td> 0.00</td>
433
+ <td> 0.00</td>
434
+ <td> 0.00</td>
435
+ <td> 0.00</td>
436
+
437
+ <td> 1/1</td>
438
+ <td class="method_name"><a href="#Kernel_sleep_2148403620">Kernel#sleep</a></td>
439
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=9" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:9">9</a></td>
440
+ </tr>
441
+
442
+
443
+ <tr>
444
+ <td>&nbsp;</td>
445
+ <td>&nbsp;</td>
446
+ <td> 0.00</td>
447
+ <td> 0.00</td>
448
+ <td> 0.00</td>
449
+ <td> 0.00</td>
450
+
451
+ <td> 1/1</td>
452
+ <td class="method_name"><a href="#RSpecProf__Profiler_stop_2148403620">RSpecProf::Profiler#stop</a></td>
453
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=87" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:87">87</a></td>
454
+ </tr>
455
+
456
+ <!-- Create divider row -->
457
+ <tr class="break"><td colspan="9"></td></tr>
458
+
459
+
460
+ <!-- Parents -->
461
+
462
+ <tr>
463
+ <td>&nbsp;</td>
464
+ <td>&nbsp;</td>
465
+ <td> 0.00</td>
466
+ <td> 0.00</td>
467
+ <td> 0.00</td>
468
+ <td> 0.00</td>
469
+
470
+ <td> 1/1</td>
471
+ <td class="method_name"><a href="#Spec__Example__ExampleGroupHierarchy_run_after_each_2148403620">Spec::Example::ExampleGroupHierarchy#run_after_each</a></td>
472
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=21" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:21">21</a></td>
473
+ </tr>
474
+
475
+
476
+ <tr class="method">
477
+ <td> 16.36%</td>
478
+ <td> 1.36%</td>
479
+ <td> 0.00</td>
480
+ <td> 0.00</td>
481
+ <td> 0.00</td>
482
+ <td> 0.00</td>
483
+ <td> 1</td>
484
+ <td class="method_name"><a name="Spec__Example__ExampleMethods_eval_each_fail_slow_2148403620">Spec::Example::ExampleMethods#eval_each_fail_slow</a></td>
485
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=77" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:77">77</a></td>
486
+ </tr>
487
+
488
+ <!-- Children -->
489
+
490
+
491
+ <tr>
492
+ <td>&nbsp;</td>
493
+ <td>&nbsp;</td>
494
+ <td> 0.00</td>
495
+ <td> 0.00</td>
496
+ <td> 0.00</td>
497
+ <td> 0.00</td>
498
+
499
+ <td> 1/1</td>
500
+ <td class="method_name"><a href="#Array_each_2148403620">Array#each</a></td>
501
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=79" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:79">79</a></td>
502
+ </tr>
503
+
504
+ <!-- Create divider row -->
505
+ <tr class="break"><td colspan="9"></td></tr>
506
+
507
+
508
+ <!-- Parents -->
509
+
510
+ <tr>
511
+ <td>&nbsp;</td>
512
+ <td>&nbsp;</td>
513
+ <td> 0.00</td>
514
+ <td> 0.00</td>
515
+ <td> 0.00</td>
516
+ <td> 0.00</td>
517
+
518
+ <td> 1/1</td>
519
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_eval_each_fail_slow_2148403620">Spec::Example::ExampleMethods#eval_each_fail_slow</a></td>
520
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=79" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:79">79</a></td>
521
+ </tr>
522
+
523
+
524
+ <tr class="method">
525
+ <td> 15.00%</td>
526
+ <td> 2.05%</td>
527
+ <td> 0.00</td>
528
+ <td> 0.00</td>
529
+ <td> 0.00</td>
530
+ <td> 0.00</td>
531
+ <td> 1</td>
532
+ <td class="method_name"><a name="Array_each_2148403620">Array#each</a></td>
533
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=0" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:0">0</a></td>
534
+ </tr>
535
+
536
+ <!-- Children -->
537
+
538
+
539
+ <tr>
540
+ <td>&nbsp;</td>
541
+ <td>&nbsp;</td>
542
+ <td> 0.00</td>
543
+ <td> 0.00</td>
544
+ <td> 0.00</td>
545
+ <td> 0.00</td>
546
+
547
+ <td> 1/2</td>
548
+ <td class="method_name"><a href="#Kernel_instance_eval_2148403620">Kernel#instance_eval</a></td>
549
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=81" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:81">81</a></td>
550
+ </tr>
551
+
552
+ <!-- Create divider row -->
553
+ <tr class="break"><td colspan="9"></td></tr>
554
+
555
+
556
+ <!-- Parents -->
557
+
558
+ <tr>
559
+ <td>&nbsp;</td>
560
+ <td>&nbsp;</td>
561
+ <td> 0.00</td>
562
+ <td> 0.00</td>
563
+ <td> 0.00</td>
564
+ <td> 0.00</td>
565
+
566
+ <td> 1/1</td>
567
+ <td class="method_name"><a href="#Kernel_instance_eval_2148403620">Kernel#instance_eval</a></td>
568
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=9" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:9">9</a></td>
569
+ </tr>
570
+
571
+
572
+ <tr class="method">
573
+ <td> 12.73%</td>
574
+ <td> 12.73%</td>
575
+ <td> 0.00</td>
576
+ <td> 0.00</td>
577
+ <td> 0.00</td>
578
+ <td> 0.00</td>
579
+ <td> 1</td>
580
+ <td class="method_name"><a name="Kernel_sleep_2148403620">Kernel#sleep</a></td>
581
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=0" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:0">0</a></td>
582
+ </tr>
583
+
584
+ <!-- Children -->
585
+
586
+ <!-- Create divider row -->
587
+ <tr class="break"><td colspan="9"></td></tr>
588
+
589
+
590
+ <!-- Parents -->
591
+
592
+ <tr>
593
+ <td>&nbsp;</td>
594
+ <td>&nbsp;</td>
595
+ <td> 0.00</td>
596
+ <td> 0.00</td>
597
+ <td> 0.00</td>
598
+ <td> 0.00</td>
599
+
600
+ <td> 1/1</td>
601
+ <td class="method_name"><a href="#Kernel_instance_eval_2148403620">Kernel#instance_eval</a></td>
602
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=87" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:87">87</a></td>
603
+ </tr>
604
+
605
+
606
+ <tr class="method">
607
+ <td> 10.91%</td>
608
+ <td> 7.50%</td>
609
+ <td> 0.00</td>
610
+ <td> 0.00</td>
611
+ <td> 0.00</td>
612
+ <td> 0.00</td>
613
+ <td> 1</td>
614
+ <td class="method_name"><a name="RSpecProf__Profiler_stop_2148403620">RSpecProf::Profiler#stop</a></td>
615
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/lib/rspec-prof/profiler.rb#line=53" title="/Users/colin/projects/gems/rspec-prof/lib/rspec-prof/profiler.rb:53">53</a></td>
616
+ </tr>
617
+
618
+ <!-- Children -->
619
+
620
+
621
+ <tr>
622
+ <td>&nbsp;</td>
623
+ <td>&nbsp;</td>
624
+ <td> 0.00</td>
625
+ <td> 0.00</td>
626
+ <td> 0.00</td>
627
+ <td> 0.00</td>
628
+
629
+ <td> 1/1</td>
630
+ <td class="method_name"><a href="#Hash_[]_2148403620">Hash#[]</a></td>
631
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/lib/rspec-prof/profiler.rb#line=54" title="/Users/colin/projects/gems/rspec-prof/lib/rspec-prof/profiler.rb:54">54</a></td>
632
+ </tr>
633
+
634
+ <!-- Create divider row -->
635
+ <tr class="break"><td colspan="9"></td></tr>
636
+
637
+
638
+ <!-- Parents -->
639
+
640
+ <tr>
641
+ <td>&nbsp;</td>
642
+ <td>&nbsp;</td>
643
+ <td> 0.00</td>
644
+ <td> 0.00</td>
645
+ <td> 0.00</td>
646
+ <td> 0.00</td>
647
+
648
+ <td> 1/1</td>
649
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_run_after_each_2148403620">Spec::Example::ExampleMethods#run_after_each</a></td>
650
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=112" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:112">112</a></td>
651
+ </tr>
652
+
653
+
654
+ <tr class="method">
655
+ <td> 9.09%</td>
656
+ <td> 4.55%</td>
657
+ <td> 0.00</td>
658
+ <td> 0.00</td>
659
+ <td> 0.00</td>
660
+ <td> 0.00</td>
661
+ <td> 1</td>
662
+ <td class="method_name"><a name="Spec__Example__ExampleMethods_example_group_hierarchy_2148403620">Spec::Example::ExampleMethods#example_group_hierarchy</a></td>
663
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=146" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:146">146</a></td>
664
+ </tr>
665
+
666
+ <!-- Children -->
667
+
668
+
669
+ <tr>
670
+ <td>&nbsp;</td>
671
+ <td>&nbsp;</td>
672
+ <td> 0.00</td>
673
+ <td> 0.00</td>
674
+ <td> 0.00</td>
675
+ <td> 0.00</td>
676
+
677
+ <td> 1/1</td>
678
+ <td class="method_name"><a href="#Spec__Example__ExampleGroupMethods_example_group_hierarchy_2148403620">Spec::Example::ExampleGroupMethods#example_group_hierarchy</a></td>
679
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=147" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:147">147</a></td>
680
+ </tr>
681
+
682
+
683
+ <tr>
684
+ <td>&nbsp;</td>
685
+ <td>&nbsp;</td>
686
+ <td> 0.00</td>
687
+ <td> 0.00</td>
688
+ <td> 0.00</td>
689
+ <td> 0.00</td>
690
+
691
+ <td> 1/1</td>
692
+ <td class="method_name"><a href="#Kernel_class_2148403620">Kernel#class</a></td>
693
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=147" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:147">147</a></td>
694
+ </tr>
695
+
696
+ <!-- Create divider row -->
697
+ <tr class="break"><td colspan="9"></td></tr>
698
+
699
+
700
+ <!-- Parents -->
701
+
702
+ <tr>
703
+ <td>&nbsp;</td>
704
+ <td>&nbsp;</td>
705
+ <td> 0.00</td>
706
+ <td> 0.00</td>
707
+ <td> 0.00</td>
708
+ <td> 0.00</td>
709
+
710
+ <td> 1/1</td>
711
+ <td class="method_name"><a href="#Spec__Example__ExampleGroupHierarchy_after_each_parts_2148403620">Spec::Example::ExampleGroupHierarchy#after_each_parts</a></td>
712
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=37" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:37">37</a></td>
713
+ </tr>
714
+
715
+
716
+ <tr class="method">
717
+ <td> 8.18%</td>
718
+ <td> 4.32%</td>
719
+ <td> 0.00</td>
720
+ <td> 0.00</td>
721
+ <td> 0.00</td>
722
+ <td> 0.00</td>
723
+ <td> 1</td>
724
+ <td class="method_name"><a name="Array_collect_2148403620">Array#collect</a></td>
725
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=0" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:0">0</a></td>
726
+ </tr>
727
+
728
+ <!-- Children -->
729
+
730
+
731
+ <tr>
732
+ <td>&nbsp;</td>
733
+ <td>&nbsp;</td>
734
+ <td> 0.00</td>
735
+ <td> 0.00</td>
736
+ <td> 0.00</td>
737
+ <td> 0.00</td>
738
+
739
+ <td> 3/3</td>
740
+ <td class="method_name"><a href="#Spec__Example__BeforeAndAfterHooks_after_each_parts_2148403620">Spec::Example::BeforeAndAfterHooks#after_each_parts</a></td>
741
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=37" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:37">37</a></td>
742
+ </tr>
743
+
744
+ <!-- Create divider row -->
745
+ <tr class="break"><td colspan="9"></td></tr>
746
+
747
+
748
+ <!-- Parents -->
749
+
750
+ <tr>
751
+ <td>&nbsp;</td>
752
+ <td>&nbsp;</td>
753
+ <td> 0.00</td>
754
+ <td> 0.00</td>
755
+ <td> 0.00</td>
756
+ <td> 0.00</td>
757
+
758
+ <td> 1/1</td>
759
+ <td class="method_name"><a href="#Spec__Example__ExampleGroupHierarchy_after_each_parts_2148403620">Spec::Example::ExampleGroupHierarchy#after_each_parts</a></td>
760
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=37" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:37">37</a></td>
761
+ </tr>
762
+
763
+
764
+ <tr class="method">
765
+ <td> 5.00%</td>
766
+ <td> 5.00%</td>
767
+ <td> 0.00</td>
768
+ <td> 0.00</td>
769
+ <td> 0.00</td>
770
+ <td> 0.00</td>
771
+ <td> 1</td>
772
+ <td class="method_name"><a name="Array_flatten_2148403620">Array#flatten</a></td>
773
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=0" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:0">0</a></td>
774
+ </tr>
775
+
776
+ <!-- Children -->
777
+
778
+ <!-- Create divider row -->
779
+ <tr class="break"><td colspan="9"></td></tr>
780
+
781
+
782
+ <!-- Parents -->
783
+
784
+ <tr>
785
+ <td>&nbsp;</td>
786
+ <td>&nbsp;</td>
787
+ <td> 0.00</td>
788
+ <td> 0.00</td>
789
+ <td> 0.00</td>
790
+ <td> 0.00</td>
791
+
792
+ <td> 3/3</td>
793
+ <td class="method_name"><a href="#Array_collect_2148403620">Array#collect</a></td>
794
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=37" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:37">37</a></td>
795
+ </tr>
796
+
797
+
798
+ <tr class="method">
799
+ <td> 3.86%</td>
800
+ <td> 3.86%</td>
801
+ <td> 0.00</td>
802
+ <td> 0.00</td>
803
+ <td> 0.00</td>
804
+ <td> 0.00</td>
805
+ <td> 3</td>
806
+ <td class="method_name"><a name="Spec__Example__BeforeAndAfterHooks_after_each_parts_2148403620">Spec::Example::BeforeAndAfterHooks#after_each_parts</a></td>
807
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/before_and_after_hooks.rb#line=53" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/before_and_after_hooks.rb:53">53</a></td>
808
+ </tr>
809
+
810
+ <!-- Children -->
811
+
812
+ <!-- Create divider row -->
813
+ <tr class="break"><td colspan="9"></td></tr>
814
+
815
+
816
+ <!-- Parents -->
817
+
818
+ <tr>
819
+ <td>&nbsp;</td>
820
+ <td>&nbsp;</td>
821
+ <td> 0.00</td>
822
+ <td> 0.00</td>
823
+ <td> 0.00</td>
824
+ <td> 0.00</td>
825
+
826
+ <td> 1/1</td>
827
+ <td class="method_name"><a href="#RSpecProf__Profiler_stop_2148403620">RSpecProf::Profiler#stop</a></td>
828
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/lib/rspec-prof/profiler.rb#line=54" title="/Users/colin/projects/gems/rspec-prof/lib/rspec-prof/profiler.rb:54">54</a></td>
829
+ </tr>
830
+
831
+
832
+ <tr class="method">
833
+ <td> 3.41%</td>
834
+ <td> 3.41%</td>
835
+ <td> 0.00</td>
836
+ <td> 0.00</td>
837
+ <td> 0.00</td>
838
+ <td> 0.00</td>
839
+ <td> 1</td>
840
+ <td class="method_name"><a name="Hash_[]_2148403620">Hash#[]</a></td>
841
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=0" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:0">0</a></td>
842
+ </tr>
843
+
844
+ <!-- Children -->
845
+
846
+ <!-- Create divider row -->
847
+ <tr class="break"><td colspan="9"></td></tr>
848
+
849
+
850
+ <!-- Parents -->
851
+
852
+ <tr>
853
+ <td>&nbsp;</td>
854
+ <td>&nbsp;</td>
855
+ <td> 0.00</td>
856
+ <td> 0.00</td>
857
+ <td> 0.00</td>
858
+ <td> 0.00</td>
859
+
860
+ <td> 1/1</td>
861
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_example_group_hierarchy_2148403620">Spec::Example::ExampleMethods#example_group_hierarchy</a></td>
862
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=147" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:147">147</a></td>
863
+ </tr>
864
+
865
+
866
+ <tr class="method">
867
+ <td> 2.95%</td>
868
+ <td> 2.95%</td>
869
+ <td> 0.00</td>
870
+ <td> 0.00</td>
871
+ <td> 0.00</td>
872
+ <td> 0.00</td>
873
+ <td> 1</td>
874
+ <td class="method_name"><a name="Spec__Example__ExampleGroupMethods_example_group_hierarchy_2148403620">Spec::Example::ExampleGroupMethods#example_group_hierarchy</a></td>
875
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_methods.rb#line=156" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_methods.rb:156">156</a></td>
876
+ </tr>
877
+
878
+ <!-- Children -->
879
+
880
+ <!-- Create divider row -->
881
+ <tr class="break"><td colspan="9"></td></tr>
882
+
883
+
884
+ <!-- Parents -->
885
+
886
+ <tr>
887
+ <td>&nbsp;</td>
888
+ <td>&nbsp;</td>
889
+ <td> 0.00</td>
890
+ <td> 0.00</td>
891
+ <td> 0.00</td>
892
+ <td> 0.00</td>
893
+
894
+ <td> 1/1</td>
895
+ <td class="method_name"><a href="#Spec__Example__ExampleGroupHierarchy_after_each_parts_2148403620">Spec::Example::ExampleGroupHierarchy#after_each_parts</a></td>
896
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb#line=37" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_group_hierarchy.rb:37">37</a></td>
897
+ </tr>
898
+
899
+
900
+ <tr class="method">
901
+ <td> 2.95%</td>
902
+ <td> 2.95%</td>
903
+ <td> 0.00</td>
904
+ <td> 0.00</td>
905
+ <td> 0.00</td>
906
+ <td> 0.00</td>
907
+ <td> 1</td>
908
+ <td class="method_name"><a name="Array_reverse_2148403620">Array#reverse</a></td>
909
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=0" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:0">0</a></td>
910
+ </tr>
911
+
912
+ <!-- Children -->
913
+
914
+ <!-- Create divider row -->
915
+ <tr class="break"><td colspan="9"></td></tr>
916
+
917
+
918
+ <!-- Parents -->
919
+
920
+ <tr>
921
+ <td>&nbsp;</td>
922
+ <td>&nbsp;</td>
923
+ <td> 0.00</td>
924
+ <td> 0.00</td>
925
+ <td> 0.00</td>
926
+ <td> 0.00</td>
927
+
928
+ <td> 1/1</td>
929
+ <td class="method_name"><a href="#Spec__Example__ExampleMethods_example_group_hierarchy_2148403620">Spec::Example::ExampleMethods#example_group_hierarchy</a></td>
930
+ <td><a href="file:///Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb#line=147" title="/Users/colin/.rvm/gems/ruby-1.8.7-p174/gems/rspec-1.3.0/lib/spec/example/example_methods.rb:147">147</a></td>
931
+ </tr>
932
+
933
+
934
+ <tr class="method">
935
+ <td> 1.59%</td>
936
+ <td> 1.59%</td>
937
+ <td> 0.00</td>
938
+ <td> 0.00</td>
939
+ <td> 0.00</td>
940
+ <td> 0.00</td>
941
+ <td> 1</td>
942
+ <td class="method_name"><a name="Kernel_class_2148403620">Kernel#class</a></td>
943
+ <td><a href="file:///Users/colin/projects/gems/rspec-prof/ruby_runtime#line=0" title="/Users/colin/projects/gems/rspec-prof/ruby_runtime:0">0</a></td>
944
+ </tr>
945
+
946
+ <!-- Children -->
947
+
948
+ <!-- Create divider row -->
949
+ <tr class="break"><td colspan="9"></td></tr>
950
+
951
+ </table>
952
+
953
+ </body>
954
+ </html>