number_humanizer 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 4bee08fad90938a6a325f38247dd514ea74d15bd9dd933bb85a9e2d5957e36ab
4
- data.tar.gz: 4cb455486f3a821b7d8c8c2e467500f7af2d3322e380d50ae6257a37805cfb3c
3
+ metadata.gz: '097ea7f57eb7163f62075393544113f2da8b3f7c446096a8a6981c60f3ce8266'
4
+ data.tar.gz: c714c21473683be8c1c89e2edfc1efb1bc739ba691668d83906cfae8df3569a4
5
5
  SHA512:
6
- metadata.gz: 53a440130c332ee8e96be505b607fb8e5b7097e5096d1ef01eaf9a9e79ebb577628d904b5152f31f5d9fad8dbe493052459a4797f2b8b587ff7e894f0e41453e
7
- data.tar.gz: cd86d07430b0bc9c49a6ceef13de00150b4c1993cad75b94ef4c02be748161cfebaee42d76b3d7295c2a4dbaae6adb0e082eb6c3dd1d3b9ff06a8c16bafd10cd
6
+ metadata.gz: b71e359fcc6fe0653d170bc9cd15f6f8102044954a93e19ebdf1e36c0553d8dbaebe1714c2cac0028e48805faa81e72711c87e9885298800d0cf0470ceb187d6
7
+ data.tar.gz: 041112bb61cf75822b0917938dae7e8272da73859b36ff84cba41c0da6f6d31bba5822dddab13904e8a33914e300595b2427e6e2c12b6dcc3b5b40a76af75e05
data/.gitignore CHANGED
@@ -9,3 +9,5 @@
9
9
 
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
+
13
+ .byebug_history
data/CHANGELOG.md ADDED
@@ -0,0 +1,2 @@
1
+ ## [0.1.1] - 2022-06-03
2
+ - Bug fixes and specs added
data/Gemfile.lock CHANGED
@@ -6,6 +6,7 @@ PATH
6
6
  GEM
7
7
  remote: https://rubygems.org/
8
8
  specs:
9
+ byebug (11.1.3)
9
10
  diff-lcs (1.5.0)
10
11
  rake (12.3.3)
11
12
  rspec (3.11.0)
@@ -27,9 +28,10 @@ PLATFORMS
27
28
 
28
29
  DEPENDENCIES
29
30
  bundler (~> 2.0)
31
+ byebug
30
32
  number_humanizer!
31
33
  rake (~> 12.3, >= 12.3.3)
32
34
  rspec (~> 3.0)
33
35
 
34
36
  BUNDLED WITH
35
- 2.0.2
37
+ 2.1.4
@@ -5,32 +5,30 @@ module NumberHumanizer::Languages
5
5
  2 => 'ألف',
6
6
  3 => 'مليون',
7
7
  4 => 'مليار',
8
- 5 => 'مليون',
9
- 6 => 'مليار',
10
- 7 => 'بليون',
11
- 8 => 'بليار',
12
- 9 => 'تريليون',
13
- 10 => 'تريليار',
14
- 11 => 'كريليون',
15
- 12 => 'كريليار',
16
- 13 => 'سنكليون',
17
- 14 => 'سنكليار',
18
- 15 => 'سيزيليون',
19
- 16 => 'سيزيليار',
20
- 17 => 'سيتليون',
21
- 18 => 'سيتليار',
22
- 19 => 'ويتليون',
23
- 20 => 'ويتليار',
24
- 21 => 'تيفليون',
25
- 22 => 'تيفليار',
26
- 23 => 'ديشليون',
27
- 24 => 'ديشلي',
8
+ 5 => 'بليون',
9
+ 6 => 'بليار',
10
+ 7 => 'تريليون',
11
+ 8 => 'تريليار',
12
+ 9 => 'كريليون',
13
+ 10 => 'كريليار',
14
+ 11 => 'سنكليون',
15
+ 12 => 'سنكليار',
16
+ 13 => 'سيزيليون',
17
+ 14 => 'سيزيليار',
18
+ 15 => 'سيتليون',
19
+ 16 => 'سيتليار',
20
+ 17 => 'ويتليون',
21
+ 18 => 'ويتليار',
22
+ 19 => 'تيفليون',
23
+ 20 => 'تيفليار',
24
+ 21 => 'ديشليون',
25
+ 22 => 'ديشلي',
28
26
  }.freeze
29
27
 
30
28
  NUMBERS_DICTIONARY = {
31
29
  0 => 'صفر',
32
30
  1 => 'واحد',
33
- 2 => 'أثنين',
31
+ 2 => 'إثنان',
34
32
  3 => 'ثلاثة',
35
33
  4 => 'أربعة',
36
34
  5 => 'خمسة',
@@ -41,16 +39,24 @@ module NumberHumanizer::Languages
41
39
  10 => 'عشرة',
42
40
  11 => 'احد عشر',
43
41
  12 => 'اثنا عشر',
42
+ 13 => 'ثلاثة عشر',
43
+ 14 => 'أربعة عشر',
44
+ 15 => 'خمسة عشر',
45
+ 16 => 'ستة عشر',
46
+ 17 => 'سبعة عشر',
47
+ 18 => 'ثمانية عشر',
48
+ 19 => 'تسعة عشر',
44
49
  20 => 'عشرون',
45
50
  30 => 'ثلاثون',
46
- 40 => 'اربعون',
51
+ 40 => 'أربعون',
47
52
  50 => 'خمسون',
48
53
  60 => 'ستون',
49
54
  70 => 'سبعون',
50
55
  80 => 'ثمانون',
51
56
  90 => 'تسعون',
52
57
  100 => 'مائة',
53
- 200 => 'مائتين',
58
+ 200 => 'مئتان',
59
+ 2000 => 'ألفان'
54
60
  }.freeze
55
61
 
56
62
  private
@@ -93,7 +99,7 @@ module NumberHumanizer::Languages
93
99
  def process_number(number)
94
100
  segments = get_number_segments(number)
95
101
  segments_size = segments.size
96
- "#{segments.map!.with_index { |segment, i| process_segment(segment, unit_key: segments_size - i) }.compact.join(and_connector)}"
102
+ "#{segments.map!.with_index { |segment, i| process_segment(segment, unit_key: segments_size - i) }.compact.reject{ |sw| sw == '' }.join(and_connector)}"
97
103
  end
98
104
 
99
105
  def get_number_segments(number)
@@ -108,7 +114,7 @@ module NumberHumanizer::Languages
108
114
 
109
115
  def process_segment(segment, unit_key:)
110
116
  word = "#{segment_to_word(segment, unit_key)}"
111
- word << " #{unit(unit_key)}" unless unit_key == 1
117
+ word << " #{unit(unit_key)}" if unit_key != 1 && segment > 0
112
118
  word.squish!
113
119
  end
114
120
 
@@ -1,3 +1,3 @@
1
1
  module NumberHumanizer
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.email = ["ahmedbahaggag@gmail.com"]
10
10
 
11
11
  spec.summary = %q{Number to word humanizer for Arabic Language}
12
- spec.description = %q{}
12
+ spec.description = %q{Number to word humanizer for Arabic Language}
13
13
  spec.homepage = "https://github.com/abahaggag/number_humanizer"
14
14
  spec.license = "MIT"
15
15
 
@@ -29,4 +29,5 @@ Gem::Specification.new do |spec|
29
29
  spec.add_development_dependency "bundler", "~> 2.0"
30
30
  spec.add_development_dependency 'rake', '~> 12.3', '>= 12.3.3'
31
31
  spec.add_development_dependency "rspec", "~> 3.0"
32
+ spec.add_development_dependency "byebug"
32
33
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: number_humanizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ahmed Ba Haggag
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-27 00:00:00.000000000 Z
11
+ date: 2022-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -58,7 +58,21 @@ dependencies:
58
58
  - - "~>"
59
59
  - !ruby/object:Gem::Version
60
60
  version: '3.0'
61
- description: ''
61
+ - !ruby/object:Gem::Dependency
62
+ name: byebug
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - ">="
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ type: :development
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: '0'
75
+ description: Number to word humanizer for Arabic Language
62
76
  email:
63
77
  - ahmedbahaggag@gmail.com
64
78
  executables: []
@@ -68,6 +82,7 @@ files:
68
82
  - ".gitignore"
69
83
  - ".rspec"
70
84
  - ".travis.yml"
85
+ - CHANGELOG.md
71
86
  - CODE_OF_CONDUCT.md
72
87
  - Gemfile
73
88
  - Gemfile.lock
@@ -89,7 +104,7 @@ metadata:
89
104
  homepage_uri: https://github.com/abahaggag/number_humanizer
90
105
  source_code_uri: https://github.com/abahaggag/number_humanizer
91
106
  changelog_uri: https://github.com/abahaggag/number_humanizer
92
- post_install_message:
107
+ post_install_message:
93
108
  rdoc_options: []
94
109
  require_paths:
95
110
  - lib
@@ -104,9 +119,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
119
  - !ruby/object:Gem::Version
105
120
  version: '0'
106
121
  requirements: []
107
- rubyforge_project:
108
- rubygems_version: 2.7.6
109
- signing_key:
122
+ rubygems_version: 3.1.2
123
+ signing_key:
110
124
  specification_version: 4
111
125
  summary: Number to word humanizer for Arabic Language
112
126
  test_files: []