class PikoMongoStore::Safe
Public Class Methods
new(db)
click to toggle source
# File lib/piko_mongo_store/safe.rb, line 26 def initialize(db) @db = db end
Public Instance Methods
execute(success_action = nil) { |db| ... }
click to toggle source
# File lib/piko_mongo_store/safe.rb, line 30 def execute(success_action = nil) logger.debug { format "Performing safe action in DB" } handle_result yield(@db), success_action rescue Mongo::Error => e logger.error { format "%s - %s", e.class.name, e.message } false end
Private Instance Methods
handle_result(result, success_action)
click to toggle source
# File lib/piko_mongo_store/safe.rb, line 40 def handle_result(result, success_action) logger.debug { format "DB result: %s", result.inspect } return result.ok? if mongo_operation?(result) result = {} if result.nil? success_action.call(result) if success_action.is_a?(Proc) true end
mongo_operation?(result)
click to toggle source
# File lib/piko_mongo_store/safe.rb, line 48 def mongo_operation?(result) result.is_a?(Mongo::Operation::Result) end