Module: BenchmarkDriver::DefaultJobParser
- Defined in:
- lib/benchmark_driver/default_job_parser.rb
Class Method Summary collapse
-
.for(klass) ⇒ Object
Build default JobParser for given job klass.
Instance Method Summary collapse
-
#parse(prelude: nil, benchmark:, teardown: nil, loop_count: nil) ⇒ Array<BenchmarkDriver::Default::Job>
This method is dynamically called by
BenchmarkDriver::JobParser.parse.
Class Method Details
.for(klass) ⇒ Object
Build default JobParser for given job klass
4 5 6 7 8 9 10 11 12 13 |
# File 'lib/benchmark_driver/default_job_parser.rb', line 4 def self.for(klass) Module.new.tap do |parser| class << parser include DefaultJobParser end parser.define_singleton_method(:job_class) do klass end end end |
Instance Method Details
#parse(prelude: nil, benchmark:, teardown: nil, loop_count: nil) ⇒ Array<BenchmarkDriver::Default::Job>
This method is dynamically called by BenchmarkDriver::JobParser.parse
21 22 23 24 25 26 27 |
# File 'lib/benchmark_driver/default_job_parser.rb', line 21 def parse(prelude: nil, benchmark:, teardown: nil, loop_count: nil) parse_benchmark(benchmark).each do |job| job.prelude.prepend("#{prelude}\n") if prelude job.teardown.prepend("#{teardown}\n") if teardown job.loop_count ||= loop_count end.each(&:freeze) end |