Sha256: 6f06123dca2d6bd9ba5f08d14a2cd2a36d6a38163b50084783c71b26d12c5fb3

Contents?: true

Size: 885 Bytes

Versions: 4

Compression:

Stored size: 885 Bytes

Contents

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

        class_methods do
          private

          def autodiscovery_input_cache = @autodiscovery_input_cache ||= {}
        end

        private

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

        def autodiscover_input(name)
          autodiscovery_input_cache[name] ||=
            Plutonium::Core::Fields::Inputs::Factory.for_resource_attribute(resource_class, name)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
plutonium-0.6.2 lib/plutonium/core/autodiscovery/input_discoverer.rb
plutonium-0.6.1 lib/plutonium/core/autodiscovery/input_discoverer.rb
plutonium-0.6.0 lib/plutonium/core/autodiscovery/input_discoverer.rb
plutonium-0.5.0 lib/plutonium/core/autodiscovery/input_discoverer.rb