Class: AocCli::Validate
- Inherits:
-
Object
- Object
- AocCli::Validate
- Defined in:
- lib/aoc_cli/errors.rb
Constant Summary collapse
- E =
Errors
Class Method Summary collapse
- .ans(attempt:, ans:) ⇒ Object
- .cmd(cmd) ⇒ Object
- .day(day) ⇒ Object
- .day_dir(day) ⇒ Object
- .init(dir) ⇒ Object
- .key(key) ⇒ Object
- .no_config ⇒ Object
- .not_init(dir:, year:) ⇒ Object
- .part(part) ⇒ Object
- .set_key(key) ⇒ Object
- .set_user(user) ⇒ Object
- .user(user) ⇒ Object
- .year(year) ⇒ Object
Class Method Details
.ans(attempt:, ans:) ⇒ Object
244 245 246 247 248 249 |
# 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) ⇒ Object
200 201 202 203 |
# File 'lib/aoc_cli/errors.rb', line 200 def self.cmd(cmd) raise E::CmdNil if cmd.nil? cmd end |
.day(day) ⇒ Object
220 221 222 223 224 225 |
# 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) ⇒ Object
250 251 252 253 |
# 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) ⇒ Object
254 255 256 257 |
# File 'lib/aoc_cli/errors.rb', line 254 def self.init(dir) raise E::NotInit unless File.exist?("#{dir}/.meta") dir end |
.key(key) ⇒ Object
239 240 241 242 243 |
# 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 ⇒ Object
263 264 265 266 |
# 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:) ⇒ Object
258 259 260 261 262 |
# 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) ⇒ Object
226 227 228 229 230 231 |
# 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) ⇒ Object
232 233 234 235 236 237 238 |
# 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) ⇒ Object
209 210 211 212 213 |
# 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) ⇒ Object
204 205 206 207 208 |
# 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) ⇒ Object
214 215 216 217 218 219 |
# 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 |