ruripara 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9ca5710d0c676cb1a2ed733e803f35dcdc52b404f97a67e08cd4454901557609
4
- data.tar.gz: ee89b56ecd399e0988ff2dc61c76296d23ae71233ea28d7e704e50f56a2ad2e1
3
+ metadata.gz: f7ad941fe32adf2807da1b8c9becaa75485a97b7700376a41a714b91d5005876
4
+ data.tar.gz: 121ff559428a154d535f02ddac500ac43ef4df86c0981100b8d776a99df4860b
5
5
  SHA512:
6
- metadata.gz: 70888a929598160979a8d269fea8130c00ccb7d4603610312f3aaae002ff47f33fae1bad0a8ef5e6739ace7466639c279c7082711541be2ff551fd53a4f3415d
7
- data.tar.gz: 1a471529ae133a7cb33929b6a7708fc3c209f26a4eefe643c031ab201d07dfadbec14335b9ba489cee7b52594e5ff2dd75623704c492ceede4d0996fb7ed18c1
6
+ metadata.gz: 48668d09b74fef53c5a09f659efb88a9a1e7fb280634789d3e419a0eb4edc4a553955dc7f06c7450c134c9eb9f79404dd4c2030c6f0dcd16076bc14d3d4beaa6
7
+ data.tar.gz: a884db4cb27543f879e01450b0914bbeada45f35591ccb92465a0931a65606bf3f804c1fc8c6ad802eb029070afe142c0a7ceb93c0d91d4a18957043140f4a6f
@@ -0,0 +1,34 @@
1
+ version: 2
2
+ jobs:
3
+ build:
4
+ docker:
5
+ - image: circleci/ruby:2.5.1
6
+
7
+ working_directory: ~/repo
8
+
9
+ steps:
10
+ - checkout
11
+
12
+ - run:
13
+ name: install dependencies
14
+ command: |
15
+ bundle install --jobs=4 --retry=3 --path vendor/bundle
16
+
17
+ - run:
18
+ name: run rubocop
19
+ command: |
20
+ bundle exec rubocop
21
+
22
+ - run:
23
+ name: run tests
24
+ command: |
25
+ mkdir /tmp/test-results
26
+ bundle exec rspec --format progress \
27
+ --out /tmp/test-results/rspec.xml \
28
+ --format progress
29
+
30
+ - store_test_results:
31
+ path: /tmp/test-results
32
+ - store_artifacts:
33
+ path: /tmp/test-results
34
+ destination: test-results
@@ -0,0 +1,16 @@
1
+ Style/StringLiterals:
2
+ EnforcedStyle: double_quotes
3
+
4
+ Style/Documentation:
5
+ Enabled: false
6
+
7
+ Metrics/LineLength:
8
+ Max: 90
9
+
10
+ Layout/SpaceInsideBlockBraces:
11
+ Enabled: false
12
+
13
+ Style/PercentLiteralDelimiters:
14
+ PreferredDelimiters:
15
+ '%i': ()
16
+ '%q': {}
data/README.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Ruripara
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/ruripara.svg)](https://badge.fury.io/rb/ruripara)
4
+
5
+ [![CircleCI](https://circleci.com/gh/yensaki/ruripara/tree/master.svg?style=svg)](https://circleci.com/gh/yensaki/ruripara/tree/master)
6
+
3
7
  This gem will be all about Pripara.
4
8
  You can get Pripara data, easily.
5
9
 
@@ -25,7 +29,16 @@ Or install it yourself as:
25
29
  require 'ruripara'
26
30
  girl = Pripara::Idol.find_by(name: '南みれぃ')
27
31
  girl.cast_name
28
- # => '芹澤優'
32
+ # => '芹澤優'
33
+ girl.chram.name
34
+ # => ポップ
35
+
36
+ brands = Pripara::Brand.all
37
+ brand = brands.first
38
+ brand.name
39
+ # => Twinkle Ribbon
40
+ brand.charm.name
41
+ # => ラブリー
29
42
  ```
30
43
 
31
44
  ## Contributing
data/Rakefile CHANGED
@@ -3,4 +3,4 @@ require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task defaul: :spec
@@ -0,0 +1,72 @@
1
+ - id: 1
2
+ name: TwinkleRibbon
3
+ kana: トゥインクルリボン
4
+ charm_id: 1
5
+ - id: 2
6
+ name: CandyAlamode
7
+ kana: キャンディアラモード
8
+ charm_id: 2
9
+ - id: 3
10
+ name: HolicTrick
11
+ kana: ホリックトリック
12
+ charm_id: 3
13
+ - id: 4
14
+ name: BabyMonster
15
+ kana: ベイビーモンスター
16
+ charm_id: 3
17
+ - id: 5
18
+ name: FortuneParty
19
+ kana: フォーチュンパーティー
20
+ charm_id: 2
21
+ - id: 6
22
+ name: MarionetteMu
23
+ kana: マリオネットミュー
24
+ charm_id: 1
25
+ - id: 7
26
+ name: DreamingGirl
27
+ kana: ドリーミングガール
28
+ charm_id: 6
29
+ - id: 8
30
+ name: PrismStone
31
+ kana: プリズムストーン
32
+ charm_id: 6
33
+ - id: 9
34
+ name: SilkyHeart
35
+ kana: シルキーハート
36
+ charm_id: 1
37
+ - id: 10
38
+ name: HolicTrick classic
39
+ kana: ホリックトリッククラシック
40
+ charm_id: 3
41
+ - id: 11
42
+ name: CocoFlower
43
+ kana: ココフラワー
44
+ charm_id: 4
45
+ - id: 12
46
+ name: CandyAlamode more
47
+ kana: キャンディアラモードモア
48
+ charm_id: 2
49
+ - id: 13
50
+ name: BrilliantPrince
51
+ kana: ブリリアントプリンス
52
+ charm_id: 5
53
+ - id: 14
54
+ name: RosetteJewel
55
+ kana: ロゼットジュエル
56
+ charm_id: 6 # temporal
57
+ - id: 15
58
+ name: LOVEDEVI
59
+ kana: ラブデビ
60
+ charm_id: 3
61
+ - id: 16
62
+ name: DearCrown
63
+ kana: ディアクラウン
64
+ charm_id: 5
65
+ - id: 17
66
+ name: SunnyZoo
67
+ kana: サニーズー
68
+ charm_id: 4
69
+ - id: 18
70
+ name: TwinkleRibbon Sweet
71
+ kana: トゥインクルリボンスウィート
72
+ charm_id: 1
@@ -0,0 +1,24 @@
1
+ - id: 1
2
+ slug: lovely
3
+ name: ラブリー
4
+ color: pink
5
+ - id: 2
6
+ slug: pop
7
+ name: ポップ
8
+ color: blue
9
+ - id: 3
10
+ slug: cool
11
+ name: クール
12
+ color: purple
13
+ - id: 4
14
+ slug: natural
15
+ name: ナチュラル
16
+ color: green
17
+ - id: 5
18
+ slug: celeb
19
+ name: セレブ
20
+ color: yellow
21
+ - id: 6
22
+ slug: premium
23
+ name: プレミアム
24
+ color: white
@@ -2,87 +2,147 @@
2
2
  slug: laala
3
3
  name: 真中らぁら
4
4
  cast_name: 茜屋日海夏
5
+ charm_id: 1
5
6
  # birthday: 11/20
6
7
  # blood_type: O
7
8
  # favorite_brand: Twinkle Ribbon
8
- # charm: ラブリー
9
9
  - id: 2
10
10
  slug: mirei
11
11
  name: 南みれぃ
12
12
  cast_name: 芹澤優
13
+ charm_id: 2
13
14
  - id: 3
14
15
  slug: sophie
15
16
  name: 北条そふぃ
16
17
  cast_name: 久保田未夢
18
+ charm_id: 3
17
19
  - id: 4
18
20
  slug: sion
19
21
  name: 東堂シオン
20
22
  cast_name: 山北早紀
23
+ charm_id: 3
21
24
  - id: 5
22
25
  slug: dorothy
23
26
  name: ドロシー・ウェスト
24
27
  cast_name: 澁谷梓希
28
+ charm_id: 2
25
29
  - id: 6
26
30
  slug: reona
27
31
  name: レオナ・ウェスト
28
32
  cast_name: 若井友希
33
+ charm_id: 2
29
34
  - id: 7
30
35
  slug: falulu
31
36
  name: ファルル
32
37
  cast_name: 赤﨑千夏
38
+ charm_id: 1
33
39
  - id: 8
34
40
  slug: cosmo
35
41
  name: 北条コスモ
36
42
  cast_name: 山本希望
43
+ charm_id: 3
37
44
  - id: 9
38
45
  slug: aroma
39
46
  name: 黒須あろま
40
47
  cast_name: 牧野由依
48
+ charm_id: 3
41
49
  - id: 10
42
50
  slug: mikan
43
51
  name: 白玉みかん
44
52
  cast_name: 渡部優衣
53
+ charm_id: 1
45
54
  - id: 11
46
55
  slug: fuwari
47
56
  name: 緑風ふわり
48
57
  cast_name: 佐藤あずさ
58
+ charm_id: 4
49
59
  - id: 12
50
60
  slug: hibiki
51
61
  name: 紫京院ひびき
52
62
  cast_name: 斎賀みつき
63
+ charm_id: 5
53
64
  - id: 13
54
65
  slug: galulu
55
66
  name: ガァルル
56
67
  cast_name: 真田アサミ
68
+ charm_id: 1
57
69
  - id: 14
58
70
  slug: non
59
71
  name: 真中のん
60
72
  cast_name: 田中美海
73
+ charm_id: 1 # maybe
61
74
  - id: 15
62
75
  slug: chiri
63
76
  name: 月川ちり
64
77
  cast_name: 大森日雅
78
+ charm_id: 1
65
79
  - id: 16
66
80
  slug: pepper
67
81
  name: 太陽ペッパー
68
82
  cast_name: 山下七海
83
+ charm_id: 4
69
84
  - id: 17
70
85
  slug: ajimi
71
86
  name: 黄木あじみ
72
87
  cast_name: 上田麗奈
88
+ charm_id: 2
73
89
  - id: 18
74
90
  slug: chanko
75
91
  name: 鍋島ちゃん子
76
92
  cast_name: 赤﨑千夏
93
+ charm_id: 3
77
94
  - id: 19
78
95
  slug: jury
79
96
  name: ジュリィ
80
97
  cast_name: 上田麗奈
98
+ charm_id: 6 # temporal
81
99
  - id: 20
82
100
  slug: janis
83
101
  name: ジャニス
84
102
  cast_name: 豊崎愛生
103
+ charm_id: 6 # temporal
85
104
  - id: 21
86
105
  slug: meganee
87
106
  name: 赤井めが姉ぇ
88
107
  cast_name: 伊藤かな恵
108
+ charm_id: ~
109
+ - id: 22
110
+ slug: kanon
111
+ name: かのん
112
+ cast_name: 田中美海
113
+ charm_id: 1
114
+ - id: 23
115
+ slug: pinon
116
+ name: ぴのん
117
+ cast_name: 田中美海
118
+ charm_id: 2
119
+ - id: 24
120
+ slug: junon
121
+ name: じゅのん
122
+ cast_name: 田中美海
123
+ charm_id: 3
124
+ - id: 25
125
+ slug: eiko
126
+ name: 栄子
127
+ cast_name: ブリドカットセーラ恵美
128
+ charm_id: 1 # maybe
129
+ - id: 26
130
+ slug: love
131
+ name: 栃乙女愛
132
+ cast_name: 森下由樹子
133
+ charm_id: 3 # maye
134
+ - id: 27
135
+ slug: cupicon
136
+ name: 白井ななみ
137
+ cast_name: 南條愛乃
138
+ charm_id: 2 # maybe
139
+ - id: 28
140
+ slug: lantern
141
+ name: 蘭たん
142
+ cast_name: いのくちゆか
143
+ charm_id: ~
144
+ - id: 29
145
+ slug: iroha
146
+ name: 香川いろは
147
+ cast_name: 大久保瑠美
148
+ charm_id: ~
@@ -1,8 +1,10 @@
1
1
  require "ruripara/version"
2
2
  require "yaml"
3
3
  require "ruripara/base"
4
+ require "ruripara/charm"
4
5
  require "ruripara/idol"
5
6
  require "ruripara/song"
7
+ require "ruripara/brand"
6
8
 
7
9
  module Pripara
8
10
  # Your code goes here...
@@ -1,5 +1,7 @@
1
1
  module Pripara
2
2
  class Base
3
+ attr_reader :attributes
4
+
3
5
  def initialize(attributes)
4
6
  @attributes = attributes.map { |k, v| [k.to_sym, v] }.to_h
5
7
  end
@@ -21,9 +23,11 @@ module Pripara
21
23
  private
22
24
 
23
25
  def config
24
- return @config if @config
25
- config_file = File.join(File.dirname(__FILE__), '../../config/', config_file_name)
26
- @config = YAML.load_file(config_file)
26
+ @config ||= YAML.load_file(config_file_path)
27
+ end
28
+
29
+ def config_file_path
30
+ File.join(File.dirname(__FILE__), "../../config/", config_file_name)
27
31
  end
28
32
 
29
33
  def config_file_name
@@ -0,0 +1,27 @@
1
+ module Pripara
2
+ class Brand < Base
3
+ ATTR_KEYS = %i(id name kana charm_id).freeze
4
+
5
+ ATTR_KEYS.each do |key|
6
+ define_method key do
7
+ @attributes[key.to_sym]
8
+ end
9
+ end
10
+
11
+ def charm
12
+ @charm ||= Pripara::Charm.find_by(id: charm_id) if charm_id
13
+ end
14
+
15
+ class << self
16
+ def config_file_name
17
+ "brands.yml"
18
+ end
19
+
20
+ private
21
+
22
+ def attr_keys
23
+ ATTR_KEYS
24
+ end
25
+ end
26
+ end
27
+ end
@@ -0,0 +1,23 @@
1
+ module Pripara
2
+ class Charm < Base
3
+ ATTR_KEYS = %i(id slug name).freeze
4
+
5
+ ATTR_KEYS.each do |key|
6
+ define_method key do
7
+ @attributes[key.to_sym]
8
+ end
9
+ end
10
+
11
+ class << self
12
+ def config_file_name
13
+ "charms.yml"
14
+ end
15
+
16
+ private
17
+
18
+ def attr_keys
19
+ ATTR_KEYS
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1,16 +1,20 @@
1
1
  module Pripara
2
2
  class Idol < Base
3
- ATTR_KEYS = %i(slug name cast_name).freeze
3
+ ATTR_KEYS = %i(slug name cast_name charm_id).freeze
4
4
 
5
5
  ATTR_KEYS.each do |key|
6
6
  define_method key do
7
- @attributes[key.to_s]
7
+ @attributes[key.to_sym]
8
8
  end
9
9
  end
10
10
 
11
+ def charm
12
+ @charm ||= Pripara::Charm.find_by(id: charm_id) if charm_id
13
+ end
14
+
11
15
  class << self
12
16
  def config_file_name
13
- 'idols.yml'
17
+ "idols.yml"
14
18
  end
15
19
 
16
20
  private
@@ -20,4 +24,4 @@ module Pripara
20
24
  end
21
25
  end
22
26
  end
23
- end
27
+ end
@@ -4,13 +4,13 @@ module Pripara
4
4
 
5
5
  ATTR_KEYS.each do |key|
6
6
  define_method key do
7
- @attributes[key.to_s]
7
+ @attributes[key.to_sym]
8
8
  end
9
9
  end
10
10
 
11
11
  class << self
12
12
  def config_file_name
13
- 'songs.yml'
13
+ "songs.yml"
14
14
  end
15
15
 
16
16
  private
@@ -1,3 +1,3 @@
1
1
  module Ruripara
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1".freeze
3
3
  end
@@ -1,5 +1,4 @@
1
-
2
- lib = File.expand_path("../lib", __FILE__)
1
+ lib = File.expand_path("lib", __dir__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "ruripara/version"
5
4
 
@@ -9,8 +8,8 @@ Gem::Specification.new do |spec|
9
8
  spec.authors = ["yensaki"]
10
9
  spec.email = ["mov.an.double@gmail.com"]
11
10
 
12
- spec.summary = %q{All about Pripara}
13
- spec.description = %q{All about Pripara}
11
+ spec.summary = "All about Pripara"
12
+ spec.description = "All about Pripara"
14
13
  spec.homepage = "https://github.com/yensaki/ruripara"
15
14
  spec.license = "MIT"
16
15
 
@@ -24,4 +23,5 @@ Gem::Specification.new do |spec|
24
23
  spec.add_development_dependency "bundler", "~> 1.16"
25
24
  spec.add_development_dependency "rake", "~> 10.0"
26
25
  spec.add_development_dependency "rspec", "~> 3.0"
26
+ spec.add_development_dependency "rubocop", "0.57.2"
27
27
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruripara
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - yensaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-28 00:00:00.000000000 Z
11
+ date: 2018-08-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '3.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - '='
60
+ - !ruby/object:Gem::Version
61
+ version: 0.57.2
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - '='
67
+ - !ruby/object:Gem::Version
68
+ version: 0.57.2
55
69
  description: All about Pripara
56
70
  email:
57
71
  - mov.an.double@gmail.com
@@ -59,8 +73,10 @@ executables: []
59
73
  extensions: []
60
74
  extra_rdoc_files: []
61
75
  files:
76
+ - ".circleci/config.yml"
62
77
  - ".gitignore"
63
78
  - ".rspec"
79
+ - ".rubocop.yml"
64
80
  - ".travis.yml"
65
81
  - Gemfile
66
82
  - LICENSE.txt
@@ -68,10 +84,14 @@ files:
68
84
  - Rakefile
69
85
  - bin/console
70
86
  - bin/setup
87
+ - config/brands.yml
88
+ - config/charms.yml
71
89
  - config/idols.yml
72
90
  - config/songs.yml
73
91
  - lib/ruripara.rb
74
92
  - lib/ruripara/base.rb
93
+ - lib/ruripara/brand.rb
94
+ - lib/ruripara/charm.rb
75
95
  - lib/ruripara/idol.rb
76
96
  - lib/ruripara/song.rb
77
97
  - lib/ruripara/version.rb