Class: QueryDiet::Logger

Inherits:
Object
  • Object
show all
Defined in:
lib/query_diet/logger.rb

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.bad_countObject

Returns the value of attribute bad_count.



5
6
7
# File 'lib/query_diet/logger.rb', line 5

def bad_count
  @bad_count
end

.bad_timeObject

Returns the value of attribute bad_time.



5
6
7
# File 'lib/query_diet/logger.rb', line 5

def bad_time
  @bad_time
end

.countObject

Returns the value of attribute count.



5
6
7
# File 'lib/query_diet/logger.rb', line 5

def count
  @count
end

.timeObject

Returns the value of attribute time.



5
6
7
# File 'lib/query_diet/logger.rb', line 5

def time
  @time
end

Class Method Details

.bad?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/query_diet/logger.rb', line 24

def bad?
  count >= bad_count or time >= bad_time
end

.log(query, &execution) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
# File 'lib/query_diet/logger.rb', line 12

def log(query, &execution)
  result = nil
  seconds = Benchmark.realtime do
    result = execution.call
  end
  if log_query?(query)
    self.time += (seconds * 1000).to_i
    self.count += 1
  end
  result
end

.resetObject



7
8
9
10
# File 'lib/query_diet/logger.rb', line 7

def reset
  self.count = 0
  self.time = 0
end