Class: AocCli::Validate

Inherits:
Object
  • Object
show all
Defined in:
lib/aoc_cli/errors.rb

Constant Summary collapse

E =
Errors

Class Method Summary collapse

Class Method Details

.ans(attempt:, ans:) ⇒ Object

Raises:



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

Raises:



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

Raises:



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

Raises:



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

Raises:



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

Raises:



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_configObject

Raises:



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

Raises:



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

Raises:



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

Raises:



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

Raises:



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

Raises:



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

Raises:



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