pry-auto_benching.rb 2.6.4 → 2.7.0

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.
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