Sha256: 3816866fb5fe2a81b40874e6dc0303ceb0102fd98db9e7e7158277a0dbf1629e

Contents?: true

Size: 682 Bytes

Versions: 2

Compression:

Stored size: 682 Bytes

Contents

# require 'active_support/core_ext/module/attribute_accessors'

module ActiveList

  module Renderers

    def self.[](name)
      ActiveList.renderers[name]
    end

    autoload :AbstractRenderer, 'active_list/renderers/abstract_renderer'
    autoload :SimpleRenderer,   'active_list/renderers/simple_renderer'
  end

  mattr_reader :renderers
  @@renderers = {}

  def self.register_renderer(name, renderer)
    raise ArgumentError.new("A renderer must be ActiveList::Renderers::Renderer") unless renderer < ActiveList::Renderers::AbstractRenderer
    @@renderers[name] = renderer
  end

end

ActiveList.register_renderer(:simple_renderer, ActiveList::Renderers::SimpleRenderer)

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
active-list-5.0.1 lib/active_list/renderers.rb
active-list-5.0.0 lib/active_list/renderers.rb