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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 67eaf920a767607db3dfe8295a59ba9c4195c4b0
4
- data.tar.gz: c3ade73e304da2503d94c096e79b7075f0318460
3
+ metadata.gz: 1bd9fcc708159aef709dba808bcf089ab4139b44
4
+ data.tar.gz: 400ecfbfa1f0fca81f6adce4ddb4f134cdf1fa95
5
5
  SHA512:
6
- metadata.gz: aeba709f894d04efe22c0a545e9c03bfe4288ae9209cdbd878d71e466a963280cb5dc3784564089502e496923293a9597187c1c1eae4adac6727f8cbeb0591ba
7
- data.tar.gz: e65dd5a86d4733729d8731ede634de5f7ad64c7d655243db4f86a4db448748e223798fe9899ea6be3f1ec72f351f704fc2aa7d1bdceb2b7fa1d77addc109b7f0
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
@@ -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: [191.128003, 81.886117], lower: [19.484764, 41.18599]},
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]},
@@ -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
 
@@ -1,3 +1,3 @@
1
1
  module StTools
2
- VERSION = '0.3.15'
2
+ VERSION = '0.3.16'
3
3
  end
@@ -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.15
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-05 00:00:00.000000000 Z
11
+ date: 2015-12-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler