st_tools 0.3.15 → 0.3.16
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 +11 -0
- data/lib/st_tools/countries.rb +1 -1
- data/lib/st_tools/human.rb +27 -0
- data/lib/st_tools/version.rb +1 -1
- data/test/human_lib_spec.rb +21 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1bd9fcc708159aef709dba808bcf089ab4139b44
|
4
|
+
data.tar.gz: 400ecfbfa1f0fca81f6adce4ddb4f134cdf1fa95
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 08d198d7750284ce9e14c36492e568426df50bbafe390f662032b4ec9db7d9e23d0c00da3e7d97edd508e0fdace7458e7b52a52aaf20d58bd7b0842b9876af77
|
7
|
+
data.tar.gz: 8f942d5d3aef52cae4df1289b0ce723e5e2609737ee7bde284d7539f0d6dd4d2a25816c2b972d4764d10622788ae3b8462f154e6f6c1e38d8e44b3d76045addd
|
data/README.md
CHANGED
@@ -59,6 +59,17 @@ StTools::Human.number(14653) # => 14,6 тыс.
|
|
59
59
|
StTools::Human.number(23653763) # => 23,7 млн.
|
60
60
|
```
|
61
61
|
|
62
|
+
Вы вызываете StTools::Human.pretty_number для красивого отображения числа с пробелами. При этом можно указать
|
63
|
+
число цифр после запятой, и автоматически конвертировать точку в звпятую
|
64
|
+
|
65
|
+
```ruby
|
66
|
+
StTools::Human.pretty_number(345) # => 345
|
67
|
+
StTools::Human.pretty_number(345, round: 2) # => 345,00
|
68
|
+
StTools::Human.pretty_number(75345, round: 1) # => 75 345,0
|
69
|
+
StTools::Human.pretty_number(nil) # => 0
|
70
|
+
StTools::Human.pretty_number('1675345.763', round: 1) # => 1 675 345,7
|
71
|
+
```
|
72
|
+
|
62
73
|
Вы имеете возможность узнать разницу между текущим временем и временем какого-либо события.
|
63
74
|
|
64
75
|
```ruby
|
data/lib/st_tools/countries.rb
CHANGED
@@ -18,7 +18,7 @@ module StTools
|
|
18
18
|
|
19
19
|
GEO = {
|
20
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: [
|
21
|
+
ru: {location: [99.505405, 61.698653], upper: [-169.128003, 81.886117], lower: [19.484764, 41.18599]},
|
22
22
|
ua: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
|
23
23
|
kz: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
|
24
24
|
by: {location: [0.0, 0.0], upper: [0.0, 0.0], lower: [0.0, 0.0]},
|
data/lib/st_tools/human.rb
CHANGED
@@ -133,6 +133,33 @@ module StTools
|
|
133
133
|
end
|
134
134
|
|
135
135
|
|
136
|
+
# Метод оформляет число красивым способом, в виде "1 456 742,34".
|
137
|
+
#
|
138
|
+
# @param [Object] value исходное число в виде строки или числа, допустим nil
|
139
|
+
# @param [Sym] round число цифр после запятой (по умолчанию - 0)
|
140
|
+
# @return [String] строка с форматированным числом
|
141
|
+
# @example Примеры использования
|
142
|
+
# StTools::Human.pretty_number(345) # => 345
|
143
|
+
# StTools::Human.pretty_number(345, round: 2) # => 345,00
|
144
|
+
# StTools::Human.pretty_number(75345, round: 1) # => 75 345,0
|
145
|
+
# StTools::Human.pretty_number(nil) # => 0
|
146
|
+
# StTools::Human.pretty_number('1675345.763', round: 1) # => 1 675 345,7
|
147
|
+
def self.pretty_number(value, round: 0)
|
148
|
+
out = StTools::String.to_float(value, round: round, stop: false).to_s
|
149
|
+
arr = out.split(/[\,\.]/)
|
150
|
+
tmp = arr.first.split(//).reverse.each_slice(3).to_a
|
151
|
+
out = Array.new
|
152
|
+
tmp.each do |one|
|
153
|
+
out << one.reverse.join
|
154
|
+
end
|
155
|
+
out = out.reverse.join(' ')
|
156
|
+
if arr.count > 1
|
157
|
+
out = [out, (arr.last + '000000000000000')[0,round]].join(',')
|
158
|
+
end
|
159
|
+
out
|
160
|
+
end
|
161
|
+
|
162
|
+
|
136
163
|
|
137
164
|
private
|
138
165
|
|
data/lib/st_tools/version.rb
CHANGED
data/test/human_lib_spec.rb
CHANGED
@@ -75,4 +75,25 @@ describe 'Проверка методов StTools::Human.*' do
|
|
75
75
|
expect(test).to match(/\d{2}\/\d{2}\/\d{4}/)
|
76
76
|
end
|
77
77
|
|
78
|
+
it '.pretty_number(12345678)' do
|
79
|
+
test = ::StTools::Human.pretty_number(12345678, round: 2)
|
80
|
+
expect(test).to match('12 345 678,00')
|
81
|
+
end
|
82
|
+
|
83
|
+
it '.pretty_number(12345678)' do
|
84
|
+
test = ::StTools::Human.pretty_number(12345678, round: 0)
|
85
|
+
expect(test).to match('12 345 678')
|
86
|
+
end
|
87
|
+
|
88
|
+
it '.pretty_number(45678.6743)' do
|
89
|
+
test = ::StTools::Human.pretty_number('45678.6743', round: 3)
|
90
|
+
expect(test).to match('45 678,674')
|
91
|
+
end
|
92
|
+
|
93
|
+
it '.pretty_number(nil)' do
|
94
|
+
test = ::StTools::Human.pretty_number(nil, round: 0)
|
95
|
+
expect(test).to match('0')
|
96
|
+
end
|
97
|
+
|
98
|
+
|
78
99
|
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.16
|
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-12-
|
11
|
+
date: 2015-12-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|