rubiderella 0.1.1 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +1 -0
  3. data/.github/workflows/test.yml +3 -1
  4. data/.ruby-version +1 -1
  5. data/CHANGELOG.md +32 -0
  6. data/Gemfile +2 -5
  7. data/Gemfile.lock +65 -77
  8. data/README.md +381 -1
  9. data/Rakefile +2 -0
  10. data/bin/console +1 -0
  11. data/config/assistant/senkawa_chihiro.yml +25 -0
  12. data/config/idols/asari_nanami.yml +1 -1
  13. data/config/idols/kiryu_tsukasa.yml +1 -1
  14. data/config/idols/sunazuka_akira.yml +1 -1
  15. data/config/idols/tsujino_akari.yml +1 -1
  16. data/config/idols/yagami_makino.yml +1 -1
  17. data/config/trainer/master_trainer.yml +24 -0
  18. data/config/trainer/rookie_trainer.yml +24 -0
  19. data/config/trainer/trainer.yml +24 -0
  20. data/config/trainer/veteran_trainer.yml +24 -0
  21. data/lib/cinderella_girls/assistant.rb +15 -0
  22. data/lib/cinderella_girls/trainer.rb +15 -0
  23. data/lib/cinderella_girls.rb +8 -0
  24. data/lib/rubiderella/assistant/birthday.rb +8 -0
  25. data/lib/rubiderella/assistant/name.rb +8 -0
  26. data/lib/rubiderella/assistant.rb +19 -0
  27. data/lib/rubiderella/errors.rb +9 -0
  28. data/lib/rubiderella/idol/birthday.rb +1 -11
  29. data/lib/rubiderella/idol/name.rb +1 -17
  30. data/lib/rubiderella/idol.rb +4 -44
  31. data/lib/rubiderella/person/birthday.rb +18 -0
  32. data/lib/rubiderella/person/name.rb +24 -0
  33. data/lib/rubiderella/person.rb +54 -0
  34. data/lib/rubiderella/trainer/birthday.rb +8 -0
  35. data/lib/rubiderella/trainer/name.rb +8 -0
  36. data/lib/rubiderella/trainer.rb +19 -0
  37. data/lib/rubiderella/version.rb +1 -1
  38. data/lib/rubiderella.rb +12 -0
  39. data/rubiderella.gemspec +15 -10
  40. metadata +97 -23
@@ -2,17 +2,7 @@
2
2
 
3
3
  module Rubiderella
4
4
  class Idol
5
- class Birthday
6
- attr_reader :month, :day
7
-
8
- def initialize(args)
9
- @month = args[:month]
10
- @day = args[:day]
11
- end
12
-
13
- def date
14
- @month.to_s + '月' + @day.to_s + '日'
15
- end
5
+ class Birthday < Person::Birthday
16
6
  end
17
7
  end
18
8
  end
@@ -2,23 +2,7 @@
2
2
 
3
3
  module Rubiderella
4
4
  class Idol
5
- class Name
6
- attr_reader :last, :last_kana, :first, :first_kana
7
-
8
- def initialize(args)
9
- @last = args[:last]
10
- @last_kana = args[:last_kana]
11
- @first = args[:first]
12
- @first_kana = args[:first_kana]
13
- end
14
-
15
- def full
16
- @last + @first
17
- end
18
-
19
- def full_kana
20
- @last_kana + @first_kana
21
- end
5
+ class Name < Person::Name
22
6
  end
23
7
  end
24
8
  end
@@ -1,32 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rubiderella
4
- class Idol
5
- attr_reader :name, :type, :age, :birthday, :sign, :blood, :height, :weight, :bust, :waist, :hip, :handed, :from,
6
- :favorite, :cv
7
- @config = nil
8
- @all = nil
9
-
10
- def initialize(args)
11
- @name = Name.new(args[:name])
12
- @type = args[:type]
13
- @age = args[:age]
14
- @birthday = Birthday.new(args[:birthday])
15
- @sign = args[:sign]
16
- @blood = args[:blood]
17
- @height = args[:height]
18
- @weight = args[:weight]
19
- @bust = args[:bust]
20
- @waist = args[:waist]
21
- @hip = args[:hip]
22
- @handed = args[:handed]
23
- @from = args[:from]
24
- @favorite = args[:favorite]
25
- @cv = args[:cv]
26
- end
27
-
28
- class UnknownIdolError < StandardError; end
29
-
4
+ class Idol < Person
30
5
  class << self
31
6
  def config
32
7
  @config = Dir.glob("#{File.dirname(__FILE__)}/../../config/idols/*.yml").each_with_object({}) do |file, idols|
@@ -34,25 +9,10 @@ module Rubiderella
34
9
  end.deep_symbolize_keys
35
10
  end
36
11
 
37
- def names
38
- config.keys
39
- end
40
-
41
- def valid?(idol_name)
42
- names.include?(idol_name)
43
- end
44
-
45
- def all
46
- @all = config.map do |key, value|
47
- value[:key] = key
48
- new(**value)
49
- end
50
- end
51
-
52
- def find_by_key(name)
53
- raise UnknownIdolError unless valid?(name)
12
+ def find_by_key(key)
13
+ raise UnknownIdolError unless valid?(key)
54
14
 
55
- new(@config[name])
15
+ new(@config[key])
56
16
  end
57
17
  end
58
18
  end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rubiderella
4
+ class Person
5
+ class Birthday
6
+ attr_reader :month, :day
7
+
8
+ def initialize(args)
9
+ @month = args[:month]
10
+ @day = args[:day]
11
+ end
12
+
13
+ def date
14
+ "#{@month}月#{@day}日"
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rubiderella
4
+ class Person
5
+ class Name
6
+ attr_reader :last, :last_kana, :first, :first_kana
7
+
8
+ def initialize(args)
9
+ @last = args[:last]
10
+ @last_kana = args[:last_kana]
11
+ @first = args[:first]
12
+ @first_kana = args[:first_kana]
13
+ end
14
+
15
+ def full
16
+ @last + @first
17
+ end
18
+
19
+ def full_kana
20
+ @last_kana + @first_kana
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rubiderella
4
+ class Person
5
+ attr_reader :name, :type, :age, :birthday, :sign, :blood, :height, :weight, :bust, :waist, :hip, :handed, :from,
6
+ :favorite, :cv
7
+
8
+ @config = nil
9
+ @all = nil
10
+
11
+ def initialize(args)
12
+ @name = Name.new(args[:name])
13
+ @type = args[:type]
14
+ @age = args[:age]
15
+ @birthday = Birthday.new(args[:birthday])
16
+ @sign = args[:sign]
17
+ @blood = args[:blood]
18
+ @height = args[:height]
19
+ @weight = args[:weight]
20
+ @bust = args[:bust]
21
+ @waist = args[:waist]
22
+ @hip = args[:hip]
23
+ @handed = args[:handed]
24
+ @from = args[:from]
25
+ @favorite = args[:favorite]
26
+ @cv = args[:cv]
27
+ end
28
+
29
+ class << self
30
+ def config
31
+ raise NotImplementedError
32
+ end
33
+
34
+ def names
35
+ config.keys
36
+ end
37
+
38
+ def valid?(person_name)
39
+ names.include?(person_name)
40
+ end
41
+
42
+ def all
43
+ @all = config.map do |key, value|
44
+ value[:key] = key
45
+ new(**value)
46
+ end
47
+ end
48
+
49
+ def find_by_key(key)
50
+ raise NotImplementedError
51
+ end
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rubiderella
4
+ class Trainer
5
+ class Birthday < Person::Birthday
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rubiderella
4
+ class Trainer
5
+ class Name < Person::Name
6
+ end
7
+ end
8
+ end
@@ -0,0 +1,19 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Rubiderella
4
+ class Trainer < Person
5
+ class << self
6
+ def config
7
+ @config = Dir.glob("#{File.dirname(__FILE__)}/../../config/trainer/*.yml").each_with_object({}) do |file, idols|
8
+ idols.merge!(YAML.load_file(file))
9
+ end.deep_symbolize_keys
10
+ end
11
+
12
+ def find_by_key(key)
13
+ raise UnknownTrainerError unless valid?(key)
14
+
15
+ new(@config[key])
16
+ end
17
+ end
18
+ end
19
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Rubiderella
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.5'
5
5
  end
data/lib/rubiderella.rb CHANGED
@@ -2,9 +2,21 @@
2
2
 
3
3
  require 'active_support/all'
4
4
  require 'yaml'
5
+ require 'rubiderella/person'
6
+ require 'rubiderella/person/name'
7
+ require 'rubiderella/person/birthday'
8
+ require 'rubiderella/assistant'
9
+ require 'rubiderella/assistant/name'
10
+ require 'rubiderella/assistant/birthday'
11
+ require 'rubiderella/errors'
5
12
  require 'rubiderella/idol'
6
13
  require 'rubiderella/idol/name'
7
14
  require 'rubiderella/idol/birthday'
15
+ require 'rubiderella/trainer'
16
+ require 'rubiderella/trainer/name'
17
+ require 'rubiderella/trainer/birthday'
8
18
  require 'rubiderella/version'
9
19
  require 'cinderella_girls'
20
+ require 'cinderella_girls/assistant'
10
21
  require 'cinderella_girls/idol'
22
+ require 'cinderella_girls/trainer'
data/rubiderella.gemspec CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'lib/rubiderella/version'
2
4
 
3
5
  Gem::Specification.new do |spec|
@@ -10,7 +12,7 @@ Gem::Specification.new do |spec|
10
12
  spec.description = 'Idol m@ster cinderella girls starlight stage'
11
13
  spec.homepage = 'https://github.com/hikko624/rubiderella'
12
14
  spec.license = 'MIT'
13
- spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
15
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
14
16
 
15
17
  spec.metadata['homepage_uri'] = spec.homepage
16
18
  spec.metadata['source_code_uri'] = spec.homepage
@@ -24,13 +26,16 @@ Gem::Specification.new do |spec|
24
26
  spec.bindir = 'exe'
25
27
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
28
  spec.require_paths = ['lib']
27
- spec.add_dependency 'activesupport'
28
-
29
- spec.add_development_dependency 'codecov'
30
- spec.add_development_dependency 'pry'
31
- spec.add_development_dependency 'pry-byebug'
32
- spec.add_development_dependency 'rspec'
33
- spec.add_development_dependency 'rspec-parameterized'
34
- spec.add_development_dependency 'rubocop'
35
- spec.add_development_dependency 'simplecov'
29
+ spec.add_dependency 'activesupport', '>= 6.0.0'
30
+ spec.add_dependency 'rake', '~> 13.0'
31
+ spec.add_dependency 'rspec', '~> 3.0'
32
+ spec.add_development_dependency 'codecov', '>= 0.5.1'
33
+ spec.add_development_dependency 'pry', '>= 0.10'
34
+ spec.add_development_dependency 'pry-byebug', '>= 3.9'
35
+ spec.add_development_dependency 'pry-doc', '>= 0.6'
36
+ spec.add_development_dependency 'rspec', '>= 3.10'
37
+ spec.add_development_dependency 'rspec-parameterized', '>= 0.4.2'
38
+ spec.add_development_dependency 'rubocop', '>= 1.11'
39
+ spec.add_development_dependency 'simplecov', '>= 0.21'
40
+ spec.add_development_dependency 'webrick', '>= 1.5.0'
36
41
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubiderella
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - hikko624
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-08 00:00:00.000000000 Z
11
+ date: 2021-10-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,112 +16,168 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: 6.0.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: 6.0.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '13.0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '13.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rspec
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '3.0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '3.0'
27
55
  - !ruby/object:Gem::Dependency
28
56
  name: codecov
29
57
  requirement: !ruby/object:Gem::Requirement
30
58
  requirements:
31
59
  - - ">="
32
60
  - !ruby/object:Gem::Version
33
- version: '0'
61
+ version: 0.5.1
34
62
  type: :development
35
63
  prerelease: false
36
64
  version_requirements: !ruby/object:Gem::Requirement
37
65
  requirements:
38
66
  - - ">="
39
67
  - !ruby/object:Gem::Version
40
- version: '0'
68
+ version: 0.5.1
41
69
  - !ruby/object:Gem::Dependency
42
70
  name: pry
43
71
  requirement: !ruby/object:Gem::Requirement
44
72
  requirements:
45
73
  - - ">="
46
74
  - !ruby/object:Gem::Version
47
- version: '0'
75
+ version: '0.10'
48
76
  type: :development
49
77
  prerelease: false
50
78
  version_requirements: !ruby/object:Gem::Requirement
51
79
  requirements:
52
80
  - - ">="
53
81
  - !ruby/object:Gem::Version
54
- version: '0'
82
+ version: '0.10'
55
83
  - !ruby/object:Gem::Dependency
56
84
  name: pry-byebug
57
85
  requirement: !ruby/object:Gem::Requirement
58
86
  requirements:
59
87
  - - ">="
60
88
  - !ruby/object:Gem::Version
61
- version: '0'
89
+ version: '3.9'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - ">="
67
95
  - !ruby/object:Gem::Version
68
- version: '0'
96
+ version: '3.9'
97
+ - !ruby/object:Gem::Dependency
98
+ name: pry-doc
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0.6'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0.6'
69
111
  - !ruby/object:Gem::Dependency
70
112
  name: rspec
71
113
  requirement: !ruby/object:Gem::Requirement
72
114
  requirements:
73
115
  - - ">="
74
116
  - !ruby/object:Gem::Version
75
- version: '0'
117
+ version: '3.10'
76
118
  type: :development
77
119
  prerelease: false
78
120
  version_requirements: !ruby/object:Gem::Requirement
79
121
  requirements:
80
122
  - - ">="
81
123
  - !ruby/object:Gem::Version
82
- version: '0'
124
+ version: '3.10'
83
125
  - !ruby/object:Gem::Dependency
84
126
  name: rspec-parameterized
85
127
  requirement: !ruby/object:Gem::Requirement
86
128
  requirements:
87
129
  - - ">="
88
130
  - !ruby/object:Gem::Version
89
- version: '0'
131
+ version: 0.4.2
90
132
  type: :development
91
133
  prerelease: false
92
134
  version_requirements: !ruby/object:Gem::Requirement
93
135
  requirements:
94
136
  - - ">="
95
137
  - !ruby/object:Gem::Version
96
- version: '0'
138
+ version: 0.4.2
97
139
  - !ruby/object:Gem::Dependency
98
140
  name: rubocop
99
141
  requirement: !ruby/object:Gem::Requirement
100
142
  requirements:
101
143
  - - ">="
102
144
  - !ruby/object:Gem::Version
103
- version: '0'
145
+ version: '1.11'
104
146
  type: :development
105
147
  prerelease: false
106
148
  version_requirements: !ruby/object:Gem::Requirement
107
149
  requirements:
108
150
  - - ">="
109
151
  - !ruby/object:Gem::Version
110
- version: '0'
152
+ version: '1.11'
111
153
  - !ruby/object:Gem::Dependency
112
154
  name: simplecov
113
155
  requirement: !ruby/object:Gem::Requirement
114
156
  requirements:
115
157
  - - ">="
116
158
  - !ruby/object:Gem::Version
117
- version: '0'
159
+ version: '0.21'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0.21'
167
+ - !ruby/object:Gem::Dependency
168
+ name: webrick
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - ">="
172
+ - !ruby/object:Gem::Version
173
+ version: 1.5.0
118
174
  type: :development
119
175
  prerelease: false
120
176
  version_requirements: !ruby/object:Gem::Requirement
121
177
  requirements:
122
178
  - - ">="
123
179
  - !ruby/object:Gem::Version
124
- version: '0'
180
+ version: 1.5.0
125
181
  description: Idol m@ster cinderella girls starlight stage
126
182
  email:
127
183
  - hikko624@gmail.com
@@ -129,6 +185,7 @@ executables: []
129
185
  extensions: []
130
186
  extra_rdoc_files: []
131
187
  files:
188
+ - ".github/pull_request_template.md"
132
189
  - ".github/workflows/coverage.yml"
133
190
  - ".github/workflows/test.yml"
134
191
  - ".gitignore"
@@ -143,6 +200,7 @@ files:
143
200
  - Rakefile
144
201
  - bin/console
145
202
  - bin/setup
203
+ - config/assistant/senkawa_chihiro.yml
146
204
  - config/idols/abe_nana.yml
147
205
  - config/idols/aiba_yumi.yml
148
206
  - config/idols/aihara_yukino.yml
@@ -333,12 +391,28 @@ files:
333
391
  - config/idols/yusa_kozue.yml
334
392
  - config/idols/yuuki_haru.yml
335
393
  - config/idols/zaizen_tokiko.yml
394
+ - config/trainer/master_trainer.yml
395
+ - config/trainer/rookie_trainer.yml
396
+ - config/trainer/trainer.yml
397
+ - config/trainer/veteran_trainer.yml
336
398
  - lib/cinderella_girls.rb
399
+ - lib/cinderella_girls/assistant.rb
337
400
  - lib/cinderella_girls/idol.rb
401
+ - lib/cinderella_girls/trainer.rb
338
402
  - lib/rubiderella.rb
403
+ - lib/rubiderella/assistant.rb
404
+ - lib/rubiderella/assistant/birthday.rb
405
+ - lib/rubiderella/assistant/name.rb
406
+ - lib/rubiderella/errors.rb
339
407
  - lib/rubiderella/idol.rb
340
408
  - lib/rubiderella/idol/birthday.rb
341
409
  - lib/rubiderella/idol/name.rb
410
+ - lib/rubiderella/person.rb
411
+ - lib/rubiderella/person/birthday.rb
412
+ - lib/rubiderella/person/name.rb
413
+ - lib/rubiderella/trainer.rb
414
+ - lib/rubiderella/trainer/birthday.rb
415
+ - lib/rubiderella/trainer/name.rb
342
416
  - lib/rubiderella/version.rb
343
417
  - rubiderella.gemspec
344
418
  homepage: https://github.com/hikko624/rubiderella
@@ -348,7 +422,7 @@ metadata:
348
422
  homepage_uri: https://github.com/hikko624/rubiderella
349
423
  source_code_uri: https://github.com/hikko624/rubiderella
350
424
  changelog_uri: https://github.com/hikko624/rubiderella/blob/master/CHANGELOG.md
351
- post_install_message:
425
+ post_install_message:
352
426
  rdoc_options: []
353
427
  require_paths:
354
428
  - lib
@@ -356,15 +430,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
356
430
  requirements:
357
431
  - - ">="
358
432
  - !ruby/object:Gem::Version
359
- version: 2.3.0
433
+ version: 2.5.0
360
434
  required_rubygems_version: !ruby/object:Gem::Requirement
361
435
  requirements:
362
436
  - - ">="
363
437
  - !ruby/object:Gem::Version
364
438
  version: '0'
365
439
  requirements: []
366
- rubygems_version: 3.1.2
367
- signing_key:
440
+ rubygems_version: 3.2.3
441
+ signing_key:
368
442
  specification_version: 4
369
443
  summary: Idol m@ster cinderella girls starlight stage
370
444
  test_files: []