Sha256: b8d821093a0138f18799625eca9e7dd6df16891098072fa3c97daadb0ab1232e

Contents?: true

Size: 516 Bytes

Versions: 2

Compression:

Stored size: 516 Bytes

Contents

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

  def plugin(name, options = {})
    filter_class = Mysql2QueryFilter::Plugins[name]
    append(filter_class, options)
  end

  def append(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)
    @filters.each do |fltr|
      fltr.filter(sql)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mysql2_query_filter-0.0.2 lib/mysql2_query_filter/query_filter.rb
mysql2_query_filter-0.0.1 lib/mysql2_query_filter/query_filter.rb