Module: Csv2hash::Validator

Includes:
Discover
Included in:
Collection, Mapping
Defined in:
lib/csv2hash/validator.rb,
lib/csv2hash/validator/mapping.rb,
lib/csv2hash/validator/collection.rb

Defined Under Namespace

Modules: Collection, Mapping

Instance Method Summary collapse

Methods included from Discover

#find_dynamic_position

Instance Method Details

#valid?Boolean

Returns:

  • (Boolean)


20
# File 'lib/csv2hash/validator.rb', line 20

def valid?() self.errors.empty?; end

#validate_rules(y = nil) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/csv2hash/validator.rb', line 7

def validate_rules y=nil
  definition.type == Definition::MAPPING ? find_or_remove_dynamic_fields_on_mapping! : find_or_remove_dynamic_fields_on_collection!(y)
  definition.cells.each do |cell|
    _y, x = position cell.rules.fetch(:position)
    begin
      validate_cell (_y||y), x, cell
    rescue => e
      self.errors << { y: (_y||y), x: x, message: e.message, key: cell.rules.fetch(:key) }
      raise if break_on_failure
    end
  end
end