class AocCli::Interface::Args

Attributes

args[R]
cmd[R]

Public Class Methods

new() click to toggle source
# File lib/aoc_cli/interface.rb, line 24
def initialize
        @args = {}
end

Public Instance Methods

parse() click to toggle source
# File lib/aoc_cli/interface.rb, line 27
def parse
        while ARGV.size > 0
                case ARGV.shift
                when "-a", "--attempts"
                        @cmd = :AttemptsTable
                when "-B", "--browser"
                        @cmd = :OpenReddit
                        args[:browser] = true
                when "-c", "--simple-cal"
                        @cmd = :CalendarTable
                when "-C", "--fancy-cal"
                        @cmd = :PrintCal
                when "-d", "--init-day"
                        @cmd = :DayInit
                        args[:day]  = Validate.day(ARGV.shift.to_i)
                when "-D", "--day"
                        args[:day]  = ARGV.shift.to_i
                when "-G", "--gen-config"
                        @cmd = :GenerateConfig
                when "-h", "--help"
                        exit Help.print
                when "-k", "--key"
                        @cmd = :KeyStore
                        args[:key]  = Validate.set_key(ARGV.shift)
                when "-p", "--part"
                        args[:part] = ARGV.shift.to_i
                when "-r", "--refresh"
                        @cmd = :Refresh
                when "-R", "--reddit"
                        @cmd = :OpenReddit
                when "-s", "--solve"
                        @cmd = :DaySolve
                        args[:ans]  = ARGV.shift
                when "-S", "--stats"
                        @cmd = :StatsTable
                when "-u", "--user"
                        args[:user] = ARGV.shift
                when "-U", "--default"
                        @cmd = :DefaultAlias
                        args[:user] = ARGV.shift
                when "-v", "--version"
                        abort "aoc-cli(#{VERSION})"
                when "-y", "--init-year"
                        @cmd = :YearInit
                        args[:year] = Validate.year(ARGV.shift.to_i)
                when "-Y", "--year"
                        args[:year] = ARGV.shift.to_i
                else raise Errors::FlagInv
                end 
        end
        self
end