class Motion::Launchpad::Schedule
Attributes
preferences_key[RW]
Public Class Methods
new(options={}, &block)
click to toggle source
# File lib/motion/launchpad/schedule.rb, line 6 def initialize(options={}, &block) self.preferences_key = options.fetch(:preferences_key, :launch_count) @events = [] handle_launch end
Public Instance Methods
configure() { |self| ... }
click to toggle source
# File lib/motion/launchpad/schedule.rb, line 13 def configure yield(self) if block_given? end
events()
click to toggle source
# File lib/motion/launchpad/schedule.rb, line 25 def events @events.select { |e| e.applicable?(launch_count) } end
on(count, &block)
click to toggle source
# File lib/motion/launchpad/schedule.rb, line 17 def on(count, &block) @events << Event.new(count, block) end
run!()
click to toggle source
# File lib/motion/launchpad/schedule.rb, line 21 def run! events.each { |e| e.call } end
Private Instance Methods
handle_launch()
click to toggle source
# File lib/motion/launchpad/schedule.rb, line 35 def handle_launch if NSUserDefaults.standardUserDefaults[preferences_key].nil? NSUserDefaults.standardUserDefaults[preferences_key] = 1 else NSUserDefaults.standardUserDefaults[preferences_key] = NSUserDefaults.standardUserDefaults[preferences_key] + 1 end end
launch_count()
click to toggle source
# File lib/motion/launchpad/schedule.rb, line 31 def launch_count NSUserDefaults.standardUserDefaults[preferences_key] end