igo 0.1.4.5 → 0.1.4.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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/igo/version.rb +1 -1
  3. data/lib/igo/zh.rb +6 -4
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f8d29ccb85327a2b7ed069ef514f2f93601219bfea47aa793560f7275a9d24cc
4
- data.tar.gz: 1ab3272f76a86437873d4272148271972ec3e9d28fa672bd47d96a342af127b1
3
+ metadata.gz: 0c8f0d9f5ea87020a04c9a3a59b91a7db5dc67d114783ac545f4823a57435694
4
+ data.tar.gz: 00eb62090811353dff3727322c5f8b54122a05210fe9f26ec7ae11147282ac0d
5
5
  SHA512:
6
- metadata.gz: abad6bdf5a657706408f6f2303624523eb4cdfefe31d010a69d09a558bce145a6bef92679266576c9a48a40750a332c3f814738da4b9fe31690a23e8e5436bc2
7
- data.tar.gz: baca5c388703bd4788df84a6087e701d630e25df50cb3dc09c5b753304f66bd3bafd7ed0769b695ef4466a48b8bb1c8aaa5129cd24e1518cc1d978e911579a47
6
+ metadata.gz: 218524a62e6cada3389d228cec2b0f3245fba6193045fff8ce85c000a6f9537ba6e437b3132dee1cfdd8d3caccbc48546cc878bb5cba621143e5c2817c6059c8
7
+ data.tar.gz: 9084751b5d917ce6ed9228c0258070e593c6f549787bc9faff24be95caee0c8bc8f729f88249bcdb06dace9c0d2b48f2204adeffac698f54563d4fd3df99603c
data/lib/igo/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Igo
4
- VERSION = "0.1.4.5"
4
+ VERSION = "0.1.4.7"
5
5
  end
data/lib/igo/zh.rb CHANGED
@@ -54,6 +54,7 @@ module Igo
54
54
  Tagging = JiebaRb::Tagging.new
55
55
  Segment = JiebaRb::Segment.new mode: :mix, user_dict: "ext/cppjieba/dict/user.dict.utf8"
56
56
  Keyword = JiebaRb::Keyword.new
57
+ HANZI_ORDS = [12295..12295, 13312..19903, 19968..40959, 63744..64255, 131072..173791, 173824..177983, 194560..195103]
57
58
 
58
59
  class << self
59
60
  # ### Pinyin :: 拼音
@@ -67,12 +68,11 @@ module Igo
67
68
  # @returns pinyin_numeraltone: String
68
69
  def pinyin str, s: false, ommit: " "
69
70
  # tone 1, 2, 3, 4, 5
70
- hanzi_ords = [13312..19903, 19968..40959, 63744..64255, 131072..173791, 173824..177983, 194560..195103]
71
71
 
72
72
  res = str.split(/(?=[^A-Z\d])|(?<=[^A-Z\d])/i).map do |ch|
73
- if hanzi_ords.map{|range| range.include? ch.ord}.any?
73
+ if HANZI_ORDS.map{|range| range.include? ch.ord}.any?
74
74
  py = PinYin.sentence(ch, :ascii)
75
- py =~ /\d/ ? py : (py+"5")
75
+ py == "〇" ? "ling2" : (py =~ /\d/ ? py : (py+"5"))
76
76
  else ch
77
77
  end
78
78
  end.flatten.select{_1 != s and _1 != ommit}
@@ -94,7 +94,9 @@ module Igo
94
94
  end
95
95
  when /thulac/
96
96
  require_relative 'thulac'
97
- Thulac.cut(str, text: s)
97
+ res = Thulac.cut(str).map(&:first)
98
+ sep = s.is_a?(String) ? s : " "
99
+ s ? res.join(sep) : res
98
100
  end
99
101
  end
100
102
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: igo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4.5
4
+ version: 0.1.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - saisui