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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a7a40f302be49db5675f1cfbde2b6a3bfb6246c0807045517fb5f6014bb2b89d
4
- data.tar.gz: 6bbffce67dc0543ed68459bf1cdab7437d157a48e56e9d0c9cf034ec4156d7cc
3
+ metadata.gz: d86af624a55e7513d02bb3398b97978c462a013ffdb250fc683892d2495c5cf4
4
+ data.tar.gz: 5553d656712e73f54f73ad0cf5c587ae5b8ef70fdf7be1d4f84ebdf5befcf05c
5
5
  SHA512:
6
- metadata.gz: c01dccd2f61c3c6fb8836793d01b737b374a2d949467ad16fb81446804434a7efe9367f2215880edb6d6469b52ed50b9ec345f29ac5fdfd65e84b3f081dcc0fc
7
- data.tar.gz: b6ccedf9ed4e1468030c68ed7d09d098e6cc9741638323a061357d43e5e8ab2c663933e4223b8a9a464167bf9444dd75c731ef6160bebcf09290a8957f16a978
6
+ metadata.gz: 9f948afd59de2f180dc9462e174e37ac9556a463f6feb2387d422fb7d68ed066e0d6f5aa18b484246f3e05d6be5606d4075df371f83df03c2b96db83420e1c7c
7
+ data.tar.gz: a7df2f2c0dc3b2faeceaab43f9b8b92e2556b91b4ceff72d5c0865ab0b6624223253e50ce84a0f44d25ac1b48c645a6649c2ca7364b4affa442ebfc56c0c987e
@@ -6,14 +6,14 @@ jobs:
6
6
  build:
7
7
  strategy:
8
8
  matrix:
9
- ruby_version: [2.6.x, 2.5.x, 2.4.x]
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@v1
14
+ - uses: actions/checkout@v4
15
15
  - name: Set up Ruby
16
- uses: actions/setup-ruby@v1
16
+ uses: ruby/setup-ruby@v1
17
17
  with:
18
18
  ruby-version: ${{ matrix.ruby_version }}
19
19
 
data/.rubocop.yml CHANGED
@@ -1,5 +1,12 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.4
2
+ TargetRubyVersion: 3.1
3
+ NewCops: enable
4
+
5
+ Metrics/CollectionLiteralLength:
6
+ Enabled: false
7
+
8
+ Gemspec/DevelopmentDependencies:
9
+ Enabled: false
3
10
 
4
11
  Style/StringLiterals:
5
12
  Enabled: false
data/humanize.gemspec CHANGED
@@ -1,13 +1,12 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "humanize"
3
- s.version = "2.5.1"
3
+ s.version = "3.0.0"
4
4
 
5
- s.required_ruby_version = '>= 2.4'
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 = `git ls-files`.split($/)
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
@@ -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(" |")} )\s*satu ribu|^satu ribu/
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(" ").reverse
33
+ parts.split.reverse
34
34
  end
35
35
  end
36
36
  end
@@ -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(" |")} )\s*satu ribu|^satu ribu/
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(" ").reverse
33
+ parts.split.reverse
34
34
  end
35
35
  end
36
36
  end
@@ -45,7 +45,7 @@ module Humanize
45
45
  parts = parts.sub(wrong, right) if parts.include?(wrong)
46
46
  end
47
47
 
48
- parts.split(' ').reverse
48
+ parts.split.reverse
49
49
  end
50
50
  end
51
51
  end
@@ -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 './humanize/locales'
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: locale)
87
+ significant_digits.to_i.humanize(locale:)
88
88
  end
89
89
 
90
90
  parts.insert(0, decimals_as_words, locale_class::POINT)
@@ -1,7 +1,7 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  RSpec.describe Humanize, "en locale" do
4
- # rubocop:disable Metrics/LineLength
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 Metrics/LineLength
99
+ # rubocop:enable Layout/LineLength
100
100
 
101
101
  en_tests.each do |num, output|
102
102
  it "#{num} is equal to #{output}" do
@@ -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 Metrics/LineLength
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 Metrics/LineLength
167
+ # rubocop:enable Layout/LineLength
168
168
  [-123_422_223.48_948_753, 'マイナス一億二千三百四十二万二千二百二十三・四八九四八八']
169
169
  ]
170
170
 
@@ -7,7 +7,7 @@ RSpec.describe Humanize, "ms locale" do
7
7
  end
8
8
  end
9
9
 
10
- # rubocop:disable Metrics/LineLength
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 Metrics/LineLength
57
+ # rubocop:enable Layout/LineLength
58
58
 
59
59
  ms_tests.each do |num, output|
60
60
  it "#{num} is equal to #{output}" do
@@ -7,7 +7,7 @@ RSpec.describe Humanize, "th locale" do
7
7
  end
8
8
  end
9
9
 
10
- # rubocop:disable Metrics/LineLength
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 Metrics/LineLength
24
+ # rubocop:enable Layout/LineLength
25
25
 
26
26
  tests.each do |num, output|
27
27
  it "#{num} equals #{output}" do
@@ -8,7 +8,7 @@ RSpec.describe Humanize, "vi locale" do
8
8
  end
9
9
  end
10
10
 
11
- # rubocop:disable Metrics/LineLength
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 Metrics/LineLength
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: 2.5.1
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: 2021-01-01 00:00:00.000000000 Z
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: '2.4'
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.2
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: []