class Haml::Filters
Constants
- CoffeeScript
Attributes
registered[R]
Public Class Methods
new(options = {})
click to toggle source
# File lib/haml/filters.rb, line 55 def initialize(options = {}) @options = options @compilers = {} end
remove_filter(name)
click to toggle source
# File lib/haml/filters.rb, line 26 def remove_filter(name) registered.delete(name.to_s.downcase.to_sym) if constants.map(&:to_s).include?(name.to_s) remove_const name.to_sym end end
Private Class Methods
register(name, compiler)
click to toggle source
# File lib/haml/filters.rb, line 35 def register(name, compiler) registered[name] = compiler end
Public Instance Methods
compile(node)
click to toggle source
# File lib/haml/filters.rb, line 60 def compile(node) node.value[:text] ||= '' find_compiler(node).compile(node) end
Private Instance Methods
find_compiler(node)
click to toggle source
# File lib/haml/filters.rb, line 67 def find_compiler(node) name = node.value[:name].to_sym compiler = Filters.registered[name] raise FilterNotFound.new("FilterCompiler for '#{name}' was not found", node.line.to_i - 1) unless compiler @compilers[name] ||= compiler.new(@options) end