Methods
Attributes
| [R] | matchers | |
| [R] | attribute_names | |
| [R] | model | |
| [R] | name |
Class Public methods
match(model, name) Link
Source: show
# File activerecord/lib/active_record/dynamic_matchers.rb, line 32 def match(model, name) klass = matchers.find { |k| k.pattern.match?(name) } klass.new(model, name) if klass end
new(model, method_name) Link
Source: show
# File activerecord/lib/active_record/dynamic_matchers.rb, line 52 def initialize(model, method_name) @model = model @name = method_name.to_s @attribute_names = @name.match(self.class.pattern)[1].split("_and_") @attribute_names.map! { |name| @model.attribute_aliases[name] || name } end
pattern() Link
Source: show
# File activerecord/lib/active_record/dynamic_matchers.rb, line 37 def pattern @pattern ||= /\A#{prefix}_([_a-zA-Z]\w*)#{suffix}\Z/ end
prefix() Link
Source: show
# File activerecord/lib/active_record/dynamic_matchers.rb, line 41 def prefix raise NotImplementedError end
suffix() Link
Source: show
# File activerecord/lib/active_record/dynamic_matchers.rb, line 45 def suffix "" end