class Platoons

Constants

SCHEMA_VERSION

Public Class Methods

new(parsed_data, squads, people, gsuite_domain) click to toggle source
# File lib/terraorg/model/platoons.rb, line 20
def initialize(parsed_data, squads, people, gsuite_domain)
  version = parsed_data.fetch('version')
  raise "Unsupported schema version: #{version}" if version != SCHEMA_VERSION

  @platoons = {}
  parsed_data.fetch('platoons').each do |platoon_raw|
    p = Platoon.new(platoon_raw, squads, people, gsuite_domain)
    @platoons[p.id] = p
  end
end

Public Instance Methods

all() click to toggle source
# File lib/terraorg/model/platoons.rb, line 38
def all
  @platoons.values
end
all_names() click to toggle source
# File lib/terraorg/model/platoons.rb, line 46
def all_names
  @platoons.keys
end
all_squad_names() click to toggle source
# File lib/terraorg/model/platoons.rb, line 42
def all_squad_names
  @platoons.values.map(&:squad_names).flatten
end
lookup!(name) click to toggle source
# File lib/terraorg/model/platoons.rb, line 31
def lookup!(name)
  @platoons.fetch(name)
end
members() click to toggle source
# File lib/terraorg/model/platoons.rb, line 50
def members
  @platoons.map(&:members).flatten
end
to_h() click to toggle source
# File lib/terraorg/model/platoons.rb, line 54
def to_h
  { 'version' => SCHEMA_VERSION , 'platoons' => @platoons.values.sort_by(&:id).map(&:to_h) }
end
validate!() click to toggle source
# File lib/terraorg/model/platoons.rb, line 35
def validate!
end