Sha256: 6529874164e901af5eb47945c3e99f6cb6a1ad6d8b7b8a8f50c27485592ea999

Contents?: true

Size: 572 Bytes

Versions: 2

Compression:

Stored size: 572 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::Base
      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

  def clear!
    @filters.clear
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mysql2_query_filter-0.1.1 lib/mysql2_query_filter/query_filter.rb
mysql2_query_filter-0.1.0 lib/mysql2_query_filter/query_filter.rb