zhongwen_tools 0.0.6 → 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +41 -24
- data/lib/zhongwen_tools/integer.rb +41 -0
- data/lib/zhongwen_tools/numbers.rb +61 -56
- data/test/test_helper.rb +8 -0
- data/test/test_integer.rb +31 -0
- data/test/test_numbers.rb +12 -14
- data/test/test_string.rb +0 -8
- data/zhongwen_tools.gemspec +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e2db83235c285238192917440b33bbb8f2f1d16f
|
4
|
+
data.tar.gz: abb0da06eeefc95b9a3fc1b86ef98f291430a295
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a753b626668df9e3f1e229fb25769fdd5c5a0edda04bf5027c904fb8fbc644a76b8bd448d96f84c2eb431dc36114c867cfc9e39764290e6a70b2fd695707fcb0
|
7
|
+
data.tar.gz: d77bba5b9e8345253bb2fa5a6ac154ffca1322a9d32de374bd248d0d41b808b6a7b4e667e47215fc93108c4af74adeda7aebed83144164bd107f18e75ea603a8
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
|
-
#Zhongwen Tools:
|
1
|
+
#Zhongwen Tools:
|
2
|
+
Tools and methods for dealing with Chinese.
|
2
3
|
[![Build
|
3
4
|
Status](https://travis-ci.org/stevendaniels/zhongwen_tools.png?branch=master)](https://travis-ci.org/stevendaniels/zhongwen_tools) [![Dependency Status](https://gemnasium.com/stevendaniels/zhongwen_tools.png)](https://gemnasium.com/stevendaniels/zhongwen_tools) [![Code Climate](https://codeclimate.com/github/stevendaniels/zhongwen_tools.png)](https://codeclimate.com/github/stevendaniels/zhongwen_tools) [![Coverage Status](https://coveralls.io/repos/stevendaniels/zhongwen_tools/badge.png)](https://coveralls.io/r/stevendaniels/zhongwen_tools)
|
5
|
+
[![GitHub version](https://badge.fury.io/gh/stevendaniels%2Fzhongwen_tools.png)](http://badge.fury.io/gh/stevendaniels%2Fzhongwen_tools)
|
4
6
|
##INSTALLATION
|
5
7
|
|
6
8
|
Install as a gem
|
@@ -12,7 +14,7 @@ Install as a gem
|
|
12
14
|
Add the ZhongwenTools component you need to your classes as a module.
|
13
15
|
|
14
16
|
class String
|
15
|
-
include
|
17
|
+
include ZhongwenTools::Romanization
|
16
18
|
end
|
17
19
|
|
18
20
|
str = "ni3 hao3" #pinyin with numbers
|
@@ -20,11 +22,12 @@ Add the ZhongwenTools component you need to your classes as a module.
|
|
20
22
|
str.to_zhuyinfuhao #=>
|
21
23
|
|
22
24
|
mzd = "Mao Tse-tung"
|
23
|
-
mzd.to_pinyin #=> Mao Zedong
|
25
|
+
mzd.to_pinyin #=> "Mao Zedong"
|
24
26
|
|
25
27
|
Or you can require the components you want
|
28
|
+
|
26
29
|
require 'zhongwen_tools/numbers'
|
27
|
-
ZhongwenTools::Numbers.
|
30
|
+
ZhongwenTools::Numbers.to_pyn '一百二十' #=> 'yi1-bai2-er4-shi2'
|
28
31
|
|
29
32
|
ZhongwenTools includes the following modules:
|
30
33
|
|
@@ -32,17 +35,17 @@ ZhongwenTools includes the following modules:
|
|
32
35
|
2. ZhongwenTools::Numbers => functions for identifying and converting numbers.
|
33
36
|
3. ZhongwenTools::Integer => some useful integer functions for Chinese:
|
34
37
|
e.g. 12.to_pinyin 12.to_zht
|
35
|
-
4. ZhongwenTools::Romanization => functions for converting between Chinese romanization systems
|
36
|
-
5. ZhongwenTools::Conversion => functions for converting between Chinese scripts.
|
37
|
-
6. ZhongwenTools::ToneSandhi => functions for identifying and dealing with tone sandhi. (Wiki URL)
|
38
|
+
4. [TODO] ZhongwenTools::Romanization => functions for converting between Chinese romanization systems
|
39
|
+
5. [TODO] ZhongwenTools::Conversion => functions for converting between Chinese scripts.
|
40
|
+
6. [TODO] ZhongwenTools::ToneSandhi => functions for identifying and dealing with tone sandhi. (Wiki URL)
|
38
41
|
7. [TODO] ZhongwenTools::Segmentation => functions for segmenting Chinese. Can provide different methods for converting
|
39
|
-
8. ZhongwenTools::Tagging => functions for tagging Chinese POS, NER, etc.
|
40
|
-
|
41
|
-
|
42
|
-
### ZhongwenTools::String: useful string functions for
|
42
|
+
8. [TODO] ZhongwenTools::Tagging => functions for tagging Chinese POS, NER, etc.
|
43
|
+
|
44
|
+
|
45
|
+
### ZhongwenTools::String: useful string functions for Chinese.
|
43
46
|
ZhongwenTools::String.ascii? 'hello' #=> true #non-multibyle strings
|
44
47
|
ZhongwenTools::String.multibyte? '中文' #=> true #multibtye strings
|
45
|
-
ZhongwenTools::String.halfwidth?
|
48
|
+
ZhongwenTools::String.halfwidth?
|
46
49
|
ZhongwenTools::String.fullwidth?
|
47
50
|
ZhongwenTools::String.to_halfwidth
|
48
51
|
ZhongwenTools::String.uri_encode #=> just because I'm lazy
|
@@ -52,12 +55,12 @@ ZhongwenTools includes the following modules:
|
|
52
55
|
ZhongwenTools::String.upcase --> does pinyin uppercase
|
53
56
|
ZhongwenTools::String.capitalize ---> does pinyin / fullwidth capitalization
|
54
57
|
|
55
|
-
ZhongwenTools::String.has_zh? '1月' #=> true
|
58
|
+
ZhongwenTools::String.has_zh? '1月' #=> true
|
56
59
|
ZhongwenTools::String.is_zh? '1月' #=> false can't be mixed.
|
57
60
|
ZhongwenTools::String.is_zhs? '中国' #=> true
|
58
61
|
ZhongwenTools::String.is_zht? '中国' #=> false
|
59
62
|
|
60
|
-
####
|
63
|
+
#### Ruby 1.8 safe methods
|
61
64
|
ZhongwenTools::String.chars '中文' #=> ['中','文']
|
62
65
|
ZhongwenTools::String.size '中文' #=> 2
|
63
66
|
ZhongwenTools::String.reverse '中文' #=> '文中'
|
@@ -67,21 +70,36 @@ ZhongwenTools includes the following modules:
|
|
67
70
|
###Numbers
|
68
71
|
Functions for converting to and from Chinese numbers.
|
69
72
|
|
73
|
+
ZhongwenTools::Number.number_zht 12000 #=> '一萬二千'
|
74
|
+
ZhongwenTools::Number.number_zhs 42 #=> '四十二'
|
75
|
+
ZhongwenTools::Number.number_to_pyn 42 #=> 'si4-shi2-er4'
|
76
|
+
ZhongwenTools::Number.number_to_int '四十二' #=> 42
|
77
|
+
ZhongwenTools::Number.number? '四十二' #=> true
|
78
|
+
|
70
79
|
###Integers
|
80
|
+
Monkey-patch your integers for Chinese.
|
81
|
+
|
82
|
+
class Integer
|
83
|
+
include ZhongwenTools::Integer
|
84
|
+
end
|
85
|
+
|
86
|
+
12.to_pinyin #=> 'shi2-er4'
|
87
|
+
12.to_zht #=> '十二'
|
88
|
+
|
71
89
|
|
72
90
|
### Romanization
|
73
91
|
ZhongwenTools::Chinese has tools for converting between Chinese language romanization systems and
|
74
92
|
scripts.
|
75
93
|
|
76
94
|
class String
|
77
|
-
include
|
95
|
+
include ZhongwenTools::Romanization
|
78
96
|
end
|
79
97
|
|
80
98
|
|
81
99
|
str = "ni3 hao3"
|
82
100
|
romanization_system = "pyn" #pyn|wg|yale|bpmf|zhyfh|wade-giles|bopomofo
|
83
101
|
|
84
|
-
str.to_pinyin romanization_system
|
102
|
+
str.to_pinyin romanization_system
|
85
103
|
#=> "nǐ hǎo"
|
86
104
|
|
87
105
|
str.to_py romanization_system
|
@@ -106,13 +124,13 @@ Functions for converting between scripts (e.g. traditional Chinese to
|
|
106
124
|
simplified Chinese) and between chinese and romanization systems (e.g.
|
107
125
|
Chinese to pinyin).
|
108
126
|
|
109
|
-
ZhongwenTools::Conversion.to_zhs
|
110
|
-
ZhongwenTools::Conversion.to_zht
|
111
|
-
ZhongwenTools::Conversion.to_zhtw
|
112
|
-
ZhongwenTools::Conversion.to_zhhk
|
113
|
-
ZhongwenTools::Conversion.to_zhmc
|
114
|
-
ZhongwenTools::Conversion.to_zhsg
|
115
|
-
ZhongwenTools::Conversion.to_zhprc
|
127
|
+
ZhongwenTools::Conversion.to_zhs ‘華語'
|
128
|
+
ZhongwenTools::Conversion.to_zht '华语'
|
129
|
+
ZhongwenTools::Conversion.to_zhtw '方便面'
|
130
|
+
ZhongwenTools::Conversion.to_zhhk '方便面'
|
131
|
+
ZhongwenTools::Conversion.to_zhmc
|
132
|
+
ZhongwenTools::Conversion.to_zhsg
|
133
|
+
ZhongwenTools::Conversion.to_zhprc '马铃薯'
|
116
134
|
|
117
135
|
|
118
136
|
###Tone Sandhi
|
@@ -125,4 +143,3 @@ that requires an external dependency is packaged as a separate gem.
|
|
125
143
|
## TODO
|
126
144
|
1. A trad/simp script converter
|
127
145
|
2. A character -> pinyin converter
|
128
|
-
3. A language detector
|
@@ -0,0 +1,41 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
require './lib/zhongwen_tools/numbers'
|
3
|
+
|
4
|
+
module ZhongwenTools
|
5
|
+
module Integer
|
6
|
+
include ZhongwenTools::Numbers
|
7
|
+
|
8
|
+
def to_zh(type = nil)
|
9
|
+
type == :zht ? self.to_zht? : self.to_zhs
|
10
|
+
end
|
11
|
+
|
12
|
+
def to_zhs(int = nil)
|
13
|
+
int ||= self
|
14
|
+
number_to_zhs :num, int.to_s
|
15
|
+
end
|
16
|
+
|
17
|
+
def to_zht(int = nil)
|
18
|
+
int ||= self
|
19
|
+
number_to_zht :num, int.to_s
|
20
|
+
end
|
21
|
+
|
22
|
+
def to_pyn(int = nil)
|
23
|
+
int ||= self
|
24
|
+
number_to_pyn int.to_s, :num
|
25
|
+
end
|
26
|
+
|
27
|
+
class Basement
|
28
|
+
include ZhongwenTools::Integer
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.to_zhs(*args)
|
32
|
+
Basement.new.to_zhs(*args)
|
33
|
+
end
|
34
|
+
def self.to_zht(*args)
|
35
|
+
Basement.new.to_zht(*args)
|
36
|
+
end
|
37
|
+
def self.to_pyn(*args)
|
38
|
+
Basement.new.to_pyn(*args)
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -5,46 +5,69 @@ module ZhongwenTools
|
|
5
5
|
NUMBER_MULTIPLES = '拾十百佰千仟仟万萬亿億'
|
6
6
|
|
7
7
|
NUMBERS_TABLE = [
|
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
|
-
{ :
|
8
|
+
{ :zhs => '零', :zht => '零', :num => 0, :pyn => 'ling2'},
|
9
|
+
{ :zhs => '〇', :zht => '〇', :num => 0, :pyn => 'ling2'},
|
10
|
+
{ :zhs => '一', :zht => '一', :num => 1, :pyn => 'yi1'},
|
11
|
+
{ :zhs => '壹', :zht => '壹', :num => 1, :pyn => 'yi1'},
|
12
|
+
{ :zhs => '幺', :zht => '幺', :num => 1, :pyn => 'yao1'},
|
13
|
+
{ :zhs => '二', :zht => '二', :num => 2, :pyn => 'er4'},
|
14
|
+
{ :zhs => '两', :zht => '兩', :num => 2, :pyn => 'liang3'},
|
15
|
+
{ :zhs => '贰', :zht => '貳', :num => 2, :pyn => 'er4'},
|
16
|
+
{ :zhs => '三', :zht => '三', :num => 3, :pyn => 'san1'},
|
17
|
+
{ :zhs => '弎', :zht => '弎', :num => 3, :pyn => 'san1'},
|
18
|
+
{ :zhs => '叁', :zht => '參', :num => 3, :pyn => 'san1'},
|
19
|
+
{ :zhs => '四', :zht => '四', :num => 4, :pyn => 'si4'},
|
20
|
+
{ :zhs => '䦉', :zht => '䦉', :num => 4, :pyn => 'si4'},
|
21
|
+
{ :zhs => '肆', :zht => '肆', :num => 4, :pyn => 'si4'},
|
22
|
+
{ :zhs => '五', :zht => '五', :num => 5, :pyn => 'wu3'},
|
23
|
+
{ :zhs => '伍', :zht => '伍', :num => 5, :pyn => 'wu3'},
|
24
|
+
{ :zhs => '六', :zht => '六', :num => 6, :pyn => 'liu4'},
|
25
|
+
{ :zhs => '陆', :zht => '陸', :num => 6, :pyn => 'liu4'},
|
26
|
+
{ :zhs => '七', :zht => '七', :num => 7, :pyn => 'qi1'},
|
27
|
+
{ :zhs => '柒', :zht => '柒', :num => 7, :pyn => 'qi1'},
|
28
|
+
{ :zhs => '八', :zht => '八', :num => 8, :pyn => 'ba1'},
|
29
|
+
{ :zhs => '捌', :zht => '捌', :num => 8, :pyn => 'ba1'},
|
30
|
+
{ :zhs => '九', :zht => '九', :num => 9, :pyn => 'jiu3'},
|
31
|
+
{ :zhs => '玖', :zht => '玖', :num => 9, :pyn => 'jiu3'},
|
32
|
+
{ :zhs => '十', :zht => '十', :num => 10, :pyn => 'shi2'},
|
33
|
+
{ :zhs => '拾', :zht => '拾', :num => 10, :pyn => 'shi2'},
|
34
|
+
{ :zhs => '廿', :zht => '廿', :num => 20, :pyn => ' nian4'},
|
35
|
+
{ :zhs => '百', :zht => '百', :num => 100, :pyn => 'bai2'},
|
36
|
+
{ :zhs => '佰', :zht => '佰', :num => 100, :pyn => 'bai2'},
|
37
|
+
{ :zhs => '千', :zht => '千', :num => 1000, :pyn => 'qian2'},
|
38
|
+
{ :zhs => '仟', :zht => '仟', :num => 1000, :pyn => 'qian2'},
|
39
|
+
{ :zhs => '万', :zht => '萬', :num => 10000, :pyn => 'wan4'},
|
40
|
+
{ :zhs => '亿', :zht => '億', :num => 100000000, :pyn => 'yi4'},
|
41
41
|
]
|
42
42
|
|
43
|
-
def
|
43
|
+
def number? word
|
44
44
|
#垓 秭 穰 溝 澗 正 載 --> beyond 100,000,000!
|
45
45
|
"#{word}".gsub(/([\d]|[一二三四五六七八九十百千萬万億亿]){2,}/,'') == ''
|
46
46
|
end
|
47
47
|
|
48
|
+
def zh_number_to_number(zh_number)
|
49
|
+
zh_number = zh_number.to_s
|
50
|
+
numbers = convert_date(zh_number)
|
51
|
+
|
52
|
+
#if it's a year, or an oddly formatted number
|
53
|
+
return numbers.join('').to_i if zh_number[/[#{NUMBER_MULTIPLES}]/u].nil?
|
54
|
+
|
55
|
+
convert_numbers numbers
|
56
|
+
end
|
57
|
+
|
58
|
+
#these should also be able to convert numbers to chinese numbers
|
59
|
+
def number_to_zhs type, number
|
60
|
+
convert_number_to :zhs, type.to_sym, number
|
61
|
+
end
|
62
|
+
def number_to_zht type, number
|
63
|
+
convert_number_to :zht, type.to_sym, number
|
64
|
+
end
|
65
|
+
|
66
|
+
def number_to_pyn number, type = 'zh_s'
|
67
|
+
convert_number_to :pyn, type.to_sym, number, '-'
|
68
|
+
end
|
69
|
+
|
70
|
+
private
|
48
71
|
def convert_date(zh)
|
49
72
|
#if it's a year, or an oddly formatted number
|
50
73
|
zh_numbers = ZhongwenTools::String.chars zh
|
@@ -64,7 +87,7 @@ module ZhongwenTools
|
|
64
87
|
end
|
65
88
|
|
66
89
|
def convert(number)
|
67
|
-
NUMBERS_TABLE.find{|x| x[:
|
90
|
+
NUMBERS_TABLE.find{|x| x[:zhs] == number || x[:zht] == number || x[:num].to_s == number}
|
68
91
|
end
|
69
92
|
|
70
93
|
def convert_numbers(numbers)
|
@@ -99,36 +122,18 @@ module ZhongwenTools
|
|
99
122
|
is_number_multiplier?(curr_num) ? number * curr_num : number + curr_num
|
100
123
|
end
|
101
124
|
|
102
|
-
def convert_chinese_numbers_to_numbers(zh_number)
|
103
|
-
zh_number = zh_number.to_s
|
104
|
-
numbers = convert_date(zh_number)
|
105
|
-
|
106
|
-
#if it's a year, or an oddly formatted number
|
107
|
-
return numbers.join('').to_i if zh_number[/[#{NUMBER_MULTIPLES}]/u].nil?
|
108
|
-
|
109
|
-
convert_numbers numbers
|
110
|
-
end
|
111
125
|
|
112
126
|
def is_number_multiplier?(number)
|
113
127
|
[10,100,1000,10000,100000000].include? number
|
114
128
|
end
|
115
129
|
|
116
|
-
#these should also be able to convert numbers to chinese numbers
|
117
|
-
def convert_number_to_simplified type, number
|
118
|
-
convert_number_to :zh_s, type.to_sym, number
|
119
|
-
end
|
120
|
-
def convert_number_to_traditional type, number
|
121
|
-
convert_number_to :zh_t, type.to_sym, number
|
122
|
-
end
|
123
|
-
|
124
|
-
def convert_number_to_pyn number, type = 'zh_s'
|
125
|
-
convert_number_to :pyn, type.to_sym, number, '-'
|
126
|
-
end
|
127
130
|
|
128
131
|
|
129
132
|
def check_wan(wan, i)
|
130
133
|
wan ||= 0
|
131
134
|
wan += 1 if (i + 1) % 5 == 0
|
135
|
+
|
136
|
+
wan
|
132
137
|
end
|
133
138
|
|
134
139
|
def convert_from_zh number, to
|
@@ -170,7 +175,7 @@ module ZhongwenTools
|
|
170
175
|
end
|
171
176
|
|
172
177
|
def convert_number_to(to, from, number, separator = '')
|
173
|
-
return number unless [:
|
178
|
+
return number unless [:zht, :zhs, :num, :pyn].include? to
|
174
179
|
|
175
180
|
if from == :num
|
176
181
|
converted_number = convert_from_num(number, to)
|
data/test/test_helper.rb
CHANGED
@@ -0,0 +1,31 @@
|
|
1
|
+
#encoding: utf-8
|
2
|
+
$:.unshift File.join(File.dirname(__FILE__),'..','lib')
|
3
|
+
|
4
|
+
require './test/test_helper'
|
5
|
+
require 'zhongwen_tools/integer'
|
6
|
+
|
7
|
+
class Integer
|
8
|
+
include ZhongwenTools::Integer
|
9
|
+
end
|
10
|
+
|
11
|
+
class TestInteger < Test::Unit::TestCase
|
12
|
+
def test_zh
|
13
|
+
assert_equal 122.to_zh, '一百二十二'
|
14
|
+
assert_equal 12.to_zh, '十二'
|
15
|
+
assert_equal 12000.to_zht, '一萬二千'
|
16
|
+
assert_equal 12000.to_zhs, '一万二千'
|
17
|
+
refute 12000.to_zh == 12000.to_zht
|
18
|
+
|
19
|
+
|
20
|
+
assert_equal '十二', ZhongwenTools::Integer.to_zhs(12)
|
21
|
+
assert_equal '一萬二千', ZhongwenTools::Integer.to_zht(12000)
|
22
|
+
assert_equal '一万二千', ZhongwenTools::Integer.to_zhs(12000)
|
23
|
+
refute ZhongwenTools::Integer.to_zhs(12000) == ZhongwenTools::Integer.to_zht(12000)
|
24
|
+
end
|
25
|
+
|
26
|
+
def test_pinyin
|
27
|
+
assert_equal 12.to_pyn, 'shi2-er4'
|
28
|
+
assert_equal 'shi2-er4', ZhongwenTools::Integer.to_pyn(12)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
data/test/test_numbers.rb
CHANGED
@@ -5,37 +5,35 @@ require './test/test_helper'
|
|
5
5
|
require 'zhongwen_tools/string'
|
6
6
|
require 'zhongwen_tools/numbers'
|
7
7
|
|
8
|
-
class
|
8
|
+
class TestNumbers < Test::Unit::TestCase
|
9
9
|
include ZhongwenTools::Numbers
|
10
10
|
def test_convert_to_numbers
|
11
|
-
#skip
|
11
|
+
#skip
|
12
12
|
#your function sucks dick man
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
13
|
+
@numbers.each do |num|
|
14
|
+
number = zh_number_to_number num[:zh]
|
15
|
+
binding.pry if num[:en] != number
|
16
|
+
assert_equal num[:en], number
|
17
|
+
end
|
18
18
|
end
|
19
19
|
|
20
20
|
def test_convert_to_traditional_number
|
21
21
|
zhs = @numbers[0][:zh]
|
22
|
-
zht =
|
22
|
+
zht = number_to_zht :zht, zhs
|
23
23
|
|
24
24
|
assert_equal '一萬兩千七', zht
|
25
25
|
end
|
26
26
|
|
27
27
|
def test_convert_to_simplified_from_number
|
28
|
-
|
29
|
-
|
30
|
-
zht = convert_number_to_traditional :num, num
|
28
|
+
num = @numbers[0][:en]
|
29
|
+
zhs = number_to_zhs :num, num
|
31
30
|
|
32
|
-
|
33
|
-
assert_equal '一萬二千七', zht
|
31
|
+
assert_equal '一万二千七', zhs
|
34
32
|
end
|
35
33
|
|
36
34
|
def test_convert_number_to_pyn
|
37
35
|
num = '一百三十六'
|
38
|
-
pyn = self.
|
36
|
+
pyn = self.number_to_pyn num
|
39
37
|
|
40
38
|
assert_equal 'yi1-bai2-san1-shi2-liu4', pyn
|
41
39
|
end
|
data/test/test_string.rb
CHANGED
@@ -7,14 +7,6 @@ class String
|
|
7
7
|
include ZhongwenTools::String
|
8
8
|
end
|
9
9
|
|
10
|
-
if RUBY_VERSION < '1.9'
|
11
|
-
class Test::Unit::TestCase
|
12
|
-
def refute(statement, message = '')
|
13
|
-
assert !statement, message
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
10
|
class TestString < Test::Unit::TestCase
|
19
11
|
|
20
12
|
def test_size
|
data/zhongwen_tools.gemspec
CHANGED
@@ -4,7 +4,7 @@ $:.push File.expand_path("../lib", __FILE__)
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "zhongwen_tools"
|
6
6
|
s.license = "MIT"
|
7
|
-
s.version = "0.0
|
7
|
+
s.version = "0.1.0"
|
8
8
|
s.authors = ["Steven Daniels"]
|
9
9
|
s.email = ["steven@tastymantou.com"]
|
10
10
|
s.homepage = "https://github.com/stevendaniels/zhongwen_tools"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zhongwen_tools
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Steven Daniels
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-01-
|
11
|
+
date: 2014-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -80,6 +80,7 @@ files:
|
|
80
80
|
- README.md
|
81
81
|
- Rakefile
|
82
82
|
- lib/zhongwen_tools.rb
|
83
|
+
- lib/zhongwen_tools/integer.rb
|
83
84
|
- lib/zhongwen_tools/numbers.rb
|
84
85
|
- lib/zhongwen_tools/string.rb
|
85
86
|
- lib/zhongwen_tools/string/fullwidth.rb
|
@@ -87,6 +88,7 @@ files:
|
|
87
88
|
- lib/zhongwen_tools/string/ruby19.rb
|
88
89
|
- test/test_conversion.rb
|
89
90
|
- test/test_helper.rb
|
91
|
+
- test/test_integer.rb
|
90
92
|
- test/test_numbers.rb
|
91
93
|
- test/test_romanization.rb
|
92
94
|
- test/test_string.rb
|
@@ -118,6 +120,7 @@ summary: Zhongwen Tools provide romanization conversions and helper methods for
|
|
118
120
|
test_files:
|
119
121
|
- test/test_conversion.rb
|
120
122
|
- test/test_helper.rb
|
123
|
+
- test/test_integer.rb
|
121
124
|
- test/test_numbers.rb
|
122
125
|
- test/test_romanization.rb
|
123
126
|
- test/test_string.rb
|