lib/flipper/adapters/mongo/document.rb in flipper-mongo-0.2.2 vs lib/flipper/adapters/mongo/document.rb in flipper-mongo-0.3.0
- old
+ new
@@ -15,40 +15,43 @@
@criteria = {:_id => @id}
@mongo_options = {:safe => true, :upsert => true}
end
def read(key)
- source[key]
+ source[key.to_s]
end
def write(key, value)
- @collection.update @criteria, {'$set' => {key => value}}, @mongo_options
- @source[key] = value
+ value = value.to_s
+ @collection.update @criteria, {'$set' => {key.to_s => value}}, @mongo_options
+ @source[key.to_s] = value
end
def delete(key)
- @collection.update @criteria, {'$unset' => {key => 1}}, @mongo_options
- @source.delete key
+ @collection.update @criteria, {'$unset' => {key.to_s => 1}}, @mongo_options
+ @source.delete key.to_s
end
def set_members(key)
- members = source.fetch(key) { @source[key] = Set.new }
+ members = source.fetch(key.to_s) { @source[key.to_s] = Set.new }
if members.is_a?(Array)
- @source[key] = members.to_set
+ @source[key.to_s] = members.to_set
else
members
end
end
def set_add(key, value)
- @collection.update @criteria, {'$addToSet' => {key => value}}, @mongo_options
- set_members(key).add(value)
+ value = value.to_s
+ @collection.update @criteria, {'$addToSet' => {key.to_s => value}}, @mongo_options
+ set_members(key.to_s).add(value)
end
def set_delete(key, value)
- @collection.update @criteria, {'$pull' => {key => value}}, @mongo_options
- set_members(key).delete(value)
+ value = value.to_s
+ @collection.update @criteria, {'$pull' => {key.to_s => value}}, @mongo_options
+ set_members(key.to_s).delete(value)
end
def clear
@loaded = nil
@source.clear