class Posto::Application
Attributes
file[RW]
io[RW]
list[RW]
todos[RW]
Public Class Methods
new(arguments, todos, options = {})
click to toggle source
# File lib/posto/application.rb, line 10 def initialize(arguments, todos, options = {}) @io = options[:io] || STDOUT @list_utility = options[:list_utility] || List @file = options[:file] || Posto::File.new(arguments.filename) @arguments = arguments @todos = todos end
Public Instance Methods
add(todo)
click to toggle source
# File lib/posto/application.rb, line 39 def add(todo) @file.write @todos = @list_utility.add(todos, todo) todo end
commit(n = 1)
click to toggle source
# File lib/posto/application.rb, line 50 def commit(n = 1) @file.commit("#{done(n)}") end
help()
click to toggle source
# File lib/posto/application.rb, line 18 def help @io.puts Posto::Help.help_text end
init()
click to toggle source
# File lib/posto/application.rb, line 61 def init @file.touch nil end
method_missing(symbol, *args)
click to toggle source
# File lib/posto/application.rb, line 66 def method_missing(symbol, *args) STDERR.puts "Unsupported operation '#{symbol} #{args.join "\n"}'" end
oops()
click to toggle source
# File lib/posto/application.rb, line 54 def oops add(`git log -1 --pretty=%B`.strip) @file.write @todos = @list_utility.do_bottom(todos) @file.oops @list_utility.lookup(todos, 1) end
run()
click to toggle source
# File lib/posto/application.rb, line 22 def run @io.puts send(@arguments.command, *@arguments.params) end
start(todo)
click to toggle source
# File lib/posto/application.rb, line 44 def start(todo) add(todo) @file.commit_alone("scheduled '#{todo}'") end
Also aliased as: schedule