pry-auto_benching.rb 2.6.4 → 2.7.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f1536ab1a4afd482c41b8fa7fb0bad1eedbccc8949f986fac318b0666e6c5e54
4
- data.tar.gz: fbf499605a243236d629b8d2c118606305f27d9b38ed85e0ef8a9dcc25bac59b
3
+ metadata.gz: 3ebc6bc90dcaae0756aca8ffe6156a7a51080df77d30c8b8df0d8a36eccb4a64
4
+ data.tar.gz: 88886722771cff694fa7c1703567a3833b6b0e7ebb89ecd9424881bfdb913157
5
5
  SHA512:
6
- metadata.gz: c4b9546f5a929321e98bf8c98f3eafbbb0b4f537a15998be8dfb88c45664441745aac89873da836717b90e376ef3a8fe1285df938d245ff273d2983cf5047712
7
- data.tar.gz: 589c338a699df3b37abe866a1b0f61688dc47b65393c33e7c1891b3b42a75590c84625cfc4afb6d056d56cd06743102243dbc6903d27e3805270098cda3fe7fb
6
+ metadata.gz: c672e7e8572c7f1380ee5dc20cf97b15de73fea7ac4c5739a24c7a92108b5b98c91fcae715bc1ade13cdc41c181e70f93efdec699b094d907ee1c50e2ec61321
7
+ data.tar.gz: 8154a6a1bf2d71c172839b953b9edce185602dc56806b7587717f15a9460cfdf57c82c723f613826d1b42efdfa7203a645865c37c4fea8f41bbdd155179d7cfb
@@ -0,0 +1,31 @@
1
+ require 'pry' if not defined?(Pry::ClassCommand)
2
+ Pry::Commands.add_command Class.new(Pry::ClassCommand) {
3
+ match 'auto-benching'
4
+ command_options argument_required: true
5
+ group 'pry-auto_benching.rb'
6
+ description 'Enable or disable benchmarking.'
7
+ banner <<-CMDBANNER
8
+ Usage: auto-benching [enable|disable]
9
+
10
+ Enable or disable benchmarking code and Pry commands.
11
+ CMDBANNER
12
+
13
+ def options(o)
14
+ o.on :v, :version, 'Display version.'
15
+ end
16
+
17
+ def process(command)
18
+ if opts.v?
19
+ return _pry_.output.puts "pry-auto_benching.rb v#{Pry::AutoBenching::VERSION}"
20
+ end
21
+ if command == 'enable'
22
+ Pry::AutoBenching.enable(_pry_)
23
+ _pry_.pager.page('pry-auto_benching.rb: benchmarking.')
24
+ elsif command == 'disable'
25
+ Pry::AutoBenching.disable(_pry_)
26
+ _pry_.pager.page('pry-auto_benching.rb: stopped benchmarking.')
27
+ else
28
+ raise Pry::CommandError, "'#{command}' is not implemented by this command, try -h for help."
29
+ end
30
+ end
31
+ }
@@ -1,5 +1,5 @@
1
1
  class Pry
2
2
  module AutoBenching
3
- VERSION = "2.6.4"
3
+ VERSION = "2.7.0"
4
4
  end
5
5
  end
@@ -1,4 +1,6 @@
1
1
  module Pry::AutoBenching
2
+ require 'pry-auto_benching/pry_command'
3
+
2
4
  write_duration = -> (pry, duration) {
3
5
  auto_benching = pry.config.auto_benching
4
6
  if auto_benching.target_display == :prompt
@@ -24,19 +26,10 @@ module Pry::AutoBenching
24
26
  AFTER_EVAL = ->(input, pry) do
25
27
  auto_benching = pry.config.auto_benching
26
28
  duration = (sprintf "%.2f", Process.clock_gettime(auto_benching.clock_type) - MEMORY[pry.hash].pop).to_f
27
- if input.nil? # Pry command
28
- if auto_benching.benchmark_commands and
29
- auto_benching.display_duration_if.call(pry, duration)
30
- write_duration.call(pry, duration)
31
- else
32
- pry.config.forget(:prompt_name)
33
- end
34
- else # Ruby code
35
- if auto_benching.display_duration_if.call(pry, duration)
36
- write_duration.call(pry, duration)
37
- else
38
- pry.config.forget(:prompt_name)
39
- end
29
+ if (input != nil or auto_benching.benchmark_commands) and auto_benching.display_duration_if.call(pry, duration)
30
+ write_duration.call(pry, duration)
31
+ else
32
+ pry.config.forget(:prompt_name)
40
33
  end
41
34
  end
42
35
 
@@ -64,38 +57,6 @@ module Pry::AutoBenching
64
57
  end
65
58
  end
66
59
 
67
- require 'pry' if not defined?(Pry::ClassCommand)
68
- Pry::Commands.add_command Class.new(Pry::ClassCommand) {
69
- match 'auto-benching'
70
- command_options argument_required: true
71
- group 'pry-auto_benching.rb'
72
- description 'Enable or disable benchmarking.'
73
- banner <<-CMDBANNER
74
- Usage: auto-benching [enable|disable]
75
-
76
- Enable or disable benchmarking code and Pry commands.
77
- CMDBANNER
78
-
79
- def options(o)
80
- o.on :v, :version, 'Display version.'
81
- end
82
-
83
- def process(command)
84
- if opts.v?
85
- return _pry_.output.puts "pry-auto_benching.rb v#{Pry::AutoBenching::VERSION}"
86
- end
87
- if command == 'enable'
88
- Pry::AutoBenching.enable(_pry_)
89
- _pry_.pager.page('pry-auto_benching.rb: benchmarking.')
90
- elsif command == 'disable'
91
- Pry::AutoBenching.disable(_pry_)
92
- _pry_.pager.page('pry-auto_benching.rb: stopped benchmarking.')
93
- else
94
- raise Pry::CommandError, "'#{command}' is not implemented by this command, try -h for help."
95
- end
96
- end
97
- }
98
-
99
60
  Pry.configure do |config|
100
61
  config.hooks.add_hook :before_session, Pry::AutoBenching::BEFORE_SESSION.hash,
101
62
  Pry::AutoBenching::BEFORE_SESSION
@@ -114,5 +75,5 @@ Pry.configure do |config|
114
75
  :Duration => sprintf("%.2f", duration)
115
76
  })
116
77
  }
117
- }, nil)
78
+ })
118
79
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pry-auto_benching.rb
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.6.4
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Robert Gleeson
@@ -33,6 +33,7 @@ files:
33
33
  - LICENSE.txt
34
34
  - README.md
35
35
  - lib/pry-auto_benching.rb
36
+ - lib/pry-auto_benching/pry_command.rb
36
37
  - lib/pry-auto_benching/version.rb
37
38
  - pry-auto_benching.gemspec
38
39
  homepage: https://github.com/r-obert/pry-auto_benching.rb