st_tools 0.3.15 → 0.3.16
Sign up to get free protection for your applications and to get access to all the features.
- 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
|