number_humanizer 0.1.0 → 0.1.1

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: 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: []