kanji_master 0.1.0 → 0.2.0

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: 78a48c14948667930ebbdf6ad911239d2f5a115e
4
- data.tar.gz: 20695c9cc95be413218a5c27e93ee8f721c037f2
3
+ metadata.gz: 121c226ea03905421f75b64fbd3068c90a42e002
4
+ data.tar.gz: ca3eb70055062636d75a8f01da769a91ff4033f3
5
5
  SHA512:
6
- metadata.gz: 48c4cf5b3b9d798d01152e528e9df59bf6ee293ff08c4762b11a57bbd1a238afc915130376d7bd977cce6afcb64e9912c246aa8eda03b9b5007cd2f62f965298
7
- data.tar.gz: 7e46b65c840479a518077564f561591f8f3b8eda87622dcdd8839faaa69d8ba10946711d539abdf633714855d26222820980fe52e2df60c9c3728678ac65850e
6
+ metadata.gz: 42efb884d32663bb87919d0626a2f0f6a0863f8ac94ae71dec22ac66e77a6fbc8b4fb1176b6103d6562091b287a0bf6ac0fe7bae72fbdb71649c59ba79cde275
7
+ data.tar.gz: 094055e9e9fc33a89358581e8f6fc24328c981239c47414e30f070ba977615ccebfc713be0e6adc3fc0cf750ff106f4656f1812f3b55447c5449c3f14772b887
data/.travis.yml CHANGED
@@ -1,5 +1,12 @@
1
1
  sudo: false
2
2
  language: ruby
3
3
  rvm:
4
+ - 2.2.5
4
5
  - 2.3.1
6
+ - 2.4.0
5
7
  before_install: gem install bundler -v 1.14.5
8
+ branches:
9
+ only:
10
+ - master
11
+ notifications:
12
+ email: false
data/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # KanjiMaster
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/kanji_master.svg)](https://badge.fury.io/rb/kanji_master)
4
+ [![Build Status](https://travis-ci.org/ToUMenu/kanji-master.svg?branch=master)](https://travis-ci.org/ToUMenu/kanji-master)
5
+ [![Coverage Status](https://coveralls.io/repos/github/ToUMenu/kanji-master/badge.svg?branch=master)](https://coveralls.io/github/ToUMenu/kanji-master?branch=master)
6
+
3
7
  ## Installation
4
8
 
5
9
  Add this line to your application's Gemfile:
@@ -26,6 +30,11 @@ reader.alphabet?('word')
26
30
  # => true
27
31
  reader.maybe_kanji?('漢字')
28
32
  # => true
33
+
34
+ analyzed_text = reader.read_text('漢字alphabet898989')
35
+ analyzed_text.numbers # => "898989"
36
+ analyzed_text.alphabets # => "alphabet"
37
+ analyzed_text.kanjis # => "漢字"
29
38
  ```
30
39
 
31
40
  ## Counter
data/kanji_master.gemspec CHANGED
@@ -35,4 +35,5 @@ Gem::Specification.new do |spec|
35
35
  spec.add_development_dependency "rspec", "~> 3.0"
36
36
  spec.add_development_dependency "pry"
37
37
  spec.add_development_dependency "pry-byebug"
38
+ spec.add_development_dependency "coveralls"
38
39
  end
@@ -0,0 +1,16 @@
1
+ module KanjiMaster
2
+ class Constant
3
+ KANJI_NUMBER = {
4
+ 0 => "零",
5
+ 1 => "一",
6
+ 2 => "二",
7
+ 3 => "三",
8
+ 4 => "四",
9
+ 5 => "五",
10
+ 6 => "六",
11
+ 7 => "七",
12
+ 8 => "八",
13
+ 9 => "九"
14
+ }
15
+ end
16
+ end
@@ -2,30 +2,10 @@ module KanjiMaster
2
2
  class Counter
3
3
  def kanji(number)
4
4
  number_array = number.to_s.split('').map(&:to_i)
5
+ kanji_hash = Constant::KANJI_NUMBER
5
6
  kanji_string = ""
6
7
  number_array.each do |i|
7
- case i
8
- when 0
9
- kanji_string = kanji_string + "零"
10
- when 1
11
- kanji_string = kanji_string + "一"
12
- when 2
13
- kanji_string = kanji_string + "二"
14
- when 3
15
- kanji_string = kanji_string + "三"
16
- when 4
17
- kanji_string = kanji_string + "四"
18
- when 5
19
- kanji_string = kanji_string + "五"
20
- when 6
21
- kanji_string = kanji_string + "六"
22
- when 7
23
- kanji_string = kanji_string + "七"
24
- when 8
25
- kanji_string = kanji_string + "八"
26
- when 9
27
- kanji_string = kanji_string + "九"
28
- end
8
+ kanji_string = kanji_string + kanji_hash[i]
29
9
  end
30
10
  kanji_string
31
11
  end
@@ -7,5 +7,17 @@ module KanjiMaster
7
7
  def maybe_kanji?(text)
8
8
  !alphabet?(text)
9
9
  end
10
+
11
+ def read_text(text)
12
+ matched_kanji = text.match(RegexConstant::KANJI_REGEX)
13
+
14
+ text_analyse = {}
15
+ text_analyse[:full_text] = text
16
+ text_analyse[:alphabets] = text.tr('^A-Za-z', '')
17
+ text_analyse[:numbers] = text.tr('^0-9', '')
18
+ text_analyse[:kanjis] = matched_kanji[0] if matched_kanji
19
+
20
+ Text.new(text_analyse)
21
+ end
10
22
  end
11
23
  end
@@ -1,5 +1,6 @@
1
1
  module KanjiMaster
2
2
  class RegexConstant
3
3
  NON_ENGLISH_REGEX = /[^\u0000-\u007F]$/i
4
+ KANJI_REGEX = /[\p{Han}]+/
4
5
  end
5
6
  end
@@ -0,0 +1,13 @@
1
+ module KanjiMaster
2
+ class Text
3
+ attr_accessor :text_analyse, :full_text, :kanjis, :numbers, :alphabets
4
+
5
+ def initialize(text_analyse)
6
+ @text_analyse = text_analyse
7
+ @full_text = text_analyse[:full_text]
8
+ @kanjis = text_analyse[:kanjis]
9
+ @numbers = text_analyse[:numbers]
10
+ @alphabets = text_analyse[:alphabets]
11
+ end
12
+ end
13
+ end
@@ -1,3 +1,3 @@
1
1
  module KanjiMaster
2
- VERSION = "0.1.0"
2
+ VERSION = "0.2.0"
3
3
  end
data/lib/kanji_master.rb CHANGED
@@ -1,4 +1,6 @@
1
1
  require "kanji_master/version"
2
+ require "kanji_master/constant"
2
3
  require "kanji_master/regex_constant"
4
+ require "kanji_master/text"
3
5
  require "kanji_master/reader"
4
6
  require "kanji_master/counter"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kanji_master
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - DONGSHIH TENG
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: coveralls
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: The gem will help you on handling kanji(chinese character). Handle the
84
98
  character without problem!
85
99
  email:
@@ -100,9 +114,11 @@ files:
100
114
  - bin/setup
101
115
  - kanji_master.gemspec
102
116
  - lib/kanji_master.rb
117
+ - lib/kanji_master/constant.rb
103
118
  - lib/kanji_master/counter.rb
104
119
  - lib/kanji_master/reader.rb
105
120
  - lib/kanji_master/regex_constant.rb
121
+ - lib/kanji_master/text.rb
106
122
  - lib/kanji_master/version.rb
107
123
  homepage: https://github.com/ToUMenu/kanji-master
108
124
  licenses: