kanji_master 0.2.7 → 0.2.8
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 +4 -4
- data/README.md +30 -15
- data/kanji_master.gemspec +1 -0
- data/lib/data/person.yml +6003 -0
- data/lib/kanji_master/address.rb +31 -0
- data/lib/kanji_master/name.rb +32 -0
- data/lib/kanji_master/person.rb +24 -0
- data/lib/kanji_master/random.rb +14 -1
- data/lib/kanji_master/string_extension.rb +10 -0
- data/lib/kanji_master/version.rb +1 -1
- data/lib/kanji_master.rb +9 -0
- metadata +20 -2
@@ -0,0 +1,31 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'active_support'
|
3
|
+
require 'active_support/core_ext'
|
4
|
+
|
5
|
+
module KanjiMaster
|
6
|
+
# Address get data from Person.rb which access the data from `person.yml`
|
7
|
+
class Address
|
8
|
+
attr_accessor :zip_code, :name, :katakana, :kana, :hiragana, :hira
|
9
|
+
|
10
|
+
filepath = File.join(File.dirname(__FILE__), '../data/person.yml')
|
11
|
+
@data = YAML.load_file(filepath)
|
12
|
+
|
13
|
+
def self.data
|
14
|
+
@data['persons']['person'].map do |h|
|
15
|
+
new_hash = h.slice('address', 'address_kata', 'zip') if h['address'].present? && h['zip'].present?
|
16
|
+
keys = { "address" => "name", "address_kata" => "katakana", "zip" => "zip_code" }
|
17
|
+
Hash[new_hash.map{ |k, v| [keys[k], v]}]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(address)
|
22
|
+
converter = Converter.new
|
23
|
+
@zip_code = address['zip_code']
|
24
|
+
@name = address['name']
|
25
|
+
@katakana = address['katakana']
|
26
|
+
@kana = @katakana
|
27
|
+
@hiragana = converter.hira(@katakana)
|
28
|
+
@hira = @hiragana
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
require 'active_support'
|
3
|
+
require 'active_support/core_ext'
|
4
|
+
|
5
|
+
module KanjiMaster
|
6
|
+
# Name get data from Person.rb which access the data from `person.yml`
|
7
|
+
class Name
|
8
|
+
attr_accessor :zip_code, :name, :katakana, :kana, :hiragana, :hira, :first_name, :last_name
|
9
|
+
|
10
|
+
filepath = File.join(File.dirname(__FILE__), '../data/person.yml')
|
11
|
+
@data = YAML.load_file(filepath)
|
12
|
+
|
13
|
+
def self.data
|
14
|
+
@data['persons']['person'].map do |h|
|
15
|
+
new_hash = h.slice('name', 'name_kana') if h['name'].present? && h['name_kana'].present?
|
16
|
+
keys = { "name" => "full_name", "name_kana" => "katakana" }
|
17
|
+
Hash[new_hash.map{ |k, v| [keys[k], v]}]
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def initialize(name)
|
22
|
+
converter = Converter.new
|
23
|
+
@full_name = name['full_name']
|
24
|
+
@first_name = @full_name.split[1]
|
25
|
+
@last_name = @full_name.split[0]
|
26
|
+
@katakana = name['katakana']
|
27
|
+
@kana = @katakana
|
28
|
+
@hiragana = converter.hira(@katakana)
|
29
|
+
@hira = @hiragana
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
require 'yaml'
|
2
|
+
|
3
|
+
module KanjiMaster
|
4
|
+
class Person
|
5
|
+
filepath = File.join(File.dirname(__FILE__), '../data/person.yml')
|
6
|
+
@data = YAML.load_file(filepath)
|
7
|
+
|
8
|
+
def self.data
|
9
|
+
@data['persons']['person']
|
10
|
+
end
|
11
|
+
attr_accessor :name, :name_kana, :gender, :bloodtype, :birthday, :zip, :address, :address_kata
|
12
|
+
|
13
|
+
def initialize(person)
|
14
|
+
@name = person['name']
|
15
|
+
@name_kana = person['name_kana']
|
16
|
+
@gender = person['gender']
|
17
|
+
@bloodtype = person['bloodtype']
|
18
|
+
@birthday = person['birthday']
|
19
|
+
@zip = person['zip']
|
20
|
+
@address = person['address']
|
21
|
+
@address_kata = person['address_kata']
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/lib/kanji_master/random.rb
CHANGED
@@ -8,9 +8,22 @@ module KanjiMaster
|
|
8
8
|
Prefecture.data[rand(1..47)][:name]
|
9
9
|
end
|
10
10
|
|
11
|
-
def number_kanji; chinese_number_character end
|
12
11
|
def chinese_number_character
|
13
12
|
Constant::KANJI_NUMBER[rand(0..9)]
|
14
13
|
end
|
14
|
+
alias :kanji_number :chinese_number_character
|
15
|
+
alias :number_kanji :chinese_number_character
|
16
|
+
|
17
|
+
def person
|
18
|
+
Person.new(Person.data[rand(0..499)])
|
19
|
+
end
|
20
|
+
|
21
|
+
def address
|
22
|
+
Address.new(Address.data[rand(0..499)])
|
23
|
+
end
|
24
|
+
|
25
|
+
def name
|
26
|
+
Name.new(Name.data[rand(0..499)])
|
27
|
+
end
|
15
28
|
end
|
16
29
|
end
|
@@ -11,5 +11,15 @@ module KanjiMaster
|
|
11
11
|
converter = Converter.new
|
12
12
|
converter.hira(self)
|
13
13
|
end
|
14
|
+
|
15
|
+
def alphabet?
|
16
|
+
reader = Reader.new
|
17
|
+
reader.alphabet?(self)
|
18
|
+
end
|
19
|
+
|
20
|
+
def maybe_kanji?
|
21
|
+
reader = Reader.new
|
22
|
+
reader.maybe_kanji?(self)
|
23
|
+
end
|
14
24
|
end
|
15
25
|
end
|
data/lib/kanji_master/version.rb
CHANGED
data/lib/kanji_master.rb
CHANGED
@@ -1,8 +1,17 @@
|
|
1
1
|
require "kanji_master/version"
|
2
2
|
require "kanji_master/constant"
|
3
3
|
require "kanji_master/regex_constant"
|
4
|
+
|
5
|
+
# Data Model
|
6
|
+
require "kanji_master/address"
|
7
|
+
require "kanji_master/name"
|
4
8
|
require "kanji_master/prefecture"
|
9
|
+
require "kanji_master/person"
|
10
|
+
|
11
|
+
# KanjiMaster Model Class
|
5
12
|
require "kanji_master/text"
|
13
|
+
|
14
|
+
# Drivers
|
6
15
|
require "kanji_master/random"
|
7
16
|
require "kanji_master/reader"
|
8
17
|
require "kanji_master/counter"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kanji_master
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.8
|
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-
|
11
|
+
date: 2017-06-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: romaji
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 0.2.3
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: activesupport
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 5.1.1
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 5.1.1
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -127,12 +141,16 @@ files:
|
|
127
141
|
- bin/console
|
128
142
|
- bin/setup
|
129
143
|
- kanji_master.gemspec
|
144
|
+
- lib/data/person.yml
|
130
145
|
- lib/data/prefecture.yml
|
131
146
|
- lib/kanji_master.rb
|
147
|
+
- lib/kanji_master/address.rb
|
132
148
|
- lib/kanji_master/constant.rb
|
133
149
|
- lib/kanji_master/converter.rb
|
134
150
|
- lib/kanji_master/core_extension/string.rb
|
135
151
|
- lib/kanji_master/counter.rb
|
152
|
+
- lib/kanji_master/name.rb
|
153
|
+
- lib/kanji_master/person.rb
|
136
154
|
- lib/kanji_master/prefecture.rb
|
137
155
|
- lib/kanji_master/random.rb
|
138
156
|
- lib/kanji_master/reader.rb
|