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