imasgen 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,22 @@
1
+ require 'yaml'
2
+ require 'imasgen/generator_base'
3
+
4
+ module Imasgen
5
+ class MillionLiveCls < Imasgen::GeneratorBase
6
+ def initialize
7
+ super
8
+ yaml = YAML.load_file(__dir__ + '/dic/million_live.yml')
9
+ @namedic = yaml[:million_live]
10
+ end
11
+
12
+ def self.getyaml
13
+ YAML.load_file(__dir__ + '/dic/million_live.yml')[:million_live]
14
+ end
15
+ end
16
+
17
+ def self.millionlive
18
+ @imas_ml ||= MillionLiveCls.new
19
+ @imas_ml.auto_reset = true
20
+ @imas_ml
21
+ end
22
+ end
@@ -0,0 +1,45 @@
1
+ require 'yaml'
2
+ require 'imasgen/generator_base'
3
+ require 'imasgen/cinderella_girls'
4
+ require 'imasgen/million_live'
5
+ require 'imasgen/sidem'
6
+
7
+ module Imasgen
8
+ SIDEM = :sidem
9
+ MILLIONLIVE = :millionlive
10
+ CINDERELLA = :cinderella
11
+
12
+ class MIXNUTSCls < Imasgen::GeneratorBase
13
+ def initialize(*nuts)
14
+ super()
15
+ nuts.each do |item|
16
+ case item
17
+ when Imasgen::SIDEM
18
+ @namedic += Imasgen::SideMCls.getyaml
19
+ when Imasgen::MILLIONLIVE
20
+ @namedic += Imasgen::MillionLiveCls.getyaml
21
+ when Imasgen::CINDERELLA
22
+ @namedic += Imasgen::CinderellaGirlsCls.getyaml
23
+ else
24
+ raise ArgumentError.new("Invalid Argument #{item}")
25
+ end
26
+ end
27
+ if nuts.none?
28
+ @namedic += Imasgen::SideMCls.getyaml
29
+ @namedic += Imasgen::MillionLiveCls.getyaml
30
+ @namedic += Imasgen::CinderellaGirlsCls.getyaml
31
+ end
32
+ @args = nuts
33
+ end
34
+
35
+ def unique
36
+ @unique_i ||= self.class.new(*@args)
37
+ end
38
+ end
39
+
40
+ def self.mixnuts(*args)
41
+ nuts = MIXNUTSCls.new(*args)
42
+ nuts.auto_reset = true
43
+ nuts
44
+ end
45
+ end
@@ -0,0 +1,82 @@
1
+ require 'moji'
2
+ require 'romaji'
3
+
4
+ module Imasgen
5
+ class Name
6
+ attr_reader :first, :last
7
+
8
+ def initialize(namedata)
9
+ @namedata = namedata
10
+ @first = First.new(namedata)
11
+ @last = Last.new(namedata)
12
+ end
13
+
14
+ def to_s
15
+ kanji
16
+ end
17
+
18
+ def to_str
19
+ kanji
20
+ end
21
+
22
+ def kanji
23
+ "#{@last.kanji} #{@first.kanji}"
24
+ end
25
+
26
+ def hiragana
27
+ "#{@last.hiragana} #{@first.hiragana}"
28
+ end
29
+
30
+ def katakana
31
+ "#{@last.katakana} #{@first.katakana}"
32
+ end
33
+
34
+ def romaji
35
+ "#{@first.romaji} #{@last.romaji}"
36
+ end
37
+
38
+ class First
39
+ def initialize(namedata)
40
+ @namedata = namedata
41
+ end
42
+
43
+ def hiragana
44
+ @namedata[:first_name_furigana]
45
+ end
46
+
47
+ def kanji
48
+ @namedata[:first_name]
49
+ end
50
+
51
+ def katakana
52
+ Moji.hira_to_kata(@namedata[:first_name_furigana])
53
+ end
54
+
55
+ def romaji
56
+ Romaji.kana2romaji(@namedata[:first_name_furigana]).capitalize
57
+ end
58
+ end
59
+
60
+ class Last
61
+ def initialize(namedata)
62
+ @namedata = namedata
63
+ end
64
+
65
+ def hiragana
66
+ @namedata[:last_name_furigana]
67
+ end
68
+
69
+ def kanji
70
+ @namedata[:last_name]
71
+ end
72
+
73
+ def katakana
74
+ Moji.hira_to_kata(@namedata[:last_name_furigana])
75
+ end
76
+
77
+ def romaji
78
+ Romaji.kana2romaji(@namedata[:last_name_furigana]).capitalize
79
+ end
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,22 @@
1
+ require 'yaml'
2
+ require 'imasgen/generator_base'
3
+
4
+ module Imasgen
5
+ class SideMCls < Imasgen::GeneratorBase
6
+ def initialize
7
+ super
8
+ yaml = YAML.load_file(__dir__ + '/dic/sidem.yml')
9
+ @namedic = yaml[:sidem]
10
+ end
11
+
12
+ def self.getyaml
13
+ YAML.load_file(__dir__ + '/dic/sidem.yml')[:sidem]
14
+ end
15
+ end
16
+
17
+ def self.sidem
18
+ @sidem ||= SideMCls.new
19
+ @sidem.auto_reset = true
20
+ @sidem
21
+ end
22
+ end
@@ -0,0 +1,3 @@
1
+ module Imasgen
2
+ VERSION = "0.1.0"
3
+ end
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: imasgen
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - tumugin
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-04-17 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: moji
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: romaji
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: bundler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '1.16'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '1.16'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rake
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '10.0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '10.0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: rspec
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '3.0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: simplecov
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: 0.15.1
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: 0.15.1
97
+ description:
98
+ email:
99
+ - tumugin@users.noreply.github.com
100
+ executables: []
101
+ extensions: []
102
+ extra_rdoc_files: []
103
+ files:
104
+ - ".gitignore"
105
+ - ".rspec"
106
+ - ".travis.yml"
107
+ - Gemfile
108
+ - LICENSE.txt
109
+ - README.md
110
+ - Rakefile
111
+ - bin/console
112
+ - bin/setup
113
+ - imasgen.gemspec
114
+ - lib/imasgen.rb
115
+ - lib/imasgen/cinderella_girls.rb
116
+ - lib/imasgen/dic/cinderella_girls.yml
117
+ - lib/imasgen/dic/million_live.yml
118
+ - lib/imasgen/dic/sidem.yml
119
+ - lib/imasgen/generator_base.rb
120
+ - lib/imasgen/million_live.rb
121
+ - lib/imasgen/mixnuts.rb
122
+ - lib/imasgen/name.rb
123
+ - lib/imasgen/sidem.rb
124
+ - lib/imasgen/version.rb
125
+ homepage: https://github.com/tumugin/imasgen
126
+ licenses:
127
+ - MIT
128
+ metadata: {}
129
+ post_install_message:
130
+ rdoc_options: []
131
+ require_paths:
132
+ - lib
133
+ required_ruby_version: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ required_rubygems_version: !ruby/object:Gem::Requirement
139
+ requirements:
140
+ - - ">="
141
+ - !ruby/object:Gem::Version
142
+ version: '0'
143
+ requirements: []
144
+ rubyforge_project:
145
+ rubygems_version: 2.6.11
146
+ signing_key:
147
+ specification_version: 4
148
+ summary: Random name generator using character's name from Idolmaster series.
149
+ test_files: []