Sha256: 7db42f24e546843f98cec68d0263619656c20ed6f8d008869c23f8560f9c4499

Contents?: true

Size: 1.06 KB

Versions: 1

Compression:

Stored size: 1.06 KB

Contents

require "morlock/version"
require 'morlock/base'

class Morlock
  class MorlockRailtie < ::Rails::Railtie
    def self.setup_for_mem_cache_store
      if Rails.cache.instance_variable_get(:@data)
        Rails.module_eval do
          class << self
            def morlock
              @@morlock ||= Morlock.new(Rails.cache.instance_variable_get(:@data))
            end
          end
        end
      end
    end

    def self.setup_for_dalli_store
      self.setup_for_mem_cache_store
    end

    def self.detect_memcache_gem
      if defined?(ActiveSupport::Cache::MemCacheStore) && Rails.cache.is_a?(ActiveSupport::Cache::MemCacheStore)
        setup_for_mem_cache_store
      elsif defined?(ActiveSupport::Cache::DalliStore) && Rails.cache.is_a?(ActiveSupport::Cache::DalliStore)
        setup_for_dalli_store
      else
        Rails.logger.warn "WARNING: Morlock detected that you are not using the Rails ActiveSupport::Cache::MemCacheStore.  Rails.morlock will not be setup."
      end

    end

    config.after_initialize do
      detect_memcache_gem
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
morlock-0.0.3 lib/morlock/rails.rb