module Pakyow::Application::Behavior::Presenter::Modes
Attributes
__ui_modes[RW]
Public Class Methods
new(*)
click to toggle source
Calls superclass method
# File lib/pakyow/application/behavior/presenter/modes.rb, line 42 def initialize(*) @__ui_modes = Hash[ self.class.__ui_modes.map { |name, block| [name, wrap_mode_block(block)] } ] super end
Public Instance Methods
mode(name, &block)
click to toggle source
# File lib/pakyow/application/behavior/presenter/modes.rb, line 21 def mode(name, &block) @__ui_modes[name.to_sym] = wrap_mode_block(block) end
Private Instance Methods
wrap_mode_block(block)
click to toggle source
# File lib/pakyow/application/behavior/presenter/modes.rb, line 25 def wrap_mode_block(block) if is_a?(Plugin) wrap_mode_block_for_plug(self, block) else Proc.new do |connection| isolated(:ModeCallContext).new(connection).instance_eval(&block) end end end
wrap_mode_block_for_plug(plug, block)
click to toggle source
# File lib/pakyow/application/behavior/presenter/modes.rb, line 35 def wrap_mode_block_for_plug(plug, block) Proc.new do |connection| plug.helper_caller(:passive, connection, plug).instance_eval(&block) end end