Module: Sheng::Filters
- Defined in:
- lib/sheng/filters.rb,
lib/sheng/filters/base.rb,
lib/sheng/filters/string_filter.rb,
lib/sheng/filters/numeric_filter.rb,
lib/sheng/filters/currency_formatting_filter.rb
Defined Under Namespace
Classes: Base, CurrencyFormattingFilter, NumericFilter, StringFilter, UnsupportedFilterError
Class Method Summary
collapse
Class Method Details
.filter_for(filter_string) ⇒ Object
10
11
12
13
14
15
16
|
# File 'lib/sheng/filters.rb', line 10
def filter_for(filter_string)
filter_method, args_list = filter_string.split(/[\(\)]/)
args = (args_list || "").split(/\s*,\s*/).map { |arg| Sheng::Support.typecast_numeric(arg) }
filter_class = registry[filter_method.to_sym]
raise UnsupportedFilterError.new(filter_string) unless filter_class
filter_class.new(method: filter_method, arguments: args)
end
|
.registry ⇒ Object
6
7
8
|
# File 'lib/sheng/filters.rb', line 6
def registry
@registry ||= {}
end
|