cutter 0.8.8 → 0.8.9

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/README.md CHANGED
@@ -34,7 +34,7 @@ Insert ```#inspect!``` method into any of your methods:
34
34
  def your_method *your_args
35
35
  # ...
36
36
 
37
- inspect! {} # curly braces are important!
37
+ inspect! {} # curly braces are important - they capture original environment!
38
38
 
39
39
  # or
40
40
  # iii {} as an alias
@@ -257,6 +257,40 @@ Demonstration of named stamping
257
257
  1001ms
258
258
  ```
259
259
 
260
+ ### Stamper with ```:capture => true``` option
261
+
262
+ Use it to hide the output of piece you are benchmarking.
263
+
264
+ ```ruby
265
+ require 'cutter'
266
+
267
+ N = 100000
268
+
269
+ result = []
270
+
271
+ EMB = "String to embed"
272
+
273
+ result << stamper(:capture => true) do
274
+ N.times do
275
+ puts "#{EMB}\n"
276
+ end
277
+ end
278
+
279
+ result << stamper(:capture => true) do
280
+ N.times do
281
+ printf "#{EMB}\n"
282
+ end
283
+ end
284
+
285
+ result << stamper(:capture => true) do
286
+ N.times do
287
+ print "#{EMB}\n"
288
+ end
289
+ end
290
+
291
+ puts result.inspect
292
+ ```
293
+
260
294
  ## Notes
261
295
 
262
296
  * Both ```#inspect! {}``` and ```#stamper``` methods colorize their output. You can see ```lib/cutter/colored_output.rb``` file to understand how it is done. I will really appreciate any suggestions of how current color scheme can be improved.
@@ -44,7 +44,7 @@ class Object
44
44
  method_name = eval('__method__', _binding)
45
45
  class_name = eval('self.class', _binding)
46
46
 
47
- if (meth = method(method_name.to_sym)).respond_to? :source_location
47
+ if method_name && (meth = method(method_name.to_sym)).respond_to?(:source_location)
48
48
  source_path, source_number = meth.source_location
49
49
  end
50
50
 
@@ -1,3 +1,3 @@
1
1
  module Cutter
2
- VERSION="0.8.8"
2
+ VERSION="0.8.9"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cutter
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.8
4
+ version: 0.8.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-01 00:00:00.000000000 Z
12
+ date: 2012-09-12 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: colorize
@@ -107,7 +107,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
107
107
  version: '0'
108
108
  segments:
109
109
  - 0
110
- hash: 678323535
110
+ hash: 2471605463323976295
111
111
  required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  none: false
113
113
  requirements:
@@ -116,7 +116,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  requirements: []
118
118
  rubyforge_project:
119
- rubygems_version: 1.8.19
119
+ rubygems_version: 1.8.24
120
120
  signing_key:
121
121
  specification_version: 3
122
122
  summary: Ruby tracing gem