lib/faceted/collector.rb in faceted-1.0.1 vs lib/faceted/collector.rb in faceted-1.0.2
- old
+ new
@@ -17,17 +17,23 @@
module ClassMethods
def collects(name, args={})
@fields = [name]
- find_by = args[:find_by] ? args[:find_by] : "#{self.class.name.underscore.singularize}_id"
+ find_by = args[:find_by] ? args[:find_by] : "#{self.name.split('::')[-1].underscore.singularize}_id"
@collects ||= {}
@collects[name.downcase] = eval "#{scope}#{args[:class_name] || name.to_s.classify}"
define_method :"#{name.downcase}" do
objects(name.downcase.to_sym)
end
- define_method :"#{name.downcase}_finder" do
- {"#{find_by}" => self.send(find_by)}
+ if args[:find_by].nil?
+ define_method :"#{name.downcase}_finder" do
+ {"#{find_by}" => self.id}
+ end
+ else
+ define_method :"#{name.downcase}_finder" do
+ {"#{find_by}" => self.send(find_by)}
+ end
end
self.send(:attr_accessor, find_by)
end
def collected_classes
\ No newline at end of file