class Shirka::Controller
Attributes
app[R]
components[R]
data[R]
parent[RW]
view[W]
Public Class Methods
new(app, parent=nil, data=nil)
click to toggle source
# File lib/shirka/controller.rb, line 11 def initialize(app, parent=nil, data=nil) @app = app @parent = parent @components = Components.new @data = data watch @app init data end
Public Instance Methods
add_component(component, slot=nil)
click to toggle source
# File lib/shirka/controller.rb, line 43 def add_component(component, slot=nil) component.parent = self @components.add slot, component component.on_component_adding view.on_view_adding component.view, slot end
add_item(text='', controller_class=nil)
click to toggle source
# File lib/shirka/controller.rb, line 37 def add_item(text='', controller_class=nil) controller_class ||= item_controller_class comp = controller_class.new app, self, text add_component comp end
init(data)
click to toggle source
# File lib/shirka/controller.rb, line 20 def init(data) end
item_controller_class()
click to toggle source
# File lib/shirka/controller.rb, line 32 def item_controller_class name = self.class.to_s.sub(/Controller$/, 'ItemController') Object.const_get name rescue ::Shirka::Controller end
on_component_added(data=nil)
click to toggle source
# File lib/shirka/controller.rb, line 53 def on_component_added(data=nil) end
on_component_adding(data=nil)
click to toggle source
# File lib/shirka/controller.rb, line 50 def on_component_adding(data=nil) end
view()
click to toggle source
# File lib/shirka/controller.rb, line 28 def view @view ||= view_class.new self end
view_class()
click to toggle source
# File lib/shirka/controller.rb, line 23 def view_class name = self.class.to_s.sub(/Controller$/, 'View') Object.const_get name rescue ::Shirka::View end