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 +4 -4
- data/.gitignore +2 -0
- data/CHANGELOG.md +2 -0
- data/Gemfile.lock +3 -1
- data/lib/number_humanizer/languages/arabic.rb +31 -25
- data/lib/number_humanizer/version.rb +1 -1
- data/number_humanizer.gemspec +2 -1
- metadata +22 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '097ea7f57eb7163f62075393544113f2da8b3f7c446096a8a6981c60f3ce8266'
|
4
|
+
data.tar.gz: c714c21473683be8c1c89e2edfc1efb1bc739ba691668d83906cfae8df3569a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b71e359fcc6fe0653d170bc9cd15f6f8102044954a93e19ebdf1e36c0553d8dbaebe1714c2cac0028e48805faa81e72711c87e9885298800d0cf0470ceb187d6
|
7
|
+
data.tar.gz: 041112bb61cf75822b0917938dae7e8272da73859b36ff84cba41c0da6f6d31bba5822dddab13904e8a33914e300595b2427e6e2c12b6dcc3b5b40a76af75e05
|
data/.gitignore
CHANGED
data/CHANGELOG.md
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.
|
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)}"
|
117
|
+
word << " #{unit(unit_key)}" if unit_key != 1 && segment > 0
|
112
118
|
word.squish!
|
113
119
|
end
|
114
120
|
|
data/number_humanizer.gemspec
CHANGED
@@ -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.
|
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-
|
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
|
-
|
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
|
-
|
108
|
-
|
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: []
|