class Takeoff::Messages

Attributes

messages[RW]

Public Class Methods

new() click to toggle source
# File lib/project/messages.rb, line 5
def initialize
  self.messages = []
  @launch_key = 'motion_takeoff_launch_count'
  handle_launch
end

Public Instance Methods

schedule(opts={}) click to toggle source
# File lib/project/messages.rb, line 11
def schedule(opts={})
  raise "You must specify a :launch" unless opts[:launch]
  raise "You must specify a :title" unless opts[:title]
  raise "You must specify a :message" unless opts[:message]

  self.messages << opts
end
takeoff() click to toggle source
# File lib/project/messages.rb, line 19
def takeoff
  self.messages.each do |message|
    if message[:launch] == App::Persistence[@launch_key]
      if message.keys.include? :action
        confirm_alert message
      else
        regular_alert message
      end
    end
  end
end

Private Instance Methods

confirm_alert(message) click to toggle source
# File lib/project/messages.rb, line 37
def confirm_alert message
  message = {
    :buttons => ["Cancel", "OK"]
  }.merge(message)

  alert = BW::UIAlertView.default(message) do |alert|
    if alert.clicked_button.title == "OK"
      message[:action].call
    end
  end

  alert.show
end
handle_launch() click to toggle source
# File lib/project/messages.rb, line 51
def handle_launch
  if App::Persistence[@launch_key].nil?
    App::Persistence[@launch_key] = 1
  else
    App::Persistence[@launch_key] = App::Persistence[@launch_key] + 1
  end
end
regular_alert(message) click to toggle source
# File lib/project/messages.rb, line 33
def regular_alert message
  App.alert(message[:title], message:message[:message])
end