zhongwen_tools 0.19.6 → 0.19.7
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/.travis.yml +6 -4
- data/README.md +3 -2
- data/lib/zhongwen_tools/number.rb +11 -4
- data/lib/zhongwen_tools/romanization/pinyin.rb +1 -1
- data/lib/zhongwen_tools/romanization/zhuyin_fuhao.rb +1 -1
- data/lib/zhongwen_tools/version.rb +1 -1
- data/test/test_core.rb +3 -0
- data/test/test_script.rb +4 -3
- data/test/test_string_extension.rb +0 -1
- data/zhongwen_tools.gemspec +11 -12
- metadata +28 -29
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f4d7c61e8713c8779ee3429d1b8964d3781e3fc17f12948c3d7a670e1b1d83fa
|
|
4
|
+
data.tar.gz: e3558aabdc6803f2a7e3b85d6393c89395cf5b4ed12264e2fb8ec8cdcaa356e4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c1d7051f6577c8d08db9f6eea25bb842ebec0f28983ad43753dd169d8d8f32ad2e94f1e4518c802b590805df9bc00757678f5146366aba2524462a75ea068c5
|
|
7
|
+
data.tar.gz: d168dc6a0ac5d52a7c420d2822fe94c1c8bd8602d6a4f70393aff7ee0a9e30553ea79ee401019251029516ad1599f689ccbe87747250accb691832467489be3e
|
data/.travis.yml
CHANGED
|
@@ -2,13 +2,15 @@ language: ruby
|
|
|
2
2
|
rvm:
|
|
3
3
|
- 1.9.3
|
|
4
4
|
- 2.0.0
|
|
5
|
-
- 2.
|
|
6
|
-
- 2.
|
|
5
|
+
- 2.4
|
|
6
|
+
- 2.6
|
|
7
|
+
- 2.7.0
|
|
7
8
|
- ruby-head
|
|
8
9
|
- jruby-19mode
|
|
9
|
-
- rbx-
|
|
10
|
+
- rbx-4
|
|
10
11
|
matrix:
|
|
11
12
|
allow_failures:
|
|
12
13
|
- rvm: ruby-head
|
|
13
14
|
- rvm: jruby-19mode
|
|
14
|
-
- rvm: rbx-
|
|
15
|
+
- rvm: rbx-4
|
|
16
|
+
- rvm: 2.4
|
data/README.md
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
#Zhongwen Tools:
|
|
2
2
|
Methods for dealing with Chinese.
|
|
3
3
|
|
|
4
|
-
[](https://travis-ci.org/stevendaniels/zhongwen_tools)
|
|
5
|
+
[](https://codeclimate.com/github/stevendaniels/zhongwen_tools/maintainability)
|
|
6
|
+
[](https://coveralls.io/r/stevendaniels/zhongwen_tools)
|
|
6
7
|
[](http://badge.fury.io/rb/zhongwen_tools)
|
|
7
8
|
|
|
8
9
|
##INSTALLATION
|
|
@@ -6,13 +6,20 @@ require 'zhongwen_tools/number/number_table'
|
|
|
6
6
|
|
|
7
7
|
module ZhongwenTools
|
|
8
8
|
# Number.to_pyn, to_i, to_zhs, etc.
|
|
9
|
+
if RUBY_VERSION >= "2.4.0"
|
|
10
|
+
CONVERTIBLE_OBJECTS = [String, Integer]
|
|
11
|
+
NUMBER_CLASSES = [Integer]
|
|
12
|
+
else
|
|
13
|
+
CONVERTIBLE_OBJECTS = [String, Integer, Fixnum, Bignum]
|
|
14
|
+
NUMBER_CLASSES = [Fixnum, Integer, Bignum]
|
|
15
|
+
end
|
|
9
16
|
module Number
|
|
10
17
|
def self.number?(obj)
|
|
11
18
|
case obj
|
|
12
19
|
when String
|
|
13
20
|
regex = /([\d]|#{ZhongwenTools::Regex.zh_numbers}){1,}/
|
|
14
21
|
"#{obj}".gsub(regex, '') == ''
|
|
15
|
-
when Integer,
|
|
22
|
+
when Integer, Float
|
|
16
23
|
true
|
|
17
24
|
end
|
|
18
25
|
end
|
|
@@ -39,7 +46,7 @@ module ZhongwenTools
|
|
|
39
46
|
|
|
40
47
|
def self.convert(obj, to, from, separator = '')
|
|
41
48
|
fail ArgumentError unless [:zhs, :zht, :i, :pyn].include?(to.to_sym)
|
|
42
|
-
fail ArgumentError unless
|
|
49
|
+
fail ArgumentError unless CONVERTIBLE_OBJECTS.include?(obj.class)
|
|
43
50
|
|
|
44
51
|
number = convert_from from, to, obj
|
|
45
52
|
|
|
@@ -56,7 +63,7 @@ module ZhongwenTools
|
|
|
56
63
|
def self.number_type(obj)
|
|
57
64
|
klass = obj.class
|
|
58
65
|
|
|
59
|
-
if
|
|
66
|
+
if NUMBER_CLASSES.include?(klass)
|
|
60
67
|
:i
|
|
61
68
|
else
|
|
62
69
|
if ZhongwenTools::Zhongwen.zh?(obj)
|
|
@@ -211,7 +218,7 @@ module ZhongwenTools
|
|
|
211
218
|
# FIXME: is finalize_number the best name you can think of?
|
|
212
219
|
# NOTE: Figuring out usage of "liang" vs. "er" is pretty
|
|
213
220
|
# difficult, so always use "er" instead.
|
|
214
|
-
number.join(separator).gsub(
|
|
221
|
+
number.join(separator).gsub(/零#{ Regex.zh_number_multiple }*/u, '')
|
|
215
222
|
end
|
|
216
223
|
end
|
|
217
224
|
end
|
|
@@ -153,7 +153,7 @@ module ZhongwenTools
|
|
|
153
153
|
def self.normalize_n(pinyin)
|
|
154
154
|
# Special Case split_py("yìnián") # => ["yì" + "nián"]
|
|
155
155
|
# split_py("Xīní") # => ["Xī", "ní"]
|
|
156
|
-
regex =
|
|
156
|
+
regex = /#{Regex.only_tones}(n(#{Regex.py_tones['v']}|#{Regex.py_tones['i']}|[iu]|#{Regex.py_tones['e']}|[#{Regex.py_tones['a']}]))/
|
|
157
157
|
pinyin.gsub(regex) { "#{$1}-#{$2}" }
|
|
158
158
|
end
|
|
159
159
|
|
data/test/test_core.rb
CHANGED
|
@@ -4,10 +4,13 @@ $:.unshift File.join(File.dirname(__FILE__),'..','lib')
|
|
|
4
4
|
require './test/test_helper'
|
|
5
5
|
|
|
6
6
|
class TestCore < Minitest::Test
|
|
7
|
+
|
|
7
8
|
def test_core_ext_does_not_have_script_functions
|
|
8
9
|
load 'test_helpers/unload_zhongwen_tools_script.rb'
|
|
9
10
|
require 'zhongwen_tools/core'
|
|
10
11
|
require 'zhongwen_tools/core_ext/string'
|
|
11
12
|
assert_raises(NoMethodError){ '你们'.to_zht }
|
|
13
|
+
# NOTE: restoring ZhongwenTools::Script
|
|
14
|
+
load 'zhongwen_tools/script.rb'
|
|
12
15
|
end
|
|
13
16
|
end
|
data/test/test_script.rb
CHANGED
|
@@ -2,9 +2,10 @@
|
|
|
2
2
|
$:.unshift File.join(File.dirname(__FILE__),'..','lib')
|
|
3
3
|
|
|
4
4
|
require './test/test_helper'
|
|
5
|
+
require 'zhongwen_tools/script'
|
|
6
|
+
|
|
5
7
|
class TestScript < Minitest::Test
|
|
6
8
|
def setup
|
|
7
|
-
load 'zhongwen_tools/script.rb'
|
|
8
9
|
@strings = [
|
|
9
10
|
{
|
|
10
11
|
:zhs => '干部一干人等干事不干不净',
|
|
@@ -116,5 +117,5 @@ class TestScript < Minitest::Test
|
|
|
116
117
|
assert ZhongwenTools::Script.zht?(hash[:zhtw])
|
|
117
118
|
assert ZhongwenTools::Script.zht?(hash[:zhhk])
|
|
118
119
|
end
|
|
119
|
-
end
|
|
120
|
-
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
@@ -72,7 +72,6 @@ class TestStringExtention < Minitest::Test
|
|
|
72
72
|
assert_equal @rom[:pyn].romanization?, :pyn
|
|
73
73
|
|
|
74
74
|
# script.rb
|
|
75
|
-
load 'zhongwen_tools/script.rb'# unless ZhongwenTools.const_defined?(:Script)
|
|
76
75
|
assert_equal @zh[:zht], @zh[:zhs].to_zht
|
|
77
76
|
assert_equal @zh[:zhs], @zh[:zht].to_zhs
|
|
78
77
|
assert_equal @zh[:zhcn], @zh[:zhhk].to_zhcn
|
data/zhongwen_tools.gemspec
CHANGED
|
@@ -11,24 +11,23 @@ Gem::Specification.new do |s|
|
|
|
11
11
|
s.homepage = 'https://github.com/stevendaniels/zhongwen_tools'
|
|
12
12
|
s.summary = %q{Zhongwen Tools provide romanization conversions and helper methods for Chinese.}
|
|
13
13
|
s.description = %q{Chinese tools for romanization conversions and other helpful string functions for Chinese.}
|
|
14
|
-
s.rubyforge_project = 'zhongwen_tools'
|
|
15
|
-
|
|
16
14
|
s.files = `git ls-files`.split("\n")
|
|
17
15
|
s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
|
|
18
16
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
|
19
17
|
s.require_paths = ['lib']
|
|
18
|
+
s.required_ruby_version = '>= 1.9.3'
|
|
20
19
|
|
|
21
|
-
s.add_development_dependency('
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
s.add_development_dependency('minitest', '~> 5.5', '>= 5.5.1')
|
|
27
|
-
s.add_development_dependency('pry', '~> 0.10', '>= 0.10.1')
|
|
28
|
-
s.add_development_dependency('minitest-reporters', '~> 1.0', '>= 1.0.10')
|
|
29
|
-
end
|
|
30
|
-
|
|
20
|
+
s.add_development_dependency('simplecov', '~> 0.16', '>= 0.16.0')
|
|
21
|
+
s.add_development_dependency('simplecov-gem-adapter', '~> 1.0', '>= 1.0.1')
|
|
22
|
+
s.add_development_dependency('coveralls', '~> 0.8', '>= 0.8.1')
|
|
23
|
+
s.add_development_dependency('minitest', '~> 5.5', '>= 5.5.1')
|
|
24
|
+
s.add_development_dependency('minitest-reporters', '~> 1.0', '>= 1.0.10')
|
|
31
25
|
if RUBY_VERSION >= '2.1'
|
|
26
|
+
s.add_development_dependency "rake", ">= 12.3.3"
|
|
27
|
+
s.add_development_dependency('pry', '~> 0.13', '>= 0.13.0')
|
|
32
28
|
s.add_development_dependency('memory_profiler', '0.0.4')
|
|
29
|
+
else
|
|
30
|
+
s.add_development_dependency('json', '~> 2.2.0')
|
|
31
|
+
s.add_development_dependency('rake', '~> 10.1')
|
|
33
32
|
end
|
|
34
33
|
end
|
metadata
CHANGED
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: zhongwen_tools
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.19.
|
|
4
|
+
version: 0.19.7
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Steven Daniels
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-04-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
|
-
- !ruby/object:Gem::Dependency
|
|
14
|
-
name: rake
|
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
|
16
|
-
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '10.1'
|
|
20
|
-
type: :development
|
|
21
|
-
prerelease: false
|
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
23
|
-
requirements:
|
|
24
|
-
- - "~>"
|
|
25
|
-
- !ruby/object:Gem::Version
|
|
26
|
-
version: '10.1'
|
|
27
13
|
- !ruby/object:Gem::Dependency
|
|
28
14
|
name: simplecov
|
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -105,45 +91,59 @@ dependencies:
|
|
|
105
91
|
- !ruby/object:Gem::Version
|
|
106
92
|
version: 5.5.1
|
|
107
93
|
- !ruby/object:Gem::Dependency
|
|
108
|
-
name:
|
|
94
|
+
name: minitest-reporters
|
|
109
95
|
requirement: !ruby/object:Gem::Requirement
|
|
110
96
|
requirements:
|
|
111
97
|
- - "~>"
|
|
112
98
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: '0
|
|
99
|
+
version: '1.0'
|
|
114
100
|
- - ">="
|
|
115
101
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: 0.10
|
|
102
|
+
version: 1.0.10
|
|
117
103
|
type: :development
|
|
118
104
|
prerelease: false
|
|
119
105
|
version_requirements: !ruby/object:Gem::Requirement
|
|
120
106
|
requirements:
|
|
121
107
|
- - "~>"
|
|
122
108
|
- !ruby/object:Gem::Version
|
|
123
|
-
version: '0
|
|
109
|
+
version: '1.0'
|
|
124
110
|
- - ">="
|
|
125
111
|
- !ruby/object:Gem::Version
|
|
126
|
-
version: 0.10
|
|
112
|
+
version: 1.0.10
|
|
127
113
|
- !ruby/object:Gem::Dependency
|
|
128
|
-
name:
|
|
114
|
+
name: rake
|
|
115
|
+
requirement: !ruby/object:Gem::Requirement
|
|
116
|
+
requirements:
|
|
117
|
+
- - ">="
|
|
118
|
+
- !ruby/object:Gem::Version
|
|
119
|
+
version: 12.3.3
|
|
120
|
+
type: :development
|
|
121
|
+
prerelease: false
|
|
122
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
123
|
+
requirements:
|
|
124
|
+
- - ">="
|
|
125
|
+
- !ruby/object:Gem::Version
|
|
126
|
+
version: 12.3.3
|
|
127
|
+
- !ruby/object:Gem::Dependency
|
|
128
|
+
name: pry
|
|
129
129
|
requirement: !ruby/object:Gem::Requirement
|
|
130
130
|
requirements:
|
|
131
131
|
- - "~>"
|
|
132
132
|
- !ruby/object:Gem::Version
|
|
133
|
-
version: '
|
|
133
|
+
version: '0.13'
|
|
134
134
|
- - ">="
|
|
135
135
|
- !ruby/object:Gem::Version
|
|
136
|
-
version:
|
|
136
|
+
version: 0.13.0
|
|
137
137
|
type: :development
|
|
138
138
|
prerelease: false
|
|
139
139
|
version_requirements: !ruby/object:Gem::Requirement
|
|
140
140
|
requirements:
|
|
141
141
|
- - "~>"
|
|
142
142
|
- !ruby/object:Gem::Version
|
|
143
|
-
version: '
|
|
143
|
+
version: '0.13'
|
|
144
144
|
- - ">="
|
|
145
145
|
- !ruby/object:Gem::Version
|
|
146
|
-
version:
|
|
146
|
+
version: 0.13.0
|
|
147
147
|
- !ruby/object:Gem::Dependency
|
|
148
148
|
name: memory_profiler
|
|
149
149
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -225,15 +225,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
225
225
|
requirements:
|
|
226
226
|
- - ">="
|
|
227
227
|
- !ruby/object:Gem::Version
|
|
228
|
-
version:
|
|
228
|
+
version: 1.9.3
|
|
229
229
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
230
|
requirements:
|
|
231
231
|
- - ">="
|
|
232
232
|
- !ruby/object:Gem::Version
|
|
233
233
|
version: '0'
|
|
234
234
|
requirements: []
|
|
235
|
-
|
|
236
|
-
rubygems_version: 2.7.3
|
|
235
|
+
rubygems_version: 3.1.2
|
|
237
236
|
signing_key:
|
|
238
237
|
specification_version: 4
|
|
239
238
|
summary: Zhongwen Tools provide romanization conversions and helper methods for Chinese.
|