Sha256: e562356d9615e63f351f51f55e33532770cfc835aa6d7b336958dd18c0a7d4e5

Contents?: true

Size: 1022 Bytes

Versions: 56

Compression:

Stored size: 1022 Bytes

Contents

module Plutonium
  module Core
    module Definers
      module AssociationRendererDefiner
        extend ActiveSupport::Concern
        include Plutonium::Core::Autodiscovery::AssociationRendererDiscoverer

        def defined_association_renderers_for(*names)
          (names - association_renderer_definitions.keys).each do |name|
            define_association_renderer(name, renderer: autodiscover_association_renderer(name))
          end
          association_renderer_definitions.slice(*names)
        end

        private

        def association_renderer_definitions = @association_renderer_definitions ||= {}

        def define_association_renderer(name, renderer: nil, **options)
          association_renderer_definitions[name] = if renderer.present?
            renderer
          else
            autodiscover_association_renderer(name)
          end
        end

        def association_renderer_defined?(name)
          association_renderer_definitions.key? name
        end
      end
    end
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
plutonium-0.16.5 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.16.4 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.16.3 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.16.1 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.16.0 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.24 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.23 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.22 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.21 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.20 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.19 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.18 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.17 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.16 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.15 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.14 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.13 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.12 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.11 lib/plutonium/core/definers/association_renderer_definer.rb
plutonium-0.15.10 lib/plutonium/core/definers/association_renderer_definer.rb