Module: MotionPrime::ScreenBaseMixin::ClassMethods

Defined in:
motion-prime/screens/_base_mixin.rb

Overview

Class methods

Instance Method Summary collapse

Instance Method Details

#after_render(*method_names, &block) ⇒ Object



82
83
84
# File 'motion-prime/screens/_base_mixin.rb', line 82

def after_render(*method_names, &block)
  set_callback :render, :after, *method_names, &block
end

#before_render(*method_names, &block) ⇒ Object



79
80
81
# File 'motion-prime/screens/_base_mixin.rb', line 79

def before_render(*method_names, &block)
  set_callback :render, :before, *method_names, &block
end

#create_tab_bar(screens, options = {}) ⇒ Object



96
97
98
# File 'motion-prime/screens/_base_mixin.rb', line 96

def create_tab_bar(screens, options = {})
  MotionPrime::TabBarController.new(screens, options)
end

#create_with_options(screen, navigation = true, options = {}) ⇒ Object



85
86
87
88
89
90
91
92
93
94
# File 'motion-prime/screens/_base_mixin.rb', line 85

def create_with_options(screen, navigation = true, options = {})
  screen = create_tab_bar(screen, options) if screen.is_a?(Array)
  if screen.is_a?(Symbol) || screen.is_a?(String)
    screen_name, action_name = screen.to_s.split('#')
    options[:action] ||= action_name || 'render'
    options[:navigation] = navigation unless options.has_key?(:navigation)
    screen = class_factory("#{screen_name}_screen").new(options)
  end
  screen
end

#title(t = nil, &block) ⇒ Object



72
73
74
75
76
77
78
# File 'motion-prime/screens/_base_mixin.rb', line 72

def title(t = nil, &block)
  if block_given?
    @title = block
  else
    t ? @title = t : @title ||= self.to_s
  end
end