module BibTeX::Filters

Constants

LOAD_PATH

Public Class Methods

resolve(filter) click to toggle source
# File lib/bibtex/filters.rb, line 40
def self.resolve(filter)
  case
  when filter.respond_to?(:apply)
    filter
  when filter.respond_to?(:to_s)
    klass = Filter.subclasses.detect do |c|
      c.name == filter.to_s || c.name.split(/::/)[-1] =~ /^#{filter}$/
    end
    klass && klass.instance
  else
    nil
  end
end
resolve!(filter) click to toggle source
# File lib/bibtex/filters.rb, line 36
def self.resolve!(filter)
  resolve(filter) || raise(ArgumentError, "Failed to load filter #{filter.inspect}")
end