class ArticleFixtureGen::Exe::Trollop::Validator

Validates attribute values using evaled code from YAML file.

Attributes

option_data[R]

Public Class Methods

call(option_data) click to toggle source
# File lib/article_fixture_gen/exe/option_parser/trollop/validator.rb, line 10
def self.call(option_data)
  new(option_data).call
end
new(option_data) click to toggle source
# File lib/article_fixture_gen/exe/option_parser/trollop/validator.rb, line 23
def initialize(option_data)
  @option_data = option_data
  self
end

Public Instance Methods

call() click to toggle source
# File lib/article_fixture_gen/exe/option_parser/trollop/validator.rb, line 14
def call
  Internals.validations.map do |validation|
    validate(validation)
  end
  option_data
end

Private Instance Methods

options() click to toggle source
# File lib/article_fixture_gen/exe/option_parser/trollop/validator.rb, line 32
def options
  option_data.options
end
validate(validation) click to toggle source

Reek calls out :reek:FeatureEnvy on `validation`. Pffft.

# File lib/article_fixture_gen/exe/option_parser/trollop/validator.rb, line 37
def validate(validation)
  die_params = [validation[:key], validation[:str]]
  ::Trollop.die(*die_params) if validation_failed?(validation)
  true
end
validation_failed?(validation) click to toggle source
# File lib/article_fixture_gen/exe/option_parser/trollop/validator.rb, line 43
def validation_failed?(validation)
  validation_proc_for(validation).call options
end
validation_proc_for(validation) click to toggle source
# File lib/article_fixture_gen/exe/option_parser/trollop/validator.rb, line 47
def validation_proc_for(validation)
  # rubocop:disable Lint/Eval
  eval(validation[:fails_with])
  # rubocop:enable Lint/Eval
end