Sha256: 6d7d23a452c5937f57429aae71e7fd8502762dcd20dffd94fdd637837fc6b0a7

Contents?: true

Size: 893 Bytes

Versions: 1

Compression:

Stored size: 893 Bytes

Contents

module Plutonium
  module Core
    module Autodiscovery
      module RendererDiscoverer
        extend ActiveSupport::Concern
        include Discoverer

        class_methods do
          def autodiscovery_renderer_cache = @autodiscovery_renderer_cache ||= {}
        end

        private

        # If cache_discovery is enabled, use the class level cache that persists
        # between requests, otherwise use the instance one.
        def autodiscovery_renderer_cache
          if Plutonium::Config.cache_discovery
            self.class.autodiscovery_renderer_cache
          else
            @autodiscovery_renderer_cache ||= {}
          end
        end

        def autodiscover_renderer(name)
          autodiscovery_renderer_cache[name] ||=
            Plutonium::Core::Fields::Renderers::Factory.for_resource_attribute(resource_class, name)
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
plutonium-0.8.0 lib/plutonium/core/autodiscovery/renderer_discoverer.rb