kimsufi-availability 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/kimsufi-availability.gemspec +1 -1
- data/lib/kimsufiavailability.rb +7 -7
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dae6160ace72d2ad47ae166a674701fd7f748d7a
|
4
|
+
data.tar.gz: 0d7e51a93a0099dbd98b6e2408e4fcafbbb3fa26
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a426317a924ccfab139032df76a6066c284be2c9c0606056bfea7dc56f4478a73771baec15338409221f28553c9b77f297d4c36f520b888d74ba499d334ea758
|
7
|
+
data.tar.gz: 0eef9e2d5dfd60f9f020ffd5e765d3123ebeaac0c42ab6762a4c4f3cfe68aa23313084c27a618abe677b1c3b00528edef480001cce1d23ee323db4e6f1a46617
|
data/README.md
CHANGED
@@ -5,7 +5,7 @@ Get and parse kimsufi servers availabilities from OVH https://ws.ovh.com/dedicat
|
|
5
5
|
$ gem install kimsufi-availability
|
6
6
|
[1] pry(main)> require 'kimsufi-availability'
|
7
7
|
[2] pry(main)> kimsufi = KimsufiAvailability.new
|
8
|
-
[3] pry(main)> kimsufi.
|
8
|
+
[3] pry(main)> kimsufi.availabilities
|
9
9
|
=> {"ks2"=>[], "ks3"=>["rbx", "bhs"], "ks4"=>["sbg", "rbx", "bhs"], "ks5a"=>["rbx"], "ks6"=>[], "ks5b"=>["rbx"], "ks1"=>[]}
|
10
10
|
[4] pry(main)> kimsufi.ks1
|
11
11
|
=> false
|
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "kimsufi-availability"
|
7
|
-
spec.version = '1.0.
|
7
|
+
spec.version = '1.0.1'
|
8
8
|
spec.authors = ["MyDigitalPRO"]
|
9
9
|
spec.email = ["info@mdtlpr.com"]
|
10
10
|
spec.summary = %q{Get and parse kimsufi servers availabilities from OVH}
|
data/lib/kimsufiavailability.rb
CHANGED
@@ -6,31 +6,31 @@ class KimsufiAvailability
|
|
6
6
|
SERVER_STATUS_URI = 'https://ws.ovh.com/dedicated/r2/ws.dispatcher/getAvailability2'
|
7
7
|
|
8
8
|
%w(ks1 ks2 ks3 ks4 ks5a ks5b ks6).each do |server|
|
9
|
-
define_method(server) {
|
9
|
+
define_method(server) { availabilities[server].empty? ? false : availabilities[server] }
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
13
|
-
@
|
12
|
+
def availabilities
|
13
|
+
@availabilities || update
|
14
14
|
end
|
15
15
|
|
16
16
|
def update
|
17
|
-
@
|
17
|
+
@availabilities = simplify_kimsufi_hash JSON.parse open(SERVER_STATUS_URI).read
|
18
18
|
end
|
19
19
|
|
20
20
|
private
|
21
21
|
|
22
22
|
def simplify_kimsufi_hash hash
|
23
23
|
hash = hash['answer']['availability'].select{|e| e['reference']['sk']}
|
24
|
-
|
24
|
+
availabilities = {}
|
25
25
|
hash.each do |ks|
|
26
26
|
next if server_mapping[ks['reference']].nil?
|
27
27
|
zones = []
|
28
28
|
ks['zones'].each do |zone|
|
29
29
|
zones << zone['zone'] if zone['availability'] != 'unavailable'
|
30
30
|
end
|
31
|
-
|
31
|
+
availabilities[server_mapping[ks['reference']]] = zones
|
32
32
|
end
|
33
|
-
|
33
|
+
availabilities
|
34
34
|
end
|
35
35
|
|
36
36
|
def server_mapping
|