class KimsufiAvailability

Constants

SERVER_STATUS_URI

Public Instance Methods

availabilities() click to toggle source
# File lib/kimsufiavailability.rb, line 12
def availabilities
  @availabilities || update
end
update() click to toggle source
# File lib/kimsufiavailability.rb, line 16
def update
  @availabilities = simplify_kimsufi_hash JSON.parse open(SERVER_STATUS_URI).read
end

Private Instance Methods

server_mapping() click to toggle source
# File lib/kimsufiavailability.rb, line 36
def server_mapping
  {
    '142sk9' => 'ks1',
    '142sk2' => 'ks2',
    '142sk3' => 'ks3',
    '142sk4' => 'ks4',
    '142sk5' => 'ks5a',
    '142sk8' => 'ks5b',
    '142sk6' => 'ks6',
  }
end
simplify_kimsufi_hash(hash) click to toggle source
# File lib/kimsufiavailability.rb, line 22
def simplify_kimsufi_hash hash
  hash = hash['answer']['availability'].select{|e| e['reference']['sk']}
  availabilities = {}
  hash.each do |ks|
    next if server_mapping[ks['reference']].nil?
    zones = []
    ks['zones'].each do |zone|
      zones << zone['zone'] if zone['availability'] != 'unavailable'
    end
    availabilities[server_mapping[ks['reference']]] = zones
  end
  availabilities
end