lib/assimilate/catalog.rb in assimilate-0.0.5 vs lib/assimilate/catalog.rb in assimilate-0.1.0

- old
+ new

@@ -31,14 +31,14 @@ @batches = @db.collection(@config[:batch]) end def check_config config.symbolize_keys! - [:db, :catalog, :batch, :domain, :deletion_marker].each do |key| + [:db, :catalog, :batch, :domain, :deletion_marker, :insertion_marker, :update_marker].each do |key| raise Assimilate::InvalidConfiguration, "missing required parameter: #{key}" unless config[key] end - [:domain, :deletion_marker].each do |key| + [:domain, :deletion_marker, :insertion_marker, :update_marker].each do |key| # enforce leading underscore on internal attributes config[key] = "_#{config[key]}" unless config[key] =~ /^_/ end end @@ -49,11 +49,15 @@ def extend_data(args) Assimilate::Extender.new(args.merge(:catalog => self)) end def where(params) - record = @catalog.find(params).first - record && record.select {|k,v| k !~ /^_/} + records = @catalog.find(params).to_a #.map {|rec| rec.select {|k,v| k !~ /^_/}} + if records.count == 1 + records.first + else + records + end end def active_count @catalog.find(config[:deletion_marker] => nil).count end