hz2py 0.0.2 → 0.0.4

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.
data/README.rdoc CHANGED
@@ -33,6 +33,8 @@
33
33
  Hz2py.do("你好") => "ni hao"
34
34
  TraditionalAndSimplified.conv_t2s("鳳凰") => "凤凰"
35
35
  TraditionalAndSimplified.conv_s2t("无心插柳柳成阴") => "無心插柳柳成陰"
36
+ Hz2py.do("你好", :join_with => '-') => "ni-hao"
37
+ Hz2py.do("愛你", :join_with => '-', :to_simplified => true) => "ai-ni"
36
38
 
37
39
  == Test
38
40
 
data/hz2py.gemspec CHANGED
@@ -3,7 +3,7 @@ $:.push File.expand_path("../lib", __FILE__)
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "hz2py"
6
- s.version = "0.0.2"
6
+ s.version = "0.0.4"
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = "elvuel"
9
9
  s.email = "elvuel@gmail.com"
data/lib/elvuel/hz2py.rb CHANGED
@@ -459,14 +459,21 @@ module Elvuel
459
459
  "UNKNOWN"
460
460
  end
461
461
 
462
- def do(s)
462
+ def do(s, options={})
463
463
  return "" if s.to_s.empty?
464
- # According to actual requirements to decide whether to use traditional and simplified conversion(require 'traditional_and_simplified')
465
- # s = TraditionalAndSimplified.conv_x2x(s)
466
- delimiter = " "
464
+ str = s.to_s
465
+ delimiter = ' '
466
+ to_simplified = false
467
+ if options.is_a?(Hash)
468
+ delimiter = ' '
469
+ delimiter = options[:join_with] if options[:join_with]
470
+ delimiter = ' ' if delimiter.length > 1
471
+ to_simplified = options[:to_simplified]
472
+ end
473
+ str = ::TraditionalAndSimplified.conv_t2s(str) if to_simplified
467
474
  result = ""
468
475
  chrs = []
469
- diff_uni_asc(s.to_s.strip){ |out| chrs << out }
476
+ diff_uni_asc(str){ |out| chrs << out }
470
477
  chrs.each_with_index do |item, index|
471
478
  if item.is_a? Array
472
479
  utf8chr = item.collect { |n| n.to_s(16) }.join("")
@@ -478,6 +485,7 @@ module Elvuel
478
485
  result << item.chr
479
486
  end
480
487
  end
488
+ result[-1] = "" if result[-1].chr == delimiter
481
489
  result.strip
482
490
  end
483
491
 
data/spec/hz2py_spec.rb CHANGED
@@ -37,5 +37,16 @@ describe "Simplified Chinese(简体中文) characters into Chinese pinyin." do
37
37
  it "mix all" do
38
38
  Hz2py.do("釹kelv魜瀦汉字,English有意义瀦綉$").should == "UNKNOWN kelv UNKNOWN UNKNOWN han zi ,English you yi yi UNKNOWN UNKNOWN $"
39
39
  end
40
+
41
+ it "with specify delimiter" do
42
+ Hz2py.do("你好", :join_with => '-').should == "ni-hao"
43
+ Hz2py.do("你好").should == "ni hao"
44
+ Hz2py.do("黑空寻光", :join_with => '|').should == "hei|kong|xun|guang"
45
+ end
46
+
47
+ it "with Chinese Traditional to Simplified" do
48
+ Hz2py.do("你好愛", :join_with => '-', :to_simplified => true).should == "ni-hao-ai"
49
+ Hz2py.do("擔你檳好", :join_with => ' ', :to_simplified => true).should == "dan ni bing hao"
50
+ end
40
51
 
41
52
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 2
9
- version: 0.0.2
8
+ - 4
9
+ version: 0.0.4
10
10
  platform: ruby
11
11
  authors:
12
12
  - elvuel
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-01-04 00:00:00 +08:00
17
+ date: 2011-01-19 00:00:00 +08:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency