Module: LittleWeasel::Preprocessors::PreprocessedWordsValidatable

Included in:
WordResults
Defined in:
lib/LittleWeasel/preprocessors/preprocessed_words_validatable.rb

Overview

This module provides methods to validate preprocessed words types. rubocop: disable Layout/LineLength

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.validate_prepreprocessed_words(preprocessed_words:) ⇒ Object

:reek:ManualDispatch, ignored - this is raising an error, not conditional code execution

Raises:

  • (ArgumentError)


13
14
15
16
17
18
19
20
# File 'lib/LittleWeasel/preprocessors/preprocessed_words_validatable.rb', line 13

def validate_prepreprocessed_words(preprocessed_words:)
  raise ArgumentError, validation_error_message(object: preprocessed_words, respond_to: :original_word) unless preprocessed_words.respond_to? :original_word
  raise ArgumentError, validation_error_message(object: preprocessed_words, respond_to: :preprocessed_words) unless preprocessed_words.respond_to? :preprocessed_words

  preprocessed_words&.preprocessed_words&.each do |preprocessed_word|
    PreprocessedWordValidatable.validate_prepreprocessed_word preprocessed_word: preprocessed_word
  end
end

.validation_error_message(object:, respond_to:) ⇒ Object



22
23
24
# File 'lib/LittleWeasel/preprocessors/preprocessed_words_validatable.rb', line 22

def validation_error_message(object:, respond_to:)
  "Argument preprocessed_words does not respond to: #{object.class}##{respond_to}"
end

Instance Method Details

#validate_prepreprocessed_words(preprocessed_words:) ⇒ Object (private)

:reek:ManualDispatch, ignored - this is raising an error, not conditional code execution



13
14
15
16
17
18
19
20
# File 'lib/LittleWeasel/preprocessors/preprocessed_words_validatable.rb', line 13

def validate_prepreprocessed_words(preprocessed_words:)
  raise ArgumentError, validation_error_message(object: preprocessed_words, respond_to: :original_word) unless preprocessed_words.respond_to? :original_word
  raise ArgumentError, validation_error_message(object: preprocessed_words, respond_to: :preprocessed_words) unless preprocessed_words.respond_to? :preprocessed_words

  preprocessed_words&.preprocessed_words&.each do |preprocessed_word|
    PreprocessedWordValidatable.validate_prepreprocessed_word preprocessed_word: preprocessed_word
  end
end

#validation_error_message(object:, respond_to:) ⇒ Object (private)



22
23
24
# File 'lib/LittleWeasel/preprocessors/preprocessed_words_validatable.rb', line 22

def validation_error_message(object:, respond_to:)
  "Argument preprocessed_words does not respond to: #{object.class}##{respond_to}"
end