module Granite::Action::Projectors::ClassMethods

Public Instance Methods

_projectors() click to toggle source
# File lib/granite/action/projectors.rb, line 76
def _projectors
  @_projectors ||= ProjectorsCollection.new(self)
end
projector(name, options = {}, &block) click to toggle source
# File lib/granite/action/projectors.rb, line 84
        def projector(name, options = {}, &block)
          _projectors.store(name, options, &block)

          class_eval <<-METHOD, __FILE__, __LINE__ + 1
            def self.#{name}
              _projectors.fetch(:#{name})
            end

            def #{name}
              @#{name} ||= self.class._projectors.fetch(:#{name}).new(self)
            end
          METHOD
        end
projector_names() click to toggle source
# File lib/granite/action/projectors.rb, line 80
def projector_names
  _projectors.names
end