Class: Footnotes::Notes::QuerySubscriber

Inherits:
ActiveSupport::LogSubscriber
  • Object
show all
Defined in:
lib/rails-footnotes/notes/queries_note.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(orm) ⇒ QuerySubscriber

Returns a new instance of QuerySubscriber.



102
103
104
105
106
# File 'lib/rails-footnotes/notes/queries_note.rb', line 102

def initialize(orm)
  super()
  @events = []
  orm.each {|adapter| ActiveSupport::LogSubscriber.attach_to adapter, self}
end

Instance Attribute Details

#eventsObject

Returns the value of attribute events.



100
101
102
# File 'lib/rails-footnotes/notes/queries_note.rb', line 100

def events
  @events
end

#ignore_regexpsObject

Returns the value of attribute ignore_regexps.



100
101
102
# File 'lib/rails-footnotes/notes/queries_note.rb', line 100

def ignore_regexps
  @ignore_regexps
end

Instance Method Details

#reset!Object



108
109
110
# File 'lib/rails-footnotes/notes/queries_note.rb', line 108

def reset!
  self.events.clear
end

#sql(event) ⇒ Object



112
113
114
115
116
# File 'lib/rails-footnotes/notes/queries_note.rb', line 112

def sql(event)
  unless QueriesNote.ignored_regexps.any? {|rex| event.payload[:sql] =~ rex }
    @events << QuerySubscriberNotifactionEvent.new(event.dup, caller)
  end
end