Module: Remnant::Database::ClassMethods
- Included in:
- Remnant::Database
- Defined in:
- lib/remnant/database.rb
Instance Method Summary collapse
- #disable! ⇒ Object
- #enable! ⇒ Object
- #enabled? ⇒ Boolean
- #queries ⇒ Object
- #record(sql, backtrace = [], &block) ⇒ Object
- #reset ⇒ Object
- #suppress? ⇒ Boolean
- #total_time ⇒ Object
- #unsuppress! ⇒ Object
Instance Method Details
#disable! ⇒ Object
4 5 6 |
# File 'lib/remnant/database.rb', line 4 def disable! @enabled = false end |
#enable! ⇒ Object
8 9 10 |
# File 'lib/remnant/database.rb', line 8 def enable! @enabled = true end |
#enabled? ⇒ Boolean
12 13 14 |
# File 'lib/remnant/database.rb', line 12 def enabled? @enabled end |
#queries ⇒ Object
40 41 42 |
# File 'lib/remnant/database.rb', line 40 def queries Thread.current['remnant.database.queries'] ||= [] end |
#record(sql, backtrace = [], &block) ⇒ Object
24 25 26 27 28 29 30 31 32 |
# File 'lib/remnant/database.rb', line 24 def record(sql, backtrace = [], &block) return block.call unless Remnant::Database.enabled? start_time = Time.now result = block.call queries << Remnant::Database::Query.new(sql, Time.now - start_time, backtrace) return result end |
#reset ⇒ Object
34 35 36 37 38 |
# File 'lib/remnant/database.rb', line 34 def reset @suppress = true @total_time = nil Thread.current['remnant.database.queries'] = [] end |
#suppress? ⇒ Boolean
20 21 22 |
# File 'lib/remnant/database.rb', line 20 def suppress? @suppress || true end |
#total_time ⇒ Object
44 45 46 |
# File 'lib/remnant/database.rb', line 44 def total_time @total_time ||= queries.map(&:time).sum * 1000 end |
#unsuppress! ⇒ Object
16 17 18 |
# File 'lib/remnant/database.rb', line 16 def unsuppress! @suppress = false end |