Class: Mysql2QueryFilter::QueryFilter

Inherits:
Object
  • Object
show all
Defined in:
lib/mysql2_query_filter/query_filter.rb

Instance Method Summary collapse

Constructor Details

#initializeQueryFilter

Returns a new instance of QueryFilter.



2
3
4
# File 'lib/mysql2_query_filter/query_filter.rb', line 2

def initialize
  @filters = []
end

Instance Method Details

#add(filter_class, options = {}) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/mysql2_query_filter/query_filter.rb', line 11

def add(filter_class, options = {})
  unless filter_class < Mysql2QueryFilter::Plugin::Filter
    raise "Invalid plug-in has been appended: #{filter_class}"
  end

  @filters << filter_class.new(options)
end

#filter(sql, query_options) ⇒ Object



19
20
21
22
23
# File 'lib/mysql2_query_filter/query_filter.rb', line 19

def filter(sql, query_options)
  @filters.each do |fltr|
    fltr.filter(sql, query_options)
  end
end

#plugin(name, options = {}) ⇒ Object



6
7
8
9
# File 'lib/mysql2_query_filter/query_filter.rb', line 6

def plugin(name, options = {})
  filter_class = Mysql2QueryFilter::Plugin.get(name)
  add(filter_class, options)
end