class AocCli::Validate
Constants
- E
Public Class Methods
ans(attempt:, ans:)
click to toggle source
# File lib/aoc_cli/errors.rb, line 244 def self.ans(attempt:, ans:) raise E::AnsNil if ans.nil? raise E::AtmptDup.new(ans) if Database::Attempt .new(attempt:attempt).duplicate?(ans:ans) ans end
cmd(cmd)
click to toggle source
# File lib/aoc_cli/errors.rb, line 200 def self.cmd(cmd) raise E::CmdNil if cmd.nil? cmd end
day(day)
click to toggle source
# File lib/aoc_cli/errors.rb, line 220 def self.day(day) raise E::DayNil if day.nil? || day == 0 raise E::DayInv.new(day) if day.to_i < 1 || day.to_i > 25 day end
day_dir(day)
click to toggle source
# File lib/aoc_cli/errors.rb, line 250 def self.day_dir(day) raise E::DayExist.new(day) if Dir.exist?(day) day end
init(dir)
click to toggle source
# File lib/aoc_cli/errors.rb, line 254 def self.init(dir) raise E::NotInit unless File.exist?("#{dir}/.meta") dir end
key(key)
click to toggle source
# File lib/aoc_cli/errors.rb, line 239 def self.key(key) raise E::KeyNil if key.nil? raise E::KeyInv unless valid_key?(key) key end
no_config()
click to toggle source
# File lib/aoc_cli/errors.rb, line 263 def self.no_config raise E::ConfigExist if File.exist?(Paths::Config.path) Paths::Config.path end
not_init(dir:, year:)
click to toggle source
# File lib/aoc_cli/errors.rb, line 258 def self.not_init(dir:, year:) raise E::AlrInit if File.exist?("#{dir}/.meta") && Metafile.get(:year) != year.to_s dir end
part(part)
click to toggle source
# File lib/aoc_cli/errors.rb, line 226 def self.part(part) raise E::PartNil if part.nil? raise E::PuzzComp if part.to_i == 3 raise E::PartInv if part.to_i < 1 || part.to_i > 2 part end
set_key(key)
click to toggle source
# File lib/aoc_cli/errors.rb, line 232 def self.set_key(key) raise E::KeyNil if key.nil? raise E::KeyDup.new(key) if Files::Config::Tools .is_set?(val:"#{key}(\b|$)") raise E::KeyInv unless valid_key?(key) key end
set_user(user)
click to toggle source
# File lib/aoc_cli/errors.rb, line 209 def self.set_user(user) raise E::UserNil if user.nil? raise E::UserDup.new(user) if user_in_config?(user) user end
user(user)
click to toggle source
# File lib/aoc_cli/errors.rb, line 204 def self.user(user) raise E::UserNil if user.nil? raise E::UserInv.new(user) unless user_in_config?(user) user end
year(year)
click to toggle source
# File lib/aoc_cli/errors.rb, line 214 def self.year(year) raise E::YearNil if year.nil? raise E::YearInv.new(year) if year.to_i < 2015 || year.to_i > 2020 year end
Private Class Methods
user_in_config?(user)
click to toggle source
# File lib/aoc_cli/errors.rb, line 271 def self.user_in_config?(user) Files::Config::Tools.is_set?(key:"cookie=>#{user}") end
valid_key?(key)
click to toggle source
# File lib/aoc_cli/errors.rb, line 268 def self.valid_key?(key) /session=(?:[a-f0-9]){96}/.match?(key) end