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