akshar 0.1.3 → 0.1.4
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/Gemfile.lock +1 -1
- data/README.md +0 -1
- data/akshar.gemspec +2 -2
- data/lib/akshar/version.rb +1 -1
- data/lib/akshar.rb +94 -93
- data/pkg/akshar-0.0.1.gem +0 -0
- metadata +3 -6
- data/akshar-0.0.1.gem +0 -0
- data/akshar-0.0.2.gem +0 -0
- data/akshar-0.0.3.gem +0 -0
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6cedd3835648e7e31cb8bd72a98b34031a8ffec0
|
|
4
|
+
data.tar.gz: f0d5224bf05cf308935f6e07e85882bb69b053c1
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 556680552dd4a527f3845fbc2a8d73e15689a39fd6036f4a8dac148103719aee93ec544f1ed902a9b6454da8aa3ec28532e8f447374b6be390296fecbc53b7a7
|
|
7
|
+
data.tar.gz: 257332bd51bbd084a0125a1a168cba9209013e66e197ed681a98cd661fa6c378d46d767164006d055e58ba4b9e7ae89b2c45edebea6e762bd41d374b6becf214
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
data/akshar.gemspec
CHANGED
|
@@ -10,7 +10,7 @@ Gem::Specification.new do |spec|
|
|
|
10
10
|
spec.email = ["anupbrt@outlook.com"]
|
|
11
11
|
|
|
12
12
|
spec.summary = %q{Change Numbers to Nepali Names .i.e aanka to akshar ( अंक टु अक्षर )}
|
|
13
|
-
spec.description = %q{
|
|
13
|
+
spec.description = %q{This Gem will change Numbers to Nepali Names. example 100.akshar = "रुपैयाँ एक सय मात्र ।"}
|
|
14
14
|
spec.homepage = "https://github.com/anupbrt/akshar"
|
|
15
15
|
spec.license = "MIT"
|
|
16
16
|
|
|
@@ -29,4 +29,4 @@ Gem::Specification.new do |spec|
|
|
|
29
29
|
spec.add_development_dependency "bundler", "~> 1.10"
|
|
30
30
|
spec.add_development_dependency "rake", "~> 10.0"
|
|
31
31
|
|
|
32
|
-
end
|
|
32
|
+
end
|
data/lib/akshar/version.rb
CHANGED
data/lib/akshar.rb
CHANGED
|
@@ -1,112 +1,113 @@
|
|
|
1
1
|
require "akshar/version"
|
|
2
|
-
require"active_support"
|
|
2
|
+
#require"active_support"
|
|
3
3
|
|
|
4
4
|
module ToAkshar
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
def to_akshar
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
def to_nepali
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
string = self.to_s.gsub(/\s+/, "")
|
|
33
|
-
|
|
34
|
-
decimalcheck = string.index('.')
|
|
35
|
-
if (decimalcheck != nil )
|
|
36
|
-
#return "Decimal Number Detected" + decimalcheck.to_s
|
|
37
|
-
paisa = string[decimalcheck+1 .. decimalcheck+2 ]
|
|
38
|
-
else
|
|
39
|
-
paisa = ""
|
|
5
|
+
|
|
6
|
+
SMALL_NUMBERS = {""=>"", 0=> "" , 1=> "एक " , 2=> "दुई " , 3=> "तीन " , 4=> "चार " , 5=> "पाँच " , 6=> "छ " , 7=> "सात " , 8=> "आठ " , 9=> "नौ " , 10=> "दश " , 11=> "एघार " , 12=> "बाह्र " , 13=> "तेह्र " , 14=> "चौध " , 15=> "पन्ध्र " , 16=> "सोह्र " , 17=> "सत्र " , 18=> "अठार " , 19=> "उन्नाइस " , 20=> "विस " , 21=> "एक्काइस " , 22=> "बाइस " , 23=> "तेईस " , 24=> "चौविस " , 25=> "पच्चिस " , 26=> "छब्बिस " , 27=> "सत्ताईस " , 28=> "अठ्ठाईस " , 29=> "उनन्तिस " , 30=> "तिस " , 31=> "एकत्तिस " , 32=> "बत्तिस " , 33=> "तेत्तिस " , 34=> "चौँतिस " , 35=> "पैँतिस " , 36=> " छ्त्तीस " , 37=> "सैंतीस " , 38=> "अठतीस " , 39=> "उनन्चालीस " , 40=> "चालीस " , 41=> "एकचालीस " , 42=> "बयालीस " , 43=> "त्रिचालीस " , 44=> "चौवालीस " , 45=> "पैँतालीस " , 46=> "छयालीस " , 47=> "सच्चालीस " , 48=> "अठचालीस " , 49=> "उनन्चास " , 50=> "पचास " , 51=> "एकाउन्न " , 52=> "बाउन्न " , 53=> "त्रिपन्न " , 54=> "चउन्न " , 55=> "पचपन्न " , 56=> "छपन्न " , 57=> "सन्ताउन्न " , 58=> "अन्ठाउन्न " , 59=> "उनन्साठी " , 60=> "साठी " , 61=> "एकसट्ठी " , 62=> "बयसट्ठी " , 63=> "त्रिसट्ठी " , 64=> "चौंसट्ठी " , 65=> "पैंसट्ठी " , 66=> "छयसट्ठी " , 67=> "सतसट्ठी " , 68=> "अठसट्ठी " , 69=> "उनन्सत्तरी " , 70=> "सत्तरी " , 71=> "एकहत्तर " , 72=> "बहत्तर " , 73=> "त्रिहत्तर " , 74=> "चौहत्तर " , 75=> "पचहत्तर " , 76=> "छयहत्तर " , 77=> "सतहत्तर " , 78=> "अठहत्तर " , 79=> "उनासी " , 80=> "असी " , 81=> "एकासी " , 82=> "बयासी " , 83=> "त्रियासी " , 84=> "चौरासी " , 85=> "पचासी " , 86=> "छयासी " , 87=> "सतासी " , 88=> "अठासी " , 89=> "उनान्नब्बे " , 90=> "नब्बे " , 91=> "एकान्नब्बे " , 92=> "बयानब्बे " , 93=> "त्रियान्नब्बे " , 94=> "चौरान्नब्बे " , 95=> "पन्चानब्बे " , 96=> "छयान्नब्बे " , 97=> "सन्तान्नब्बे " , 98=> "अन्ठान्नब्बे " , 99=> "उनान्सय " , 100=> "एक सय " }
|
|
7
|
+
DIVISIONS = ["","हजार"]
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
def to_akshar
|
|
11
|
+
#return "रुपैयाँ " + self.to_nepali + " मात्र । "
|
|
12
|
+
if (self.to_nepali == false )
|
|
13
|
+
result = "Impossible Number | Check your Input"
|
|
14
|
+
else
|
|
15
|
+
result = "रुपैयाँ " + self.to_nepali + "मात्र।"
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
result = result.gsub("रुपैयाँ मात्र।", 'रुपैयाँ शुन्य मात्र।')
|
|
19
|
+
|
|
20
|
+
#return result.gsub(", पैसा मात्र।", 'मात्र।')
|
|
21
|
+
result = result.gsub(", पैसा मात्र"," मात्र")
|
|
22
|
+
result = result.gsub(" , ",", ")
|
|
23
|
+
result = result.gsub(" ",' ')
|
|
24
|
+
#result = result.gsub(", पैसा शुन्य", '')
|
|
25
|
+
#return result.gsub("रुपैयाँ मात्र ।", 'रुपैयाँ शुन्य मात्र ।')
|
|
26
|
+
return result.gsub(" ",' ')
|
|
27
|
+
|
|
40
28
|
end
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
result = []
|
|
47
|
-
while num != 0
|
|
48
|
-
if (num > 10000000000000000)
|
|
49
|
-
return false
|
|
50
|
-
elsif ((num / 1000000000000000) >= 1)
|
|
51
|
-
test , remaining = num.divmod(1000000000000000)
|
|
52
|
-
return ((sign + SMALL_NUMBERS[test]) +"पद्म "+ (remaining.to_s+ "."+ paisa).to_nepali )
|
|
53
|
-
elsif ((num / 10000000000000) >= 1)
|
|
54
|
-
test , remaining = num.divmod(10000000000000)
|
|
55
|
-
return ((sign + SMALL_NUMBERS[test]) +"नील "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
56
|
-
elsif ((num / 100000000000) >= 1)
|
|
57
|
-
test , remaining = num.divmod(100000000000)
|
|
58
|
-
return ((sign + SMALL_NUMBERS[test]) +"खर्ब "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
59
|
-
elsif ((num / 1000000000) >= 1)
|
|
60
|
-
test , remaining = num.divmod(1000000000)
|
|
61
|
-
return ((sign + SMALL_NUMBERS[test]) +"अर्ब "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
62
|
-
elsif ((num / 10000000) >= 1)
|
|
63
|
-
test , remaining = num.divmod(10000000)
|
|
64
|
-
return ((sign + SMALL_NUMBERS[test]) +"करोड "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
65
|
-
elsif ((num / 100000) >= 1)
|
|
66
|
-
test , remaining = num.divmod(100000)
|
|
67
|
-
return ((sign + SMALL_NUMBERS[test]) +"लाख "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
68
|
-
|
|
69
|
-
end
|
|
29
|
+
|
|
30
|
+
def to_nepali
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
string = self.to_s.gsub(/\s+/, "")
|
|
70
34
|
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
35
|
+
decimalcheck = string.index('.')
|
|
36
|
+
if (decimalcheck != nil )
|
|
37
|
+
#return "Decimal Number Detected" + decimalcheck.to_s
|
|
38
|
+
paisa = string[decimalcheck+1 .. decimalcheck+2 ]
|
|
39
|
+
else
|
|
40
|
+
paisa = ""
|
|
41
|
+
end
|
|
42
|
+
num = self.to_i
|
|
43
|
+
num, sign = check_sign(num)
|
|
44
|
+
return "" if num == 0 && paisa ==""
|
|
45
|
+
return (sign + SMALL_NUMBERS[num])+ ", पैसा " + paisa.to_i.to_nepali if num <= 100
|
|
46
|
+
counter = 0
|
|
47
|
+
result = []
|
|
48
|
+
while num != 0
|
|
49
|
+
if (num > 10000000000000000)
|
|
50
|
+
return false
|
|
51
|
+
elsif ((num / 1000000000000000) >= 1)
|
|
52
|
+
test , remaining = num.divmod(1000000000000000)
|
|
53
|
+
return ((sign + SMALL_NUMBERS[test]) +"पद्म "+ (remaining.to_s+ "."+ paisa).to_nepali )
|
|
54
|
+
elsif ((num / 10000000000000) >= 1)
|
|
55
|
+
test , remaining = num.divmod(10000000000000)
|
|
56
|
+
return ((sign + SMALL_NUMBERS[test]) +"नील "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
57
|
+
elsif ((num / 100000000000) >= 1)
|
|
58
|
+
test , remaining = num.divmod(100000000000)
|
|
59
|
+
return ((sign + SMALL_NUMBERS[test]) +"खर्ब "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
60
|
+
elsif ((num / 1000000000) >= 1)
|
|
61
|
+
test , remaining = num.divmod(1000000000)
|
|
62
|
+
return ((sign + SMALL_NUMBERS[test]) +"अर्ब "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
63
|
+
elsif ((num / 10000000) >= 1)
|
|
64
|
+
test , remaining = num.divmod(10000000)
|
|
65
|
+
return ((sign + SMALL_NUMBERS[test]) +"करोड "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
66
|
+
elsif ((num / 100000) >= 1)
|
|
67
|
+
test , remaining = num.divmod(100000)
|
|
68
|
+
return ((sign + SMALL_NUMBERS[test]) +"लाख "+ (remaining.to_s+"."+paisa).to_nepali )
|
|
69
|
+
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
num, remaining = num.divmod(1000)
|
|
73
|
+
|
|
74
|
+
temp_result = result_below_one_thousand(remaining, counter)
|
|
75
|
+
result << temp_result + "" + DIVISIONS[counter] + " " if temp_result != ''
|
|
76
|
+
counter += 1
|
|
77
|
+
end
|
|
78
|
+
return sign + result.reverse.join("").rstrip + ", पैसा " + paisa.to_i.to_nepali
|
|
76
79
|
end
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
end
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
def result_below_one_thousand(num, counter)
|
|
84
|
+
hundred, remaining = num.divmod(100)
|
|
85
|
+
#return SMALL_NUMBERS[hundred] + " सय " + SMALL_NUMBERS[remaining] if hundred != 0 && remaining != 0 && counter != 0
|
|
86
|
+
return SMALL_NUMBERS[hundred] + "सय " + SMALL_NUMBERS[remaining] if hundred != 0 && remaining != 0
|
|
87
|
+
return SMALL_NUMBERS[remaining] if hundred == 0 && remaining != 0
|
|
88
|
+
return SMALL_NUMBERS[hundred] + "सय " if hundred != 0 && remaining == 0
|
|
89
|
+
return ''
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
def check_sign(num)
|
|
93
|
+
return num < 0 ? ([num.abs, 'ॠणात्मक ']) : ([num, ''])
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
end
|
|
96
97
|
|
|
97
98
|
|
|
98
99
|
class Fixnum
|
|
99
|
-
|
|
100
|
+
include ToAkshar
|
|
100
101
|
end
|
|
101
102
|
|
|
102
103
|
class Float
|
|
103
|
-
|
|
104
|
+
include ToAkshar
|
|
104
105
|
end
|
|
105
106
|
|
|
106
107
|
class String
|
|
107
|
-
|
|
108
|
+
include ToAkshar
|
|
108
109
|
end
|
|
109
110
|
|
|
110
111
|
class Bignum
|
|
111
|
-
|
|
112
|
+
include ToAkshar
|
|
112
113
|
end
|
data/pkg/akshar-0.0.1.gem
CHANGED
|
Binary file
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: akshar
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Anup Neupane
|
|
@@ -38,8 +38,8 @@ dependencies:
|
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
40
|
version: '10.0'
|
|
41
|
-
description:
|
|
42
|
-
|
|
41
|
+
description: This Gem will change Numbers to Nepali Names. example 100.akshar = "रुपैयाँ
|
|
42
|
+
एक सय मात्र ।"
|
|
43
43
|
email:
|
|
44
44
|
- anupbrt@outlook.com
|
|
45
45
|
executables:
|
|
@@ -54,9 +54,6 @@ files:
|
|
|
54
54
|
- LICENSE
|
|
55
55
|
- README.md
|
|
56
56
|
- Rakefile
|
|
57
|
-
- akshar-0.0.1.gem
|
|
58
|
-
- akshar-0.0.2.gem
|
|
59
|
-
- akshar-0.0.3.gem
|
|
60
57
|
- akshar.gemspec
|
|
61
58
|
- bin/console
|
|
62
59
|
- bin/setup
|
data/akshar-0.0.1.gem
DELETED
|
Binary file
|
data/akshar-0.0.2.gem
DELETED
|
Binary file
|
data/akshar-0.0.3.gem
DELETED
|
Binary file
|