st_tools 0.3.2

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.
@@ -0,0 +1,112 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+
5
+ describe 'Проверка методов StTool::Fias.*' do
6
+
7
+ #-----------------------------------------------------
8
+ #
9
+ # Тесты получения aoguid
10
+ #
11
+ #-----------------------------------------------------
12
+ it '.uuid? success' do
13
+ test = ::StTools::Fias.uuid?('0c5b2444-70a0-4932-980c-b4dc0d3f02b5')
14
+ expect(test).to eq true
15
+ end
16
+
17
+ it '.uuid? fail' do
18
+ test = ::StTools::Fias.uuid?('0c5b2444-70a0-4932-980c')
19
+ expect(test).to eq false
20
+ end
21
+
22
+ it '.postalcode?("111558") success' do
23
+ test = ::StTools::Fias.postalcode?('111558')
24
+ expect(test).to eq true
25
+ end
26
+
27
+ it '.postalcode?("111") fail' do
28
+ test = ::StTools::Fias.postalcode?('111')
29
+ expect(test).to eq false
30
+ end
31
+
32
+ #-----------------------------------------------------
33
+ #
34
+ # Тесты получения aoguid
35
+ #
36
+ #-----------------------------------------------------
37
+ it 'moscow_aoguid' do
38
+ test = ::StTools::Fias.moscow_aoguid
39
+ expect(test).to eq '0c5b2444-70a0-4932-980c-b4dc0d3f02b5'
40
+ end
41
+
42
+ it 'spb_aoguid' do
43
+ test = ::StTools::Fias.spb_aoguid
44
+ expect(test).to eq 'c2deb16a-0330-4f05-821f-1d09c93331e6'
45
+ end
46
+
47
+ it 'sevastopol_aoguid' do
48
+ test = ::StTools::Fias.sevastopol_aoguid
49
+ expect(test).to eq '63ed1a35-4be6-4564-a1ec-0c51f7383314'
50
+ end
51
+
52
+ it 'baikonur_aoguid' do
53
+ test = ::StTools::Fias.baikonur_aoguid
54
+ expect(test).to eq '6fdecb78-893a-4e3f-a5ba-aa062459463b'
55
+ end
56
+
57
+
58
+ #-----------------------------------------------------
59
+ #
60
+ # Тесты проверки aoguid
61
+ #
62
+ #-----------------------------------------------------
63
+ it 'moscow? success' do
64
+ test = ::StTools::Fias.moscow?('0c5b2444-70a0-4932-980c-b4dc0d3f02b5')
65
+ expect(test).to eq true
66
+ end
67
+
68
+ it 'spb? success' do
69
+ test = ::StTools::Fias.spb?('c2deb16a-0330-4f05-821f-1d09c93331e6')
70
+ expect(test).to eq true
71
+ end
72
+
73
+ it 'sevastopol? success' do
74
+ test = ::StTools::Fias.sevastopol?('63ed1a35-4be6-4564-a1ec-0c51f7383314')
75
+ expect(test).to eq true
76
+ end
77
+
78
+ it 'baikonur? success' do
79
+ test = ::StTools::Fias.baikonur?('6fdecb78-893a-4e3f-a5ba-aa062459463b')
80
+ expect(test).to eq true
81
+ end
82
+
83
+ it 'moscow? fail' do
84
+ test = ::StTools::Fias.moscow?('c2deb16a-0330-4f05-821f-1d09c93331e6')
85
+ expect(test).to be false
86
+ end
87
+
88
+ it 'spb? fail' do
89
+ test = ::StTools::Fias.spb?('63ed1a35-4be6-4564-a1ec-0c51f7383314')
90
+ expect(test).to eq false
91
+ end
92
+
93
+ it 'sevastopol? fail' do
94
+ test = ::StTools::Fias.sevastopol?('6fdecb78-893a-4e3f-a5ba-aa062459463b')
95
+ expect(test).to eq false
96
+ end
97
+
98
+ it 'baikonur? fail' do
99
+ test = ::StTools::Fias.baikonur?('c2deb16a-0330-4f05-821f-1d09c93331e6')
100
+ expect(test).to eq false
101
+ end
102
+
103
+ it 'federal? success' do
104
+ test = ::StTools::Fias.federal?('0c5b2444-70a0-4932-980c-b4dc0d3f02b5')
105
+ expect(test).to eq true
106
+ end
107
+
108
+ it 'federal? fail' do
109
+ test = ::StTools::Fias.federal?('0c5b2444-70a0-4932-980c-b4dc053f02b5')
110
+ expect(test).to eq false
111
+ end
112
+ end
@@ -0,0 +1,64 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+
5
+ describe 'Проверка методов StTools::Human.*' do
6
+ it '.bytes(234)' do
7
+ test = ::StTools::Human.bytes(234)
8
+ expect(test).to include('234')
9
+ expect(test).to include('байт')
10
+ end
11
+
12
+ it '.bytes(14234)' do
13
+ test = ::StTools::Human.bytes(14234)
14
+ expect(test).to include('14')
15
+ expect(test).to include('кбайт')
16
+ end
17
+
18
+ it '.number(234)' do
19
+ test = ::StTools::Human.number(234)
20
+ expect(test).to include('234')
21
+ end
22
+
23
+ it '.number(14234)' do
24
+ test = ::StTools::Human.number(14234)
25
+ expect(test).to include('14')
26
+ expect(test).to include('тыс.')
27
+ end
28
+
29
+ it '.memory' do
30
+ test = ::StTools::Human.memory
31
+ expect(test).to include('байт')
32
+ end
33
+
34
+ it '.ago_in_words (:ru)' do
35
+ ::StTools::Setup.setup(:ru)
36
+ test = ::StTools::Human.ago_in_words(DateTime.new(2001,2,3,4,5,6,'+7'), true)
37
+ expect(test).to include('назад')
38
+ expect(test).to include('лет')
39
+ end
40
+
41
+ it '.ago_in_words (:en)' do
42
+ ::StTools::Setup.setup(:en)
43
+ test = ::StTools::Human.ago_in_words(DateTime.new(2001,2,3,4,5,6,'+7'), true)
44
+ expect(test).to include('ago')
45
+ expect(test).to include('years')
46
+ end
47
+
48
+ it '.format_time (:ru)' do
49
+ ::StTools::Setup.setup(:ru)
50
+ test = ::StTools::Human.format_time(Time.now, :full, :full)
51
+ expect(test).to match(/[а-я]{1,3}/)
52
+ test = ::StTools::Human.format_time(Time.now, :full, :short)
53
+ expect(test).to match(/\d{2}\/\d{2}\/\d{4}/)
54
+ end
55
+
56
+ it '.format_time (:en)' do
57
+ ::StTools::Setup.setup(:en)
58
+ test = ::StTools::Human.format_time(Time.now, :full, :full)
59
+ expect(test).to match(/[a-z]{1,3}/i)
60
+ test = ::StTools::Human.format_time(Time.now, :full, :short)
61
+ expect(test).to match(/\d{2}\/\d{2}\/\d{4}/)
62
+ end
63
+
64
+ end
@@ -0,0 +1,18 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+ describe 'Проверка методов StTools::ProgressBar.*' do
5
+
6
+ it 'Комплексный тест' do
7
+ bar = ::StTools::ProgressBar.new(title: "Тестовый запуск",
8
+ footer: "Занято [memory], выполнено за [executed_at] сек.",
9
+ max: 10000000)
10
+ # step - по умолчанию
11
+ # progress не устаналиваем
12
+
13
+ 10000010.times do |val|
14
+ bar.progress = val
15
+ end
16
+
17
+ end
18
+ end
@@ -0,0 +1,99 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+ describe 'Проверка методов StTools::String.*' do
5
+
6
+ class String
7
+ include ::StTools::Module::String
8
+ end
9
+
10
+ it '.translit' do
11
+ test = ::StTools::String.translit('Ярослав Му(y)дрёный')
12
+ expect(test).to include('roslav')
13
+ expect(test).to include('dren')
14
+ end
15
+
16
+ it '.normalize' do
17
+ test = ::StTools::String.normalize('Ярослав Му(y)дрёный')
18
+ expect(test).to include('ярослав му(y)дреный')
19
+ end
20
+
21
+ it '.downcase("EngLish")' do
22
+ test = ::StTools::String.downcase('EngLish')
23
+ expect(test).to include('english')
24
+ end
25
+
26
+ it '.downcase("РуссКИЙ")' do
27
+ test = ::StTools::String.downcase('РуссКИЙ')
28
+ expect(test).to include('русский')
29
+ end
30
+
31
+ it '.upcase("EngLish")' do
32
+ test = ::StTools::String.upcase('EngLish')
33
+ expect(test).to include('ENGLISH')
34
+ end
35
+
36
+ it '.upcase("РуссКИЙ")' do
37
+ test = ::StTools::String.upcase('РуссКИЙ')
38
+ expect(test).to include('РУССКИЙ')
39
+ end
40
+
41
+ it '.hide_text' do
42
+ test = ::StTools::String.hide_text('Ярослав Му(y)дрёный')
43
+ expect(test).to include('*')
44
+ end
45
+
46
+ it '.split(nil, "")' do
47
+ test = ::StTools::String.split(nil, '')
48
+ expect(test.count).to be 0
49
+ end
50
+
51
+ it '.split("Имя Фамилия", " ")' do
52
+ test = ::StTools::String.split('Имя Фамилия', ' ')
53
+ expect(test.count).to be 2
54
+ expect(test.first).to eq('Имя')
55
+ expect(test.last).to eq('Фамилия')
56
+ end
57
+
58
+ it '.split("Имя , Фамилия, Анна", ",", normalize: true, sort: true)' do
59
+ test = ::StTools::String.split("Имя , Фамилия, Анна", ",", normalize: true, sort: true)
60
+ expect(test.count).to be 3
61
+ expect(test.first).to eq('анна')
62
+ expect(test.last).to eq('фамилия')
63
+ end
64
+
65
+ it '.to_range(nil)' do
66
+ test = ::StTools::String.to_range(nil)
67
+ expect(test.count).to be 0
68
+ end
69
+
70
+ it '.to_range("3, 5-7, 456, 2")' do
71
+ test = ::StTools::String.to_range("3, 5-7, 456, 2")
72
+ expect(test.count).to be 6
73
+ expect(test.first).to eq(3)
74
+ expect(test.last).to eq(2)
75
+ end
76
+
77
+ it '.to_range("3, 5-7, 456, 2", sort: true)' do
78
+ test = ::StTools::String.to_range("3, 5-7, 456, 2", sort: true)
79
+ expect(test.count).to be 6
80
+ expect(test.first).to eq(2)
81
+ expect(test.last).to eq(456)
82
+ end
83
+
84
+ it '.caps("пеТР ильЧЕНКО")' do
85
+ test = ('пеТР ильЧЕНКО').caps
86
+ expect(test).to eq('Петр Ильченко')
87
+ end
88
+
89
+ it '"True".to_bool' do
90
+ test = "True".to_bool
91
+ expect(test).to eq(true)
92
+ end
93
+
94
+ it '"Off".to_bool' do
95
+ test = "Off".to_bool
96
+ expect(test).to eq(false)
97
+ end
98
+
99
+ end
@@ -0,0 +1,25 @@
1
+ require 'rspec'
2
+ require 'st_tools'
3
+
4
+ describe 'Проверка методов StTools::System.*' do
5
+ it '.memory' do
6
+ test = ::StTools::System.memory
7
+ expect(test).to be > 0
8
+ end
9
+
10
+ it '.screen(:width)' do
11
+ test = ::StTools::System.screen(:width)
12
+ expect(test).to be > 90
13
+ end
14
+
15
+ it '.screen(:width)' do
16
+ test = ::StTools::System.screen(:height)
17
+ expect(test).to be > 10
18
+ end
19
+
20
+ it '.exename' do
21
+ test = ::StTools::System.exename
22
+ expect(test).to_not be_nil
23
+ end
24
+
25
+ end
metadata ADDED
@@ -0,0 +1,130 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: st_tools
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.3.2
5
+ platform: ruby
6
+ authors:
7
+ - Stan Zhuravlev
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2015-04-29 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.9'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.9'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: ruby-progressbar
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: i18n
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ description: |-
70
+ Библиотека содержит функции, реализующие:
71
+ - преобразование строк с учетом русского языка
72
+ - формирования человеко-удобной информации
73
+ - получения разных системных характеристик CLI-приложений
74
+ - управление прогресс-баром CLI-приложений
75
+ email:
76
+ - stan@post-api.ru
77
+ executables: []
78
+ extensions: []
79
+ extra_rdoc_files: []
80
+ files:
81
+ - LICENSE.txt
82
+ - README.md
83
+ - bin/console
84
+ - bin/setup
85
+ - lib/i18n/en.yml
86
+ - lib/i18n/ru.yml
87
+ - lib/modules/fias.rb
88
+ - lib/modules/integer.rb
89
+ - lib/modules/string.rb
90
+ - lib/modules/time.rb
91
+ - lib/st_tools.rb
92
+ - lib/st_tools/common.rb
93
+ - lib/st_tools/fias.rb
94
+ - lib/st_tools/human.rb
95
+ - lib/st_tools/progress_bar.rb
96
+ - lib/st_tools/string.rb
97
+ - lib/st_tools/system.rb
98
+ - lib/st_tools/version.rb
99
+ - test/fias_lib_spec.rb
100
+ - test/human_lib_spec.rb
101
+ - test/progress_bar_lib_spec.rb
102
+ - test/string_lib_spec.rb
103
+ - test/system_lib_spec.rb
104
+ homepage: https://github.com/StanZhuravlev/st_tools
105
+ licenses:
106
+ - MIT
107
+ metadata:
108
+ allowed_push_host: https://rubygems.org
109
+ post_install_message:
110
+ rdoc_options: []
111
+ require_paths:
112
+ - lib
113
+ - lib/st_tools
114
+ required_ruby_version: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - ">="
117
+ - !ruby/object:Gem::Version
118
+ version: '0'
119
+ required_rubygems_version: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ requirements: []
125
+ rubyforge_project:
126
+ rubygems_version: 2.4.5
127
+ signing_key:
128
+ specification_version: 4
129
+ summary: "Методы общего назначения"
130
+ test_files: []