Sha256: 97e12bfee4a68cc88651d3ec9bebc2e27d3f350ccaf55183e00e4e9c62fff6a7

Contents?: true

Size: 543 Bytes

Versions: 2

Compression:

Stored size: 543 Bytes

Contents

class Mysql2QueryFilter::QueryFilter
  def initialize
    @filters = []
  end

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

  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

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

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mysql2_query_filter-0.0.7 lib/mysql2_query_filter/query_filter.rb
mysql2_query_filter-0.0.6 lib/mysql2_query_filter/query_filter.rb