class ArticleFixtureGen::Config::OptionValidator

Encapsulates validations of configuration option values.

Constants

FATALS

Attributes

errors[R]
options[R]

Public Class Methods

call(options:) click to toggle source
# File lib/article_fixture_gen/config/option_validator.rb, line 9
def self.call(options:)
  OptionValidator.new.call(options)
end
new() click to toggle source
# File lib/article_fixture_gen/config/option_validator.rb, line 13
def initialize
  @errors = []
  self
end

Public Instance Methods

call(options) click to toggle source
# File lib/article_fixture_gen/config/option_validator.rb, line 18
def call(options)
  @options = options
  FATALS.each { |entry| validate_option entry }
  errors
end

Private Instance Methods

fails?(entry) click to toggle source
# File lib/article_fixture_gen/config/option_validator.rb, line 60
def fails?(entry)
  entry[:cond].call(options)
end
report_failure(entry) click to toggle source

Reek and hashes = :reek:FeatureEnvy; aka petrol and flame. FIXME

# File lib/article_fixture_gen/config/option_validator.rb, line 65
def report_failure(entry)
  @errors << [entry[:key], entry[:message]]
end
validate_option(entry) click to toggle source
# File lib/article_fixture_gen/config/option_validator.rb, line 69
def validate_option(entry)
  report_failure(entry) if fails?(entry)
end