st_tools 0.3.13 → 0.3.14
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/st_tools/countries.rb +60 -0
- data/lib/st_tools/fias.rb +2 -0
- data/lib/st_tools/progress_bar.rb +2 -1
- data/lib/st_tools/system.rb +3 -0
- data/lib/st_tools/version.rb +1 -1
- data/lib/st_tools.rb +1 -0
- data/test/countries_lib_spec.rb +48 -0
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f2159ed0b18531c0644af292aee0525c26cc9b92
|
4
|
+
data.tar.gz: 035ff3d07ef85f83b603ecdaad6948196376d93c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 761181420dcff4c027c34966ccd23ebb99e821ba8652e2fe5caec0bcafcb9bfa8294cae76146efff0af9b82d5343d486093444bf9d1e1e1932c8a15e942e2ad2
|
7
|
+
data.tar.gz: 5bfa84ebe8896af349ebb0abf8482e0c7c9dec294282201b579d8550a8e015db12ac4dc541eba505fc06a76b167ad425dd24985e30c0f9f9cb979e44ad1d3776
|
@@ -0,0 +1,60 @@
|
|
1
|
+
module StTools
|
2
|
+
class Countries
|
3
|
+
AOGUIDS = {
|
4
|
+
zz: '',
|
5
|
+
ru: 'ea70abb2-ccc2-46c8-9b15-d42cac1ecd7f',
|
6
|
+
ua: 'e6a4a903-01e6-43f0-9bad-e57c2eb4a9c7',
|
7
|
+
kz: 'e501ac67-d26a-40c9-ad43-f1628807fdc0',
|
8
|
+
by: 'ff26f2dc-759e-4196-9e28-4d6338c8e863'
|
9
|
+
}
|
10
|
+
|
11
|
+
COUNTRIES = {
|
12
|
+
zz: {code: '', shortname: '', fullname: ''},
|
13
|
+
ru: {code: 'ru', shortname: 'Россия', fullname: 'Российская Федерация'},
|
14
|
+
ua: {code: 'ua', shortname: 'Украина', fullname: 'Украина'},
|
15
|
+
kz: {code: 'kz', shortname: 'Казахстан', fullname: 'Республика Казахстан'},
|
16
|
+
by: {code: 'by', shortname: 'Беларусь', fullname: 'Республика Беларусь'}
|
17
|
+
}
|
18
|
+
|
19
|
+
GEO = {
|
20
|
+
zz: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
|
21
|
+
ru: {location: [99.505405, 61.698653], upper: [191.128003, 81.886117], lower: [19.484764, 41.18599]},
|
22
|
+
ua: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
|
23
|
+
kz: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
|
24
|
+
by: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
|
25
|
+
}
|
26
|
+
|
27
|
+
# Метод проверяет, яаляется ли UUID страной
|
28
|
+
#
|
29
|
+
# @param [String] uuid идентификатор страны
|
30
|
+
# @return [Boolean] true, если идентификатор является идентификатором страны
|
31
|
+
# @example Примеры использования
|
32
|
+
# StTools::Countries.country?('e6a4a903-01e6-43f0-9bad-e57c2eb4a9c7') #=> true
|
33
|
+
# StTools::Countries.country?('f5eea12d-e601-f043-9bad-e5789eefa9aa') #=> false
|
34
|
+
# StTools::Countries.country?('Hello') #=> false
|
35
|
+
def self.country?(uuid)
|
36
|
+
::StTools::Countries::AOGUIDS.values.include?(uuid)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Метод возвращает информацию о стране по ее идентификатору
|
40
|
+
#
|
41
|
+
# @param [String] id идентификатор страны (в виде aoguid, :ru, 'ru')
|
42
|
+
# @return [Hash] hash описание страны
|
43
|
+
# @example Примеры использования
|
44
|
+
# StTools::Countries.country('e6a4a903-01e6-43f0-9bad-e57c2eb4a9c7') #=> Hash
|
45
|
+
# StTools::Countries.country(:ru) #=> Hash
|
46
|
+
# StTools::Countries.country('ru') #=> Hash
|
47
|
+
# StTools::Countries.country('??') #=> Empty Hash
|
48
|
+
def self.country(id)
|
49
|
+
if ::StTools::Fias.uuid?(id)
|
50
|
+
code = ::StTools::Countries::AOGUIDS.invert[id] || :zz
|
51
|
+
else
|
52
|
+
code = ::StTools::Countries::AOGUIDS.keys.include?(id.to_sym) ? id.to_sym : :zz
|
53
|
+
end
|
54
|
+
|
55
|
+
::StTools::Countries::COUNTRIES[code].merge(::StTools::Countries::GEO[code])
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
end
|
60
|
+
end
|
data/lib/st_tools/fias.rb
CHANGED
@@ -39,6 +39,7 @@ module StTools
|
|
39
39
|
# @return [Object] нет
|
40
40
|
def progress=(val)
|
41
41
|
return if val > @max
|
42
|
+
return if val == @max
|
42
43
|
return if val == @value
|
43
44
|
return if val % @step != 0 && (@max - val) >= @step
|
44
45
|
|
@@ -46,7 +47,7 @@ module StTools
|
|
46
47
|
@pbar.progress = val
|
47
48
|
@usage += 1
|
48
49
|
|
49
|
-
if val
|
50
|
+
if val >= @max
|
50
51
|
puts_footer
|
51
52
|
end
|
52
53
|
end
|
data/lib/st_tools/system.rb
CHANGED
data/lib/st_tools/version.rb
CHANGED
data/lib/st_tools.rb
CHANGED
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'st_tools'
|
3
|
+
|
4
|
+
|
5
|
+
describe 'Проверка методов StTool::Countries.*' do
|
6
|
+
|
7
|
+
#-----------------------------------------------------
|
8
|
+
#
|
9
|
+
# Тесты проверки страны
|
10
|
+
#
|
11
|
+
#-----------------------------------------------------
|
12
|
+
it '.country? success' do
|
13
|
+
test = ::StTools::Countries.country?('e6a4a903-01e6-43f0-9bad-e57c2eb4a9c7')
|
14
|
+
expect(test).to eq true
|
15
|
+
end
|
16
|
+
|
17
|
+
it '.country? fail' do
|
18
|
+
test = ::StTools::Countries.country?('0c5b2444-70a0-4932-980c-b4dc0d3f02b5')
|
19
|
+
expect(test).to eq false
|
20
|
+
end
|
21
|
+
|
22
|
+
#-----------------------------------------------------
|
23
|
+
#
|
24
|
+
# Тесты получения информации о стране
|
25
|
+
#
|
26
|
+
#-----------------------------------------------------
|
27
|
+
it 'country success by aoguid' do
|
28
|
+
test = ::StTools::Countries.country('e6a4a903-01e6-43f0-9bad-e57c2eb4a9c7')
|
29
|
+
expect(test[:code]).to eq 'ua'
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'country success by code :ru' do
|
33
|
+
test = ::StTools::Countries.country(:ru)
|
34
|
+
expect(test[:code]).to eq 'ru'
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'country success by code ru' do
|
38
|
+
test = ::StTools::Countries.country('kz')
|
39
|
+
expect(test[:code]).to eq 'kz'
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'country success by code ru' do
|
43
|
+
test = ::StTools::Countries.country('us')
|
44
|
+
expect(test[:code]).to eq ''
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: st_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stan Zhuravlev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-12-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -90,6 +90,7 @@ files:
|
|
90
90
|
- lib/socr/geo.yml
|
91
91
|
- lib/st_tools.rb
|
92
92
|
- lib/st_tools/common.rb
|
93
|
+
- lib/st_tools/countries.rb
|
93
94
|
- lib/st_tools/fias.rb
|
94
95
|
- lib/st_tools/human.rb
|
95
96
|
- lib/st_tools/progress_bar.rb
|
@@ -97,6 +98,7 @@ files:
|
|
97
98
|
- lib/st_tools/system.rb
|
98
99
|
- lib/st_tools/tokenizer.rb
|
99
100
|
- lib/st_tools/version.rb
|
101
|
+
- test/countries_lib_spec.rb
|
100
102
|
- test/fias_lib_spec.rb
|
101
103
|
- test/human_lib_spec.rb
|
102
104
|
- test/progress_bar_lib_spec.rb
|