class Tlog::Command::Create
Public Instance Methods
description()
click to toggle source
# File lib/tlog/command/create.rb, line 8 def description "creates a new time log either with no goal or with a goal" end
execute(input, output)
click to toggle source
# File lib/tlog/command/create.rb, line 12 def execute(input, output) raise Tlog::Error::CommandInvalid, "Must specify log name" unless input.args[0] log = Tlog::Entity::Log.new log.name = input.args[0]; create_log(log, input.options) output.line("Created log '#{log.name}'") end
name()
click to toggle source
# File lib/tlog/command/create.rb, line 4 def name "create" end
options(parser, options)
click to toggle source
# File lib/tlog/command/create.rb, line 21 def options(parser, options) parser.banner = "usage: tlog create <log_name>" parser.on("-g", "--goal <goal_length>") do |goal| options[:goal] = goal end parser.on("-s", "--state <initial_state>") do |state| options[:state] = state end parser.on("-p", "--points <initial_points_value>") do |points| options[:points] = points end end
Private Instance Methods
create_log(log, options)
click to toggle source
# File lib/tlog/command/create.rb, line 39 def create_log(log, options) storage.in_branch do |wd| raise Tlog::Error::CommandInvalid, "Time log '#{log.name}' already exists" unless storage.create_log(log, options) end end