class Balboa::CLI::Command::PunchCommand
Public Class Methods
new(interactor, cli)
click to toggle source
# File lib/balboa/cli/command/punch_command.rb, line 9 def initialize(interactor, cli) @interactor = interactor @cli = cli end
Public Instance Methods
execute()
click to toggle source
# File lib/balboa/cli/command/punch_command.rb, line 14 def execute punch_dates.reject! { |date| skip_date?(date) } punch_dates.each { |date| @interactor.punch(date) } command_output end
Private Instance Methods
command_output()
click to toggle source
# File lib/balboa/cli/command/punch_command.rb, line 30 def command_output punch_dates.map do |date| "\n#{date.strftime('%d/%m/%Y')}" end.join end
last_punch_date()
click to toggle source
# File lib/balboa/cli/command/punch_command.rb, line 48 def last_punch_date Date.parse(@interactor.last) + 1 end
punch_dates()
click to toggle source
# File lib/balboa/cli/command/punch_command.rb, line 24 def punch_dates @punch_dates ||= (last_punch_date..(Date.today - 1)).map do |date| Balboa::PunchDate.new(date, @cli) end end
skip_date?(punch_date)
click to toggle source
# File lib/balboa/cli/command/punch_command.rb, line 36 def skip_date?(punch_date) !punch_date.punchable? || skips_include?(punch_date) end
skipped_dates()
click to toggle source
# File lib/balboa/cli/command/punch_command.rb, line 44 def skipped_dates @interactor.options['skips'] end
skips_include?(punch_date)
click to toggle source
# File lib/balboa/cli/command/punch_command.rb, line 40 def skips_include?(punch_date) skipped_dates.include?(punch_date.to_date) end