Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ["name", "brand"].each do |attribute|
- define_method("self.find_by_#{attribute}") do |attr_|
- all.each do |prod|
- return prod if prod.attr_ == attr_
- end
- end
- end
- class Product
- class << self
- [:name, :brand].each do |attribute|
- define_method :"find_by_#{attribute}" do |value|
- all.find {|prod| prod.public_send(attribute) == value }
- end
- end
- end
- end
- class Product
- def self.find_by_name(value)
- all.find {|prod| prod.name == value }
- end
- def self.find_by_brand(value)
- all.find {|prod| prod.brand == value }
- end
- end
- define_method(:my_method) do |foo, bar| # or even |*args|
- # do something
- end
- def my_method(foo, bar)
- # do something
- end
- class MyClass < ActiveRecord::Base
- ["name", "brand"].each do |attribute|
- define_method(:"find_by_#{attribute}") do |attr_|
- first(attribute.to_sym => attr_)
- end
- end
- end
Add Comment
Please, Sign In to add comment