class Granite::Projector
Attributes
action[R]
Public Class Methods
controller_class()
click to toggle source
# File lib/granite/projector.rb, line 18 def self.controller_class return Granite::Controller unless superclass.respond_to?(:controller_class) @controller_class ||= Class.new(superclass.controller_class).tap do |klass| klass.projector_class = self end end
new(*args)
click to toggle source
# File lib/granite/projector.rb, line 34 def initialize(*args) @action = if args.first.is_a?(Granite::Action) # Temporary solutions for backwards compatibility. args.first else build_action(*args) end end
projector_name()
click to toggle source
# File lib/granite/projector.rb, line 30 def self.projector_name @projector_name ||= name.demodulize.remove(/Projector$/).underscore end
projector_path()
click to toggle source
# File lib/granite/projector.rb, line 26 def self.projector_path @projector_path ||= name.remove(/Projector$/).underscore end
Private Instance Methods
build_action(*args)
click to toggle source
# File lib/granite/projector.rb, line 44 def build_action(*args) action_class.as(self.class.proxy_performer).new(*args) end