Class: RailsConsolePro::Commands::Comparator::Runner
- Inherits:
-
Object
- Object
- RailsConsolePro::Commands::Comparator::Runner
- Defined in:
- lib/rails_console_pro/commands/compare_command.rb
Overview
Internal runner that collects comparison data
Instance Attribute Summary collapse
-
#comparisons ⇒ Object
readonly
Returns the value of attribute comparisons.
-
#config ⇒ Object
readonly
Returns the value of attribute config.
Instance Method Summary collapse
- #build_result ⇒ Object
-
#initialize(config) ⇒ Runner
constructor
A new instance of Runner.
- #run(name, &block) ⇒ Object
Constructor Details
#initialize(config) ⇒ Runner
Returns a new instance of Runner.
53 54 55 56 |
# File 'lib/rails_console_pro/commands/compare_command.rb', line 53 def initialize(config) @config = config @comparisons = [] end |
Instance Attribute Details
#comparisons ⇒ Object (readonly)
Returns the value of attribute comparisons.
51 52 53 |
# File 'lib/rails_console_pro/commands/compare_command.rb', line 51 def comparisons @comparisons end |
#config ⇒ Object (readonly)
Returns the value of attribute config.
51 52 53 |
# File 'lib/rails_console_pro/commands/compare_command.rb', line 51 def config @config end |
Instance Method Details
#build_result ⇒ Object
66 67 68 69 |
# File 'lib/rails_console_pro/commands/compare_command.rb', line 66 def build_result winner = @comparisons.reject { |c| c.error }.min_by { |c| c.duration_ms || Float::INFINITY } CompareResult.new(comparisons: @comparisons, winner: winner) end |
#run(name, &block) ⇒ Object
58 59 60 61 62 63 64 |
# File 'lib/rails_console_pro/commands/compare_command.rb', line 58 def run(name, &block) return unless block_given? comparison = execute_comparison(name, block) @comparisons << comparison comparison end |