2 class DynamicFinderMatch
4 df_match
= self.new(method
)
5 df_match
.finder
? df_match
: nil
11 when /^find_(all_by|last_by|by)_([_a-zA-Z]\w*)$/
12 @finder = :last if $1 == 'last_by'
13 @finder = :all if $1 == 'all_by'
15 when /^find_by_([_a-zA-Z]\w*)\!$/
18 when /^find_or_(initialize|create)_by_([_a-zA-Z]\w*)$/
19 @instantiator = $1 == 'initialize' ? :new : :create
24 @attribute_names = names
&& names
.split('_and_')
27 attr_reader
:finder, :attribute_names, :instantiator
30 !@finder.nil? && @instantiator.nil?
34 @finder == :first && !@instantiator.nil?