Class: Genericode::Cli::Validator

Inherits:
Object
  • Object
show all
Defined in:
lib/genericode/cli/validator.rb

Class Method Summary collapse

Class Method Details

.validate(file_path) ⇒ Object

Raises:



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/genericode/cli/validator.rb', line 6

def self.validate(file_path)
  raise Error, 'File does not exist' unless File.exist?(file_path)
  raise Error, 'Invalid file format' unless file_path.end_with?('.gc',
                                                                '.gcj')

  code_list = CodeList.from_file(file_path)

  if code_list.column_set.nil? || code_list.column_set.column.empty?
    raise Error,
          'No columns defined'
  end
  if code_list.simple_code_list.nil? || code_list.simple_code_list.row.empty?
    raise Error,
          'No rows defined'
  end

  raise Error, 'Invalid Genericode structure' unless code_list.valid?

  true
end