Sha256: 4ddce53b73a91cbda82b6f56091e01eff980cc13f0b4afe56b1e1354d5875695
Contents?: true
Size: 1006 Bytes
Versions: 2
Compression:
Stored size: 1006 Bytes
Contents
# frozen_string_literal: true require_relative 'autoload' class Validations include Settings def self.validate_name(name) raise "Name shouldn't be empty" if name.empty? raise 'Name should be string' if name.class != String raise 'Name should be at least 3 characters long' if name.length < Settings::NAME_MIN_LENGTH raise "Name shouldn't be more than 20 characters long" if name.length > Settings::NAME_MAX_LENGTH end def self.validate_guess(guess) raise "Guess shouldn't be empty" if guess.empty? raise "Guess should be 4 characters. Got #{guess}" if guess.length < Settings::GUESS_LENGTH raise 'Guess shouldn\'t be more than 4 characters long' if guess.length > Settings::GUESS_LENGTH end def self.validate_difficulty(difficulty) raise "Input shouldn't be empty" if difficulty.empty? return if Settings::DIFFICULTY.keys.include?(difficulty) raise "You should enter one of the following options: #{Settings::DIFFICULTY.keys.join(', ')}" end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
codebreaker_kirill-1.2.4 | lib/codebreaker_kirill/validations.rb |
codebreaker_kirill-1.2.3 | lib/codebreaker_kirill/validations.rb |