diaspora/lib/postzord/receiver.rb

23 lines
679 B
Ruby

# Copyright (c) 2010-2011, Diaspora Inc. This file is
# licensed under the Affero General Public License version 3 or later. See
# the COPYRIGHT file.
class Postzord::Receiver
require File.join(Rails.root, 'lib/postzord/receiver/private')
require File.join(Rails.root, 'lib/postzord/receiver/public')
def perform!
if self.receive!
self.update_cache! if cache?
end
end
# @return [Boolean]
def cache?
self.respond_to?(:update_cache!) && RedisCache.configured? &&
@object.respond_to?(:triggers_caching?) && @object.triggers_caching? &&
@object.respond_to?(:type) && RedisCache.acceptable_types.include?(@object.type)
end
end