zhongwen_tools 0.19.6 → 0.19.7
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
-
[![Build
|
5
|
-
|
4
|
+
[![Build Status](https://img.shields.io/travis/stevendaniels/zhongwen_tools.svg?style=flat-square)](https://travis-ci.org/stevendaniels/zhongwen_tools)
|
5
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/90b5794e9cc3a3b4207d/maintainability)](https://codeclimate.com/github/stevendaniels/zhongwen_tools/maintainability)
|
6
|
+
[![Coverage Status](https://img.shields.io/coveralls/stevendaniels/zhongwen_tools.svg?style=flat-square)](https://coveralls.io/r/stevendaniels/zhongwen_tools)
|
6
7
|
[![Gem Version](https://img.shields.io/gem/v/zhongwen_tools.svg?style=flat-square)](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.
|