Class: DBProfiler

Inherits:
Object
  • Object
show all
Defined in:
lib/cucumber/blendle/steps/benchmark_steps.rb

Overview

:no-doc:

Class Method Summary collapse

Class Method Details

.queriesObject



128
129
130
# File 'lib/cucumber/blendle/steps/benchmark_steps.rb', line 128

def self.queries
  @count_stringio.string.split("\n").map { |n| n.scan(/-- : (.*?)$/).flatten.first }
end

.queries_onlyObject



136
137
138
# File 'lib/cucumber/blendle/steps/benchmark_steps.rb', line 136

def self.queries_only
  single_quoted_queries.select { |n| n =~ /\(\d/ }
end

.query_countObject



140
141
142
# File 'lib/cucumber/blendle/steps/benchmark_steps.rb', line 140

def self.query_count
  queries_only.count
end

.single_quoted_queriesObject



132
133
134
# File 'lib/cucumber/blendle/steps/benchmark_steps.rb', line 132

def self.single_quoted_queries
  queries.join("\n").tr('"', "'").split("\n")
end

.startObject



117
118
119
120
121
122
# File 'lib/cucumber/blendle/steps/benchmark_steps.rb', line 117

def self.start
  @count_stringio = StringIO.new
  print_logger = Logger.new($stdout)
  print_logger.formatter = proc { |_, _, _, msg| "#{msg}\n" }
  DB.loggers.concat([print_logger, Logger.new(@count_stringio)])
end

.stopObject



124
125
126
# File 'lib/cucumber/blendle/steps/benchmark_steps.rb', line 124

def self.stop
  DB.loggers.clear
end