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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6b3c5036ea0e880cf565743282efa08945cfe60b1d9ea407177145a384a580f3
4
- data.tar.gz: 50087ae0cb60509dfe7413b8ef48e2ca18de4fb1192f36fd93b4c008dd4d113e
3
+ metadata.gz: f4d7c61e8713c8779ee3429d1b8964d3781e3fc17f12948c3d7a670e1b1d83fa
4
+ data.tar.gz: e3558aabdc6803f2a7e3b85d6393c89395cf5b4ed12264e2fb8ec8cdcaa356e4
5
5
  SHA512:
6
- metadata.gz: 2935bec3f50088ff3b4defbe611d147cb97303dd8d353d4ec870e75005e047c4a64cfe6291b2df4c788683243d967b120a37a135e258d68cc0194df26517f6dd
7
- data.tar.gz: be1335fde0f93bf057d206fa5b7440aac3e356ae61a72dce04b3951704c6fbb8ea1ed083606d661fae951cecfa806a4c7815dc0879910a03d8f1da3fc5ffc10e
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.1
6
- - 2.2.0
5
+ - 2.4
6
+ - 2.6
7
+ - 2.7.0
7
8
  - ruby-head
8
9
  - jruby-19mode
9
- - rbx-2
10
+ - rbx-4
10
11
  matrix:
11
12
  allow_failures:
12
13
  - rvm: ruby-head
13
14
  - rvm: jruby-19mode
14
- - rvm: rbx-2
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
- Status](https://img.shields.io/travis/stevendaniels/zhongwen_tools.svg?style=flat-square)](https://travis-ci.org/stevendaniels/zhongwen_tools) [![Dependency Status](https://img.shields.io/gemnasium/stevendaniels/zhongwen_tools.svg?style=flat-square)](https://gemnasium.com/stevendaniels/zhongwen_tools) [![Code Climate](https://img.shields.io/codeclimate/github/stevendaniels/zhongwen_tools.svg?style=flat-square)](https://codeclimate.com/github/stevendaniels/zhongwen_tools) [![Coverage Status](https://img.shields.io/coveralls/stevendaniels/zhongwen_tools.svg?style=flat-square)](https://coveralls.io/r/stevendaniels/zhongwen_tools)
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, Fixnum, Float
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 [String, Integer, Fixnum, Bignum].include?(obj.class)
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 [Fixnum, Integer, Bignum].include?(klass)
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(/零[#{ Regex.zh_number_multiple }]*/u, '')
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 = /([#{ Regex.only_tones }])(n(#{Regex.py_tones['v']}|#{Regex.py_tones['i']}|[iu]|#{Regex.py_tones['e']}|[#{Regex.py_tones['a']}]))/
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
 
@@ -15,7 +15,7 @@ module ZhongwenTools
15
15
  end
16
16
 
17
17
  def self.split(str)
18
- regex = /([#{ZhongwenTools::Regex.bopomofo}]*)/
18
+ regex = /(#{ZhongwenTools::Regex.bopomofo}*)/
19
19
 
20
20
  ZhongwenTools::Romanization.split_romanization(str, regex)
21
21
  end
@@ -1,3 +1,3 @@
1
1
  module ZhongwenTools
2
- VERSION = "0.19.6"
2
+ VERSION = "0.19.7"
3
3
  end
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
@@ -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('rake', '~> 10.1')
22
- if RUBY_VERSION >= '1.9'
23
- s.add_development_dependency('simplecov', '~> 0.16', '>= 0.16.0')
24
- s.add_development_dependency('simplecov-gem-adapter', '~> 1.0', '>= 1.0.1')
25
- s.add_development_dependency('coveralls', '~> 0.8', '>= 0.8.1')
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.6
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: 2019-04-28 00:00:00.000000000 Z
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: pry
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.10'
99
+ version: '1.0'
114
100
  - - ">="
115
101
  - !ruby/object:Gem::Version
116
- version: 0.10.1
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.10'
109
+ version: '1.0'
124
110
  - - ">="
125
111
  - !ruby/object:Gem::Version
126
- version: 0.10.1
112
+ version: 1.0.10
127
113
  - !ruby/object:Gem::Dependency
128
- name: minitest-reporters
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: '1.0'
133
+ version: '0.13'
134
134
  - - ">="
135
135
  - !ruby/object:Gem::Version
136
- version: 1.0.10
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: '1.0'
143
+ version: '0.13'
144
144
  - - ">="
145
145
  - !ruby/object:Gem::Version
146
- version: 1.0.10
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: '0'
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
- rubyforge_project: zhongwen_tools
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.