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



84
85
86
# File 'motion-prime/screens/_base_mixin.rb', line 84

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

#before_render(*method_names, &block) ⇒ Object



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

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

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



98
99
100
# File 'motion-prime/screens/_base_mixin.rb', line 98

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

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



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

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



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

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