Module: FinderFilter
- Defined in:
- lib/finder_filter.rb
Instance Method Summary collapse
Instance Method Details
#finder_filter(*args) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/finder_filter.rb', line 2 def finder_filter(*args) = args. name = args.empty? ? controller_name.singularize : args.first by = .delete(:by) param = .delete(:param) || :id before_filter "find_#{name}", define_method "find_#{name}" do klass = name.to_s.classify.constantize item = by ? klass.send("find_by_#{by}", params[param]) : klass.find(params[param]) instance_variable_set("@#{name}", item) end end |