module Csv2hash::StructureValidator

Constants

MAX_COLUMN
MIN_COLUMN
RULES_NAME

Public Instance Methods

rule_instance(rule, options) click to toggle source
# File lib/csv2hash/structure_validator.rb, line 27
def rule_instance rule, options
  _rule = check_params rule
  begin
    StructureValidator.const_get(_rule.camelize).new(options)
  rescue NameError => e
    raise "Structure rule #{rule} unknow, please use one of these #{RULES_NAME}"
  end
end
validate_structure!() click to toggle source
# File lib/csv2hash/structure_validator.rb, line 15
def validate_structure!
  definition.structure_rules.each do |rule, options|
    begin
      rule_instance(rule, options).validate! data_source
    rescue => e
      self.errors << { y: nil, x: nil, message: e.message, key: nil }
      raise if break_on_failure
    end
  end
  nil
end