Class: Validator

Inherits:
Object
  • Object
show all
Includes:
Test::Unit::Assertions
Defined in:
lib/Validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(skill_list:, skill_group:, skill_cat:, advanced_cat:, concentration_cat:, strains:, professions:, strain_stats:, strain_specs:, profession_concentrations:, profession_concentration_hierarchy:, profession_concentration_group:, profession_advanced:, skill_counters:, skill_countered:) ⇒ Validator

Returns a new instance of Validator.



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/Validator.rb', line 5

def initialize skill_list:, 
               skill_group:, 
               skill_cat:, 
               advanced_cat:,
               concentration_cat:,
               strains:, 
               professions:, 
               strain_stats:, 
               strain_specs:,
               profession_concentrations:,
               profession_concentration_hierarchy:,
               profession_concentration_group:,
               profession_advanced:,
               skill_counters:,
               skill_countered:
  @skill_list = skill_list
  @skill_group = skill_group
  @skill_cat = skill_cat
  @advanced_cat = advanced_cat
  @concentration_cat = concentration_cat
  @strains = strains
  @professions = professions
  @strain_stats = strain_stats
  @strain_specs = strain_specs
  @profession_concentrations = profession_concentrations
  @profession_concentration_hierarchy = profession_concentration_hierarchy
  @profession_advanced = profession_advanced
  @skill_counters = skill_counters
  @skill_countered = skill_countered

  @profession_concentration_inverted = Hash.new
  @profession_concentrations.each do |basic, data|
    data.each do |conc|
      @profession_concentration_inverted[conc] = true
    end
  end

  validate_non_empty
  validate_skill_name_matches cat: @skill_cat
  validate_skill_name_matches cat: @advanced_cat
  validate_skill_name_matches cat: @concentration_cat
  validate_stats
  validate_strain_specs
  validate_profession_concentrations
  validate_profession_concentration_hierarchy
  validate_profession_advanced
  validate_non_duplicate_skill_codes
  validate_skill_counters cat: @skill_counters
  validate_skill_counters cat: @skill_countered
  validate_skill_counter_bidirectional
end