humanize 2.5.1 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ruby.yml +3 -3
- data/.rubocop.yml +8 -1
- data/humanize.gemspec +4 -4
- data/lib/humanize/locales/id.rb +2 -2
- data/lib/humanize/locales/ms.rb +2 -2
- data/lib/humanize/locales/ru.rb +1 -1
- data/lib/humanize/locales/th.rb +1 -1
- data/lib/humanize.rb +2 -2
- data/spec/locales/en_spec.rb +2 -2
- data/spec/locales/jp_spec.rb +2 -2
- data/spec/locales/ms_spec.rb +2 -2
- data/spec/locales/th_spec.rb +2 -2
- data/spec/locales/vi_spec.rb +2 -2
- metadata +7 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d86af624a55e7513d02bb3398b97978c462a013ffdb250fc683892d2495c5cf4
|
4
|
+
data.tar.gz: 5553d656712e73f54f73ad0cf5c587ae5b8ef70fdf7be1d4f84ebdf5befcf05c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f948afd59de2f180dc9462e174e37ac9556a463f6feb2387d422fb7d68ed066e0d6f5aa18b484246f3e05d6be5606d4075df371f83df03c2b96db83420e1c7c
|
7
|
+
data.tar.gz: a7df2f2c0dc3b2faeceaab43f9b8b92e2556b91b4ceff72d5c0865ab0b6624223253e50ce84a0f44d25ac1b48c645a6649c2ca7364b4affa442ebfc56c0c987e
|
data/.github/workflows/ruby.yml
CHANGED
@@ -6,14 +6,14 @@ jobs:
|
|
6
6
|
build:
|
7
7
|
strategy:
|
8
8
|
matrix:
|
9
|
-
ruby_version: [
|
9
|
+
ruby_version: [3.3, 3.2, 3.1]
|
10
10
|
|
11
11
|
runs-on: ubuntu-latest
|
12
12
|
|
13
13
|
steps:
|
14
|
-
- uses: actions/checkout@
|
14
|
+
- uses: actions/checkout@v4
|
15
15
|
- name: Set up Ruby
|
16
|
-
uses:
|
16
|
+
uses: ruby/setup-ruby@v1
|
17
17
|
with:
|
18
18
|
ruby-version: ${{ matrix.ruby_version }}
|
19
19
|
|
data/.rubocop.yml
CHANGED
data/humanize.gemspec
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = "humanize"
|
3
|
-
s.version = "
|
3
|
+
s.version = "3.0.0"
|
4
4
|
|
5
|
-
s.required_ruby_version = '>=
|
5
|
+
s.required_ruby_version = '>= 3.1'
|
6
6
|
s.require_paths = ["lib"]
|
7
7
|
s.authors = ["Jack Chen", "Ryan Bigg"]
|
8
8
|
s.email = "me@ryanbigg.com"
|
9
|
-
s.files
|
10
|
-
s.test_files = s.files.grep(%r{^(spec)/})
|
9
|
+
s.files = `git ls-files`.split($/)
|
11
10
|
s.homepage = "https://github.com/radar/humanize"
|
12
11
|
s.summary = "Extension to Numeric to humanize numbers"
|
13
12
|
|
@@ -16,4 +15,5 @@ Gem::Specification.new do |s|
|
|
16
15
|
s.add_development_dependency 'pry-byebug'
|
17
16
|
s.add_development_dependency 'rspec'
|
18
17
|
s.add_development_dependency 'rubocop'
|
18
|
+
s.metadata['rubygems_mfa_required'] = 'true'
|
19
19
|
end
|
data/lib/humanize/locales/id.rb
CHANGED
@@ -28,9 +28,9 @@ module Humanize
|
|
28
28
|
|
29
29
|
def correct_one_thousand(parts)
|
30
30
|
lots = LOTS.drop(2)
|
31
|
-
wrong_1000_re = /(?<=#{lots.join(
|
31
|
+
wrong_1000_re = /(?<=#{lots.join(' |')} )\s*satu ribu|^satu ribu/
|
32
32
|
parts = parts.reverse.join(" ").sub(wrong_1000_re, 'seribu')
|
33
|
-
parts.split
|
33
|
+
parts.split.reverse
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
data/lib/humanize/locales/ms.rb
CHANGED
@@ -28,9 +28,9 @@ module Humanize
|
|
28
28
|
|
29
29
|
def correct_one_thousand(parts)
|
30
30
|
lots = LOTS.drop(2)
|
31
|
-
wrong_1000_re = /(?<=#{lots.join(
|
31
|
+
wrong_1000_re = /(?<=#{lots.join(' |')} )\s*satu ribu|^satu ribu/
|
32
32
|
parts = parts.reverse.join(" ").sub(wrong_1000_re, 'seribu')
|
33
|
-
parts.split
|
33
|
+
parts.split.reverse
|
34
34
|
end
|
35
35
|
end
|
36
36
|
end
|
data/lib/humanize/locales/ru.rb
CHANGED
data/lib/humanize/locales/th.rb
CHANGED
@@ -7,7 +7,7 @@ module Humanize
|
|
7
7
|
number, remainder = number.divmod(1_000_000)
|
8
8
|
million_parts = humanize(number, million_level + 1)
|
9
9
|
sub_million_parts = million_humanize(remainder)
|
10
|
-
sub_million_parts << " " << MILLION * million_level << million_parts.reverse
|
10
|
+
sub_million_parts << " " << (MILLION * million_level) << million_parts.reverse
|
11
11
|
else
|
12
12
|
million_humanize(number)
|
13
13
|
end
|
data/lib/humanize.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
require 'bigdecimal'
|
2
|
-
require_relative '
|
2
|
+
require_relative 'humanize/locales'
|
3
3
|
|
4
4
|
module Humanize
|
5
5
|
SPACE = ' '.freeze
|
@@ -84,7 +84,7 @@ module Humanize
|
|
84
84
|
|
85
85
|
(leading_zeroes + digits).join(spacer)
|
86
86
|
when :number
|
87
|
-
significant_digits.to_i.humanize(locale:
|
87
|
+
significant_digits.to_i.humanize(locale:)
|
88
88
|
end
|
89
89
|
|
90
90
|
parts.insert(0, decimals_as_words, locale_class::POINT)
|
data/spec/locales/en_spec.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
RSpec.describe Humanize, "en locale" do
|
4
|
-
# rubocop:disable
|
4
|
+
# rubocop:disable Layout/LineLength
|
5
5
|
en_tests = [
|
6
6
|
[-1, "negative one"],
|
7
7
|
[-0.042, "negative zero point zero four two"],
|
@@ -96,7 +96,7 @@ RSpec.describe Humanize, "en locale" do
|
|
96
96
|
[444_333_222_111_999_777_666_555_444_333_222_111_999_777_666_555_444_333_221_111_112_176_514_321_007_310, "four hundred and forty-four quattuortillion, three hundred and thirty-three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"],
|
97
97
|
[444_333_222_111_999_777_666_555_444_333_222_111_999_777_666_555_444_333_221_111_112_176_514_321_007_310_444_333_222_111_999_777_666_555_444_333_222_111_999_777_666_555_444_333_221_111_112_176_514_321_007_310, "four hundred and forty-four quinquagintillion, three hundred and thirty-three novenquadragintillion, two hundred and twenty-two octoquadragintillion, one hundred and eleven septenquadragintillion, nine hundred and ninety-nine sesquadragintillion, seven hundred and seventy-seven quinquadragintillion, six hundred and sixty-six quattuorquadragintillion, five hundred and fifty-five trequadragintillion, four hundred and forty-four duoquadragintillion, three hundred and thirty-three unquadragintillion, two hundred and twenty-two quadragintillion, one hundred and eleven novemtrigintillion, nine hundred and ninety-nine octotrigintillion, seven hundred and seventy-seven septentrigintillion, six hundred and sixty-six sextrigintillion, five hundred and fifty-five quintrigintillion, four hundred and forty-four quattuortrigintillion, three hundred and thirty-three trestrigintillion, two hundred and twenty-one duotrigintillion, one hundred and eleven untrigintillion, one hundred and twelve trigintillion, one hundred and seventy-six novemvigintillion, five hundred and fourteen octovigintillion, three hundred and twenty-one septenvigintillion, seven sexvigintillion, three hundred and ten quinvigintillion, four hundred and forty-four quattuortillion, three hundred and thirty-three trevigintillion, two hundred and twenty-two duovigintillion, one hundred and eleven unvigintillion, nine hundred and ninety-nine vigintillion, seven hundred and seventy-seven novemdecillion, six hundred and sixty-six octodecillion, five hundred and fifty-five septendecillion, four hundred and forty-four sexdecillion, three hundred and thirty-three quindecillion, two hundred and twenty-two quattuordecillion, one hundred and eleven tredecillion, nine hundred and ninety-nine duodecillion, seven hundred and seventy-seven undecillion, six hundred and sixty-six decillion, five hundred and fifty-five nonillion, four hundred and forty-four octillion, three hundred and thirty-three septillion, two hundred and twenty-one sextillion, one hundred and eleven quintillion, one hundred and twelve quadrillion, one hundred and seventy-six trillion, five hundred and fourteen billion, three hundred and twenty-one million, seven thousand, three hundred and ten"]
|
98
98
|
]
|
99
|
-
# rubocop:enable
|
99
|
+
# rubocop:enable Layout/LineLength
|
100
100
|
|
101
101
|
en_tests.each do |num, output|
|
102
102
|
it "#{num} is equal to #{output}" do
|
data/spec/locales/jp_spec.rb
CHANGED
@@ -162,9 +162,9 @@ RSpec.describe Humanize, 'jp locale' do
|
|
162
162
|
[1_000_100_010_001, '一兆一億一万一'],
|
163
163
|
[1_100_110_011_001, '一兆一千一億一千一万一千一'],
|
164
164
|
[2_200_220_022_002, '二兆二千二億二千二万二千二'],
|
165
|
-
# rubocop:disable
|
165
|
+
# rubocop:disable Layout/LineLength
|
166
166
|
[999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999_999, '九千九百九十九無量大数九千九百九十九不可思議九千九百九十九那由他九千九百九十九阿僧祇九千九百九十九恒河沙九千九百九十九極九千九百九十九載九千九百九十九正九千九百九十九澗九千九百九十九溝九千九百九十九穣九千九百九十九𥝱九千九百九十九垓九千九百九十九京九千九百九十九兆九千九百九十九億九千九百九十九万九千九百九十九'],
|
167
|
-
# rubocop:enable
|
167
|
+
# rubocop:enable Layout/LineLength
|
168
168
|
[-123_422_223.48_948_753, 'マイナス一億二千三百四十二万二千二百二十三・四八九四八八']
|
169
169
|
]
|
170
170
|
|
data/spec/locales/ms_spec.rb
CHANGED
@@ -7,7 +7,7 @@ RSpec.describe Humanize, "ms locale" do
|
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
|
-
# rubocop:disable
|
10
|
+
# rubocop:disable Layout/LineLength
|
11
11
|
ms_tests = [
|
12
12
|
[-1, "minus satu"],
|
13
13
|
[-0.042, "minus sifar titik sifar empat dua"],
|
@@ -54,7 +54,7 @@ RSpec.describe Humanize, "ms locale" do
|
|
54
54
|
[44_333_221_111_112_176_514_321_007_310, "empat puluh empat oktil tiga ratus tiga puluh tiga septillion dua ratus dua puluh satu sextillion seratus sebelas quintillion seratus dua belas quadrillion seratus tujuh puluh enam trilion lima ratus empat belas bilion tiga ratus dua puluh satu juta tujuh ribu tiga ratus sepuluh"],
|
55
55
|
[444_333_221_111_112_176_514_321_007_310, "empat ratus empat puluh empat oktil tiga ratus tiga puluh tiga septillion dua ratus dua puluh satu sextillion seratus sebelas quintillion seratus dua belas quadrillion seratus tujuh puluh enam trilion lima ratus empat belas bilion tiga ratus dua puluh satu juta tujuh ribu tiga ratus sepuluh"]
|
56
56
|
]
|
57
|
-
# rubocop:enable
|
57
|
+
# rubocop:enable Layout/LineLength
|
58
58
|
|
59
59
|
ms_tests.each do |num, output|
|
60
60
|
it "#{num} is equal to #{output}" do
|
data/spec/locales/th_spec.rb
CHANGED
@@ -7,7 +7,7 @@ RSpec.describe Humanize, "th locale" do
|
|
7
7
|
end
|
8
8
|
end
|
9
9
|
|
10
|
-
# rubocop:disable
|
10
|
+
# rubocop:disable Layout/LineLength
|
11
11
|
tests = [
|
12
12
|
[8.15, 'แปดจุดหนึ่งห้า'],
|
13
13
|
[101, 'หนึ่งร้อยหนึ่ง'],
|
@@ -21,7 +21,7 @@ RSpec.describe Humanize, "th locale" do
|
|
21
21
|
[987_654_321_123_230_782, 'เก้าแสนแปดหมื่นเจ็ดพันหกร้อยห้าสิบสี่ล้านล้าน สามแสนสองหมื่นหนึ่งพันหนึ่งร้อยยี่สิบสามล้าน สองแสนสามหมื่นเจ็ดร้อยแปดสิบสอง'],
|
22
22
|
[444_333_221_111_112_176_514_321_007_310, 'สี่แสนสี่หมื่นสี่พันสามร้อยสามสิบสามล้านล้านล้านล้าน สองแสนสองหมื่นหนึ่งพันหนึ่งร้อยสิบเอ็ดล้านล้านล้าน หนึ่งแสนหนึ่งหมื่นสองพันหนึ่งร้อยเจ็ดสิบหกล้านล้าน ห้าแสนหนึ่งหมื่นสี่พันสามร้อยยี่สิบเอ็ดล้าน เจ็ดพันสามร้อยสิบ']
|
23
23
|
]
|
24
|
-
# rubocop:enable
|
24
|
+
# rubocop:enable Layout/LineLength
|
25
25
|
|
26
26
|
tests.each do |num, output|
|
27
27
|
it "#{num} equals #{output}" do
|
data/spec/locales/vi_spec.rb
CHANGED
@@ -8,7 +8,7 @@ RSpec.describe Humanize, "vi locale" do
|
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
|
-
# rubocop:disable
|
11
|
+
# rubocop:disable Layout/LineLength
|
12
12
|
vi_tests = [
|
13
13
|
[1.0 / 0, "vô cùng"],
|
14
14
|
[-1.0 / 0, "âm vô cùng"],
|
@@ -224,7 +224,7 @@ RSpec.describe Humanize, "vi locale" do
|
|
224
224
|
[21_381_614_863_421_954_863_524_785_362_147_732_846_952_142_365_124_547_856_633_666_999_875_477_632_147_444_102_005_000_975_635_102_036_900_000_114_475_304_024_201_832_905_401_151_191_113_789_528_888_007_415, "hai mươi mốt tỷ ba trăm tám mươi mốt triệu sáu trăm mười bốn nghìn tám trăm sáu mươi ba tỷ bốn trăm hai mươi mốt triệu chín trăm năm mươi bốn nghìn tám trăm sáu mươi ba tỷ năm trăm hai mươi bốn triệu bảy trăm tám mươi lăm nghìn ba trăm sáu mươi hai tỷ một trăm bốn mươi bảy triệu bảy trăm ba mươi hai nghìn tám trăm bốn mươi sáu tỷ chín trăm năm mươi hai triệu một trăm bốn mươi hai nghìn ba trăm sáu mươi lăm tỷ một trăm hai mươi bốn triệu năm trăm bốn mươi bảy nghìn tám trăm năm mươi sáu tỷ sáu trăm ba mươi ba triệu sáu trăm sáu mươi sáu nghìn chín trăm chín mươi chín tỷ tám trăm bảy mươi lăm triệu bốn trăm bảy mươi bảy nghìn sáu trăm ba mươi hai tỷ một trăm bốn mươi bảy triệu bốn trăm bốn mươi bốn nghìn một trăm linh hai tỷ không trăm linh năm triệu chín trăm bảy mươi lăm tỷ sáu trăm ba mươi lăm triệu một trăm linh hai nghìn không trăm ba mươi sáu tỷ chín trăm triệu một trăm mười bốn tỷ bốn trăm bảy mươi lăm triệu ba trăm linh bốn nghìn không trăm hai mươi bốn tỷ hai trăm linh một triệu tám trăm ba mươi hai nghìn chín trăm linh năm tỷ bốn trăm linh một triệu một trăm năm mươi mốt nghìn một trăm chín mươi mốt tỷ một trăm mười ba triệu bảy trăm tám mươi chín nghìn năm trăm hai mươi tám tỷ tám trăm tám mươi tám triệu không trăm linh bảy nghìn bốn trăm mười lăm"],
|
225
225
|
[921_381_614_863_421_954_863_524_785_362_147_732_846_952_142_365_124_547_856_633_666_999_875_477_632_147_444_102_005_000_975_635_102_036_900_000_114_475_304_024_201_832_905_401_151_191_113_789_528_888_007_415, "chín trăm hai mươi mốt tỷ ba trăm tám mươi mốt triệu sáu trăm mười bốn nghìn tám trăm sáu mươi ba tỷ bốn trăm hai mươi mốt triệu chín trăm năm mươi bốn nghìn tám trăm sáu mươi ba tỷ năm trăm hai mươi bốn triệu bảy trăm tám mươi lăm nghìn ba trăm sáu mươi hai tỷ một trăm bốn mươi bảy triệu bảy trăm ba mươi hai nghìn tám trăm bốn mươi sáu tỷ chín trăm năm mươi hai triệu một trăm bốn mươi hai nghìn ba trăm sáu mươi lăm tỷ một trăm hai mươi bốn triệu năm trăm bốn mươi bảy nghìn tám trăm năm mươi sáu tỷ sáu trăm ba mươi ba triệu sáu trăm sáu mươi sáu nghìn chín trăm chín mươi chín tỷ tám trăm bảy mươi lăm triệu bốn trăm bảy mươi bảy nghìn sáu trăm ba mươi hai tỷ một trăm bốn mươi bảy triệu bốn trăm bốn mươi bốn nghìn một trăm linh hai tỷ không trăm linh năm triệu chín trăm bảy mươi lăm tỷ sáu trăm ba mươi lăm triệu một trăm linh hai nghìn không trăm ba mươi sáu tỷ chín trăm triệu một trăm mười bốn tỷ bốn trăm bảy mươi lăm triệu ba trăm linh bốn nghìn không trăm hai mươi bốn tỷ hai trăm linh một triệu tám trăm ba mươi hai nghìn chín trăm linh năm tỷ bốn trăm linh một triệu một trăm năm mươi mốt nghìn một trăm chín mươi mốt tỷ một trăm mười ba triệu bảy trăm tám mươi chín nghìn năm trăm hai mươi tám tỷ tám trăm tám mươi tám triệu không trăm linh bảy nghìn bốn trăm mười lăm"]
|
226
226
|
]
|
227
|
-
# rubocop:enable
|
227
|
+
# rubocop:enable Layout/LineLength
|
228
228
|
|
229
229
|
vi_tests.each do |num, output|
|
230
230
|
it "#{num} is equal to #{output}" do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: humanize
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jack Chen
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2024-03-29 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: mutant
|
@@ -144,7 +144,8 @@ files:
|
|
144
144
|
- spec/spec_helper.rb
|
145
145
|
homepage: https://github.com/radar/humanize
|
146
146
|
licenses: []
|
147
|
-
metadata:
|
147
|
+
metadata:
|
148
|
+
rubygems_mfa_required: 'true'
|
148
149
|
post_install_message:
|
149
150
|
rdoc_options: []
|
150
151
|
require_paths:
|
@@ -153,31 +154,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
153
154
|
requirements:
|
154
155
|
- - ">="
|
155
156
|
- !ruby/object:Gem::Version
|
156
|
-
version: '
|
157
|
+
version: '3.1'
|
157
158
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
158
159
|
requirements:
|
159
160
|
- - ">="
|
160
161
|
- !ruby/object:Gem::Version
|
161
162
|
version: '0'
|
162
163
|
requirements: []
|
163
|
-
rubygems_version: 3.1
|
164
|
+
rubygems_version: 3.5.1
|
164
165
|
signing_key:
|
165
166
|
specification_version: 4
|
166
167
|
summary: Extension to Numeric to humanize numbers
|
167
|
-
test_files:
|
168
|
-
- spec/configuration_spec.rb
|
169
|
-
- spec/humanize_spec.rb
|
170
|
-
- spec/locales/az_spec.rb
|
171
|
-
- spec/locales/de_spec.rb
|
172
|
-
- spec/locales/en_spec.rb
|
173
|
-
- spec/locales/es_spec.rb
|
174
|
-
- spec/locales/fr_spec.rb
|
175
|
-
- spec/locales/id_spec.rb
|
176
|
-
- spec/locales/jp_spec.rb
|
177
|
-
- spec/locales/ms_spec.rb
|
178
|
-
- spec/locales/pt_spec.rb
|
179
|
-
- spec/locales/ru_spec.rb
|
180
|
-
- spec/locales/th_spec.rb
|
181
|
-
- spec/locales/tr_spec.rb
|
182
|
-
- spec/locales/vi_spec.rb
|
183
|
-
- spec/spec_helper.rb
|
168
|
+
test_files: []
|