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.
@@ -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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module KanjiMaster
2
- VERSION = "0.2.7"
2
+ VERSION = "0.2.8"
3
3
  end
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.7
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-06 00:00:00.000000000 Z
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