kanji_master 0.2.0 → 0.2.5

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
  SHA1:
3
- metadata.gz: 121c226ea03905421f75b64fbd3068c90a42e002
4
- data.tar.gz: ca3eb70055062636d75a8f01da769a91ff4033f3
3
+ metadata.gz: 46944f2344cb0c4c0e0aaf5a425e2dd07007df81
4
+ data.tar.gz: bd0a9bd46b232c8588dbafb2b82041e6c83e3538
5
5
  SHA512:
6
- metadata.gz: 42efb884d32663bb87919d0626a2f0f6a0863f8ac94ae71dec22ac66e77a6fbc8b4fb1176b6103d6562091b287a0bf6ac0fe7bae72fbdb71649c59ba79cde275
7
- data.tar.gz: 094055e9e9fc33a89358581e8f6fc24328c981239c47414e30f070ba977615ccebfc713be0e6adc3fc0cf750ff106f4656f1812f3b55447c5449c3f14772b887
6
+ metadata.gz: c7e62429746ba7160910118141bd89865f8dce08626d80d41633ce8530f645b9e4e91928aebf20b5df673a381026fcfc032b76851d38673154b8daf65c122a6f
7
+ data.tar.gz: f8626869093ad041123f0c14b86bb4ae6c5c4186eb321391434944857e139b401ea990218e423d57b7e44465ccf9e7e96e253c61426452fcfe3298b7c6fde46e
data/README.md CHANGED
@@ -37,7 +37,7 @@ analyzed_text.alphabets # => "alphabet"
37
37
  analyzed_text.kanjis # => "漢字"
38
38
  ```
39
39
 
40
- ## Counter
40
+ ### Counter
41
41
 
42
42
  ```ruby
43
43
  counter = KanjiMaster::Counter.new
@@ -45,6 +45,16 @@ counter.kanji(3)
45
45
  # => '三'
46
46
  ```
47
47
 
48
+ ### Converter
49
+
50
+ ```ruby
51
+ converter = KanjiMaster::Conveter.new
52
+ converter.kana('すし') #=> 'スシ'
53
+ converter.kana('sushi') #=> 'スシ'
54
+ converter.hira('スシ') #=> 'すし'
55
+ converter.hira('sushi') #=> 'すし'
56
+ ```
57
+
48
58
  ## Development
49
59
 
50
60
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
data/kanji_master.gemspec CHANGED
@@ -30,6 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
+ spec.add_runtime_dependency "romaji", "~> 0.2.3"
34
+
33
35
  spec.add_development_dependency "bundler", "~> 1.14"
34
36
  spec.add_development_dependency "rake", "~> 10.0"
35
37
  spec.add_development_dependency "rspec", "~> 3.0"
@@ -0,0 +1,32 @@
1
+ require 'nkf'
2
+ require 'romaji'
3
+
4
+ module KanjiMaster
5
+ class Converter
6
+ def initialize(api_key: nil)
7
+ @api_key = api_key
8
+ end
9
+
10
+ def katakana(text); kana(text) end
11
+ def kana(text)
12
+ if text.match(RegexConstant::HIRAGANA_REGEX)
13
+ NKF.nkf("--katakana -Ww", text)
14
+ elsif text.match(RegexConstant::KATAKANA_REGEX)
15
+ text
16
+ elsif text.match(RegexConstant::ROMAJI_REGEX)
17
+ Romaji.romaji2kana text
18
+ end
19
+ end
20
+
21
+ def hiragana(text); hira(text) end
22
+ def hira(text)
23
+ if text.match(RegexConstant::HIRAGANA_REGEX)
24
+ text
25
+ elsif text.match(RegexConstant::KATAKANA_REGEX)
26
+ NKF.nkf("--hiragana -Ww", text)
27
+ elsif text.match(RegexConstant::ROMAJI_REGEX)
28
+ Romaji.romaji2kana text, :kana_type => :hiragana
29
+ end
30
+ end
31
+ end
32
+ end
@@ -1,6 +1,11 @@
1
1
  module KanjiMaster
2
2
  class RegexConstant
3
3
  NON_ENGLISH_REGEX = /[^\u0000-\u007F]$/i
4
- KANJI_REGEX = /[\p{Han}]+/
4
+
5
+ # Japanese Regex
6
+ KANJI_REGEX = /[\p{Han}]+/
7
+ HIRAGANA_REGEX = /[\p{Hiragana}]+/
8
+ KATAKANA_REGEX = /[\p{Katakana}]+/
9
+ ROMAJI_REGEX = /^[a-zA-Z]/
5
10
  end
6
11
  end
@@ -1,3 +1,3 @@
1
1
  module KanjiMaster
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.5"
3
3
  end
data/lib/kanji_master.rb CHANGED
@@ -4,3 +4,4 @@ require "kanji_master/regex_constant"
4
4
  require "kanji_master/text"
5
5
  require "kanji_master/reader"
6
6
  require "kanji_master/counter"
7
+ require "kanji_master/converter"
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kanji_master
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - DONGSHIH TENG
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-06-05 00:00:00.000000000 Z
11
+ date: 2017-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: romaji
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.2.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.2.3
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement
@@ -115,6 +129,7 @@ files:
115
129
  - kanji_master.gemspec
116
130
  - lib/kanji_master.rb
117
131
  - lib/kanji_master/constant.rb
132
+ - lib/kanji_master/converter.rb
118
133
  - lib/kanji_master/counter.rb
119
134
  - lib/kanji_master/reader.rb
120
135
  - lib/kanji_master/regex_constant.rb