Module: LittleWeasel::Preprocessors::PreprocessedWordValidatable

Defined in:
lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb

Overview

This module provides functionality that validates preprocessed word types. rubocop: disable Layout/LineLength :reek:ManualDispatch, ignored - these methods are raising errors, not performing conditional code execution

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.validate_original_word(preprocessed_word:) ⇒ Object



23
24
25
26
27
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 23

def validate_original_word(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#original_word') unless preprocessed_word.respond_to?(:original_word)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#original_word=') unless preprocessed_word.respond_to?(:original_word=)
end

.validate_prepreprocessed_word(preprocessed_word:) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 11

def validate_prepreprocessed_word(preprocessed_word:)
  validate_original_word preprocessed_word: preprocessed_word
  validate_preprocessed_word preprocessed_word: preprocessed_word
  validate_preprocessed preprocessed_word: preprocessed_word
  validate_preprocessor preprocessed_word: preprocessed_word
  validate_preprocessor_order preprocessed_word: preprocessed_word
end

.validate_preprocessed(preprocessed_word:) ⇒ Object



35
36
37
38
39
40
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 35

def validate_preprocessed(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed') unless preprocessed_word.respond_to?(:preprocessed)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed=') unless preprocessed_word.respond_to?(:preprocessed=)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed?') unless preprocessed_word.respond_to?(:preprocessed?)
end

.validate_preprocessed_word(preprocessed_word:) ⇒ Object



29
30
31
32
33
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 29

def validate_preprocessed_word(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed_word') unless preprocessed_word.respond_to?(:preprocessed_word)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed_word=') unless preprocessed_word.respond_to?(:preprocessed_word=)
end

.validate_preprocessor(preprocessed_word:) ⇒ Object



42
43
44
45
46
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 42

def validate_preprocessor(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessor') unless preprocessed_word.respond_to?(:preprocessor)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessor=') unless preprocessed_word.respond_to?(:preprocessor=)
end

.validate_preprocessor_order(preprocessed_word:) ⇒ Object



48
49
50
51
52
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 48

def validate_preprocessor_order(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessor_order') unless preprocessed_word.respond_to?(:preprocessor_order)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessor_order=') unless preprocessed_word.respond_to?(:preprocessor_order=)
end

.validation_error_message(object:, respond_to:) ⇒ Object



19
20
21
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 19

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

Instance Method Details

#validate_original_word(preprocessed_word:) ⇒ Object (private)



23
24
25
26
27
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 23

def validate_original_word(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#original_word') unless preprocessed_word.respond_to?(:original_word)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#original_word=') unless preprocessed_word.respond_to?(:original_word=)
end

#validate_prepreprocessed_word(preprocessed_word:) ⇒ Object (private)



11
12
13
14
15
16
17
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 11

def validate_prepreprocessed_word(preprocessed_word:)
  validate_original_word preprocessed_word: preprocessed_word
  validate_preprocessed_word preprocessed_word: preprocessed_word
  validate_preprocessed preprocessed_word: preprocessed_word
  validate_preprocessor preprocessed_word: preprocessed_word
  validate_preprocessor_order preprocessed_word: preprocessed_word
end

#validate_preprocessed(preprocessed_word:) ⇒ Object (private)



35
36
37
38
39
40
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 35

def validate_preprocessed(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed') unless preprocessed_word.respond_to?(:preprocessed)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed=') unless preprocessed_word.respond_to?(:preprocessed=)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed?') unless preprocessed_word.respond_to?(:preprocessed?)
end

#validate_preprocessed_word(preprocessed_word:) ⇒ Object (private)



29
30
31
32
33
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 29

def validate_preprocessed_word(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed_word') unless preprocessed_word.respond_to?(:preprocessed_word)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessed_word=') unless preprocessed_word.respond_to?(:preprocessed_word=)
end

#validate_preprocessor(preprocessed_word:) ⇒ Object (private)



42
43
44
45
46
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 42

def validate_preprocessor(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessor') unless preprocessed_word.respond_to?(:preprocessor)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessor=') unless preprocessed_word.respond_to?(:preprocessor=)
end

#validate_preprocessor_order(preprocessed_word:) ⇒ Object (private)



48
49
50
51
52
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 48

def validate_preprocessor_order(preprocessed_word:)
  preprocessed_word_class = preprocessed_word.class
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessor_order') unless preprocessed_word.respond_to?(:preprocessor_order)
  raise validation_error_message(object: preprocessed_word_class, respond_to: '#preprocessor_order=') unless preprocessed_word.respond_to?(:preprocessor_order=)
end

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



19
20
21
# File 'lib/LittleWeasel/preprocessors/preprocessed_word_validatable.rb', line 19

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