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 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.