zhongwen_tools 0.12.2 → 0.12.4

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
  SHA1:
3
- metadata.gz: 17555fc2b7ad68dc9185b7f0ae0eea1226a799eb
4
- data.tar.gz: 4b53940c086bf4b839fd5cf22e5a6bb380692b26
3
+ metadata.gz: 466a2ff98a772d2209ee19dc8e9247f5d583a634
4
+ data.tar.gz: 70b02d066dd3d5fe4f77d9a44c3f7d128fd8e0e1
5
5
  SHA512:
6
- metadata.gz: 7ac4b646e848da7548a3b9f8915b3202099186c913acd78a6130826bef2bda1bcd3ae18b8ab5d19409d30c59722fd6dd708b863d57b197e4336fb81ae4e20785
7
- data.tar.gz: adc22130db84d0320b5763484435d94913d5359c1983a9631202cfe6f3181173e1185b0a1962a99521bc2d142a6df1930d504c1ef2159fecbd8509b59ce17856
6
+ metadata.gz: ed785ce19696c432b19cb0f638f1ba600457b4ffe78712f3a0d877709003fc31752978c53bbb007709615e04bb49b4109d08169bf5709a567fec058435fe123a
7
+ data.tar.gz: 4c54eba7f80ab986b01eaf746d76e08730387bc16d088a55a9881fa9c1d595577a11b1a4de294564da14b6d6534884b9ca687e66a5b887f344d073b798c0da5f
@@ -1,5 +1,6 @@
1
1
  # encoding: utf-8
2
2
  require 'zhongwen_tools/regex'
3
+ require 'zhongwen_tools/romanization/string'
3
4
 
4
5
  module ZhongwenTools
5
6
  module Romanization
@@ -35,7 +36,11 @@ module ZhongwenTools
35
36
  def pyn?(str = nil)
36
37
  str ||= self
37
38
 
38
- str.gsub(Regex.punc,'').gsub(Regex.pyn, '').gsub(/[\s\-]/,'').strip == ''
39
+ normalized_str = str.gsub(Regex.punc,'').gsub(/[\s\-]/,'').downcase
40
+ parts = split_pyn(normalized_str).map{ |p| p }
41
+ pyns = ROMANIZATIONS_TABLE.map{ |r| r[:pyn] }
42
+
43
+ parts.join('') == normalized_str && parts.size == parts.select{ |p| pyns.include? p.gsub(/[1-5]/,'') }.size
39
44
  end
40
45
 
41
46
  # Public: Checks if a String is Zhuyin Fuhao (a.k.a. bopomofo).
@@ -104,7 +109,7 @@ module ZhongwenTools
104
109
  str ||= self
105
110
 
106
111
  [:pyn, :py, :zyfh, :wg, :typy, :yale, :mps2].find do |type|
107
- self.send("#{type}?", str)
112
+ send("#{type}?", str)
108
113
  end
109
114
  end
110
115
 
@@ -15,7 +15,6 @@ module ZhongwenTools
15
15
  # Returns an Array of Strings.
16
16
  def split_pyn(str = nil)
17
17
  str ||= self
18
- puts "WARNING: string is not valid pinyin-num format. #{str}" unless str.pyn?
19
18
  # FIXME: ignore punctuation
20
19
  str.scan(/(#{Regex.pyn})/).map{ |arr| arr[0].strip.gsub('-','') }.flatten
21
20
  end
@@ -1,3 +1,3 @@
1
1
  module ZhongwenTools
2
- VERSION = '0.12.2'
2
+ VERSION = '0.12.4'
3
3
  end
@@ -121,12 +121,14 @@ class TestRomanization < Minitest::Test
121
121
  def test_romanization?
122
122
  assert_equal :pyn, @alabo[:pyn].romanization?
123
123
  assert_equal :py, @alabo[:py].romanization?
124
+ assert_equal :zyfh, 'ㄋㄧ3 ㄏㄠ3'.romanization?
124
125
  assert_equal :wg, @mzd.to_wg(:pyn).romanization?
125
126
  end
126
127
 
127
128
  def test_detect
128
129
  assert @str.pyn?
129
130
  assert " #{@str}".pyn?
131
+ refute 'Ardanz'.pyn?
130
132
  refute @py.pyn?
131
133
 
132
134
  assert 'chung1 kuo2'.wg?
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
24
24
  s.add_development_dependency('simplecov', '~> 0.7', '>= 0.7.0')
25
25
  s.add_development_dependency('simplecov-gem-adapter', '~> 1.0', '>= 1.0.1')
26
26
  s.add_development_dependency('coveralls', '~> 0.7', '>= 0.7.0')
27
- s.add_development_dependency('minitest', '~> 5')
27
+ s.add_development_dependency('minitest', '~> 5.3', '>= 5.3.0')
28
28
  s.add_development_dependency('pry', '~> 0.9', '>= 0.9.12')
29
29
  end
30
30
  end
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.12.2
4
+ version: 0.12.4
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-06-18 00:00:00.000000000 Z
11
+ date: 2014-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -90,14 +90,20 @@ dependencies:
90
90
  requirements:
91
91
  - - "~>"
92
92
  - !ruby/object:Gem::Version
93
- version: '5'
93
+ version: '5.3'
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: 5.3.0
94
97
  type: :development
95
98
  prerelease: false
96
99
  version_requirements: !ruby/object:Gem::Requirement
97
100
  requirements:
98
101
  - - "~>"
99
102
  - !ruby/object:Gem::Version
100
- version: '5'
103
+ version: '5.3'
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ version: 5.3.0
101
107
  - !ruby/object:Gem::Dependency
102
108
  name: pry
103
109
  requirement: !ruby/object:Gem::Requirement