acme-smileage 4.0.0
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 +7 -0
- data/.gitignore +17 -0
- data/.travis.yml +3 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +215 -0
- data/Rakefile +9 -0
- data/acme-smileage.gemspec +29 -0
- data/bin/smileage +3 -0
- data/lib/acme/smileage/blog/ameblo.rb +49 -0
- data/lib/acme/smileage/blog/ameblo_downloader.rb +171 -0
- data/lib/acme/smileage/blog/entry.rb +51 -0
- data/lib/acme/smileage/commands/base.rb +10 -0
- data/lib/acme/smileage/commands/oricon.rb +47 -0
- data/lib/acme/smileage/commands/soundscan.rb +18 -0
- data/lib/acme/smileage/commands.rb +16 -0
- data/lib/acme/smileage/discography/albums/2009/I001_amanojaku.rb +35 -0
- data/lib/acme/smileage/discography/albums/2009/I002_asuha_date_nanoni_imasugu_koe_ga_kikitai.rb +35 -0
- data/lib/acme/smileage/discography/albums/2009/I003_sukichan.rb +35 -0
- data/lib/acme/smileage/discography/albums/2010/A001_waru_gaki_(1).rb +50 -0
- data/lib/acme/smileage/discography/albums/2010/D001_yumemiru_15sai_(pax_japonica_groove_remix).rb +35 -0
- data/lib/acme/smileage/discography/albums/2010/D002_gambaranakutemo_eenende_(topnude_remix_version_01).rb +35 -0
- data/lib/acme/smileage/discography/albums/2010/D003_onaji_jikyuu_de_hataraku_tomodachi_no_bijin_mama_(remix_type1).rb +35 -0
- data/lib/acme/smileage/discography/albums/2010/I004_otona_ni_narutte_muzukashii.rb +35 -0
- data/lib/acme/smileage/discography/albums/2010/S001_yumemiru_15sai.rb +42 -0
- data/lib/acme/smileage/discography/albums/2010/S002_gambaranakutemo_eenende.rb +47 -0
- data/lib/acme/smileage/discography/albums/2010/S003_onaji_jikyuu_de_hataraku_tomodachi_no_bijin_mama.rb +46 -0
- data/lib/acme/smileage/discography/albums/2011/D004_shortcut_(remixver).rb +35 -0
- data/lib/acme/smileage/discography/albums/2011/D005_uchouten_love_rocketman_mix.rb +35 -0
- data/lib/acme/smileage/discography/albums/2011/S004_shortcut.rb +51 -0
- data/lib/acme/smileage/discography/albums/2011/S005_koi_ni_booing_boo.rb +51 -0
- data/lib/acme/smileage/discography/albums/2011/S006_uchouten_love.rb +51 -0
- data/lib/acme/smileage/discography/albums/2011/S007_tachiagirl.rb +56 -0
- data/lib/acme/smileage/discography/albums/2011/S008_please_minisuka_post_woman.rb +52 -0
- data/lib/acme/smileage/discography/albums/2012/A002_smleage_best_album_complete_(1).rb +54 -0
- data/lib/acme/smileage/discography/albums/2012/S009_choto_mate_kudasai.rb +52 -0
- data/lib/acme/smileage/discography/albums/2012/S010_dotbikini.rb +51 -0
- data/lib/acme/smileage/discography/albums/2012/S011_sukiyo_junjou_hankouki.rb +50 -0
- data/lib/acme/smileage/discography/albums/2012/S012_samuine.rb +50 -0
- data/lib/acme/smileage/discography/albums/2013/A003_(2)_smile_sensation.rb +48 -0
- data/lib/acme/smileage/discography/albums/2013/S013_tabidachi_no_haru_ga_kita.rb +50 -0
- data/lib/acme/smileage/discography/albums/2013/S014_atarashii_watashini_nare_yattaruchan.rb +50 -0
- data/lib/acme/smileage/discography/albums/2013/S015_eeka_iiyatsu.rb +50 -0
- data/lib/acme/smileage/discography/albums/2014/S016_mystery_night_eighteen_emotion.rb +54 -0
- data/lib/acme/smileage/discography/albums/base.rb +37 -0
- data/lib/acme/smileage/discography/albums.rb +28 -0
- data/lib/acme/smileage/discography/hello_project_music_award.rb +22 -0
- data/lib/acme/smileage/discography/lyrics_downloader.rb +48 -0
- data/lib/acme/smileage/discography/sales.rb +43 -0
- data/lib/acme/smileage/discography/tracks/2009/001_amanojaku.rb +57 -0
- data/lib/acme/smileage/discography/tracks/2009/002_asuha_date_nanoni_imasugu_koe_ga_kikitai.rb +57 -0
- data/lib/acme/smileage/discography/tracks/2009/003_sukichan.rb +57 -0
- data/lib/acme/smileage/discography/tracks/2010/004_otona_ni_narutte_muzukashii.rb +57 -0
- data/lib/acme/smileage/discography/tracks/2010/005_yumemiru_15sai.rb +77 -0
- data/lib/acme/smileage/discography/tracks/2010/006_thank_you_creme_brulee_no_yuujou.rb +37 -0
- data/lib/acme/smileage/discography/tracks/2010/007_yumemiru_15sai_(pax_japonica_groove_remix).rb +38 -0
- data/lib/acme/smileage/discography/tracks/2010/008_gambaranakutemo_eenende.rb +85 -0
- data/lib/acme/smileage/discography/tracks/2010/009_gambaranakutemo_iindayo.rb +44 -0
- data/lib/acme/smileage/discography/tracks/2010/010_smile_bijin.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2010/011_gambaranakutemo_eenende_(topnude_remix_version_01).rb +38 -0
- data/lib/acme/smileage/discography/tracks/2010/012_onaji_jikyuu_de_hataraku_tomodachi_no_bijin_mama.rb +85 -0
- data/lib/acme/smileage/discography/tracks/2010/013_chokotto_love.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2010/014_onaji_jikyuu_de_hataraku_tomodachi_no_bijin_mama_(remix_type1).rb +38 -0
- data/lib/acme/smileage/discography/tracks/2010/015_odorouyo.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2010/016_onna_bakari_no_nichiyoubi.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2010/017_shooting_star.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2010/018_gakkyuu_iinchou.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2010/019_shikkari_shiteyo_mou.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2011/020_shortcut.rb +69 -0
- data/lib/acme/smileage/discography/tracks/2011/021_panyasan_no_arbeit.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2011/022_otome_pasta_ni_kandou.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2011/023_koi_ni_booing_boo.rb +69 -0
- data/lib/acme/smileage/discography/tracks/2011/024_hatukoi_no_anatahe.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2011/025_koi_wo_shichaimashita.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2011/026_uchouten_love.rb +77 -0
- data/lib/acme/smileage/discography/tracks/2011/027_jitensha_chiririn.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2011/028_chu_natsu_party.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2011/029_shortcut_(remixver).rb +37 -0
- data/lib/acme/smileage/discography/tracks/2011/030_uchouten_love_rocketman_mix.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2011/031_tachiagirl.rb +73 -0
- data/lib/acme/smileage/discography/tracks/2011/032_smile_ondon.rb +35 -0
- data/lib/acme/smileage/discography/tracks/2011/033_boogie_train11.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2011/034_smileage_singles_gekimoe_remix.rb +35 -0
- data/lib/acme/smileage/discography/tracks/2011/035_please_minisuka_post_woman.rb +45 -0
- data/lib/acme/smileage/discography/tracks/2011/036_konnichiwa_konbanwa.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2011/037_smileage_singles_gekiyaba_remix.rb +35 -0
- data/lib/acme/smileage/discography/tracks/2011/038_tewo_nigitte_arukitai.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2012/039_choto_mate_kudasai.rb +45 -0
- data/lib/acme/smileage/discography/tracks/2012/040_chance_tourai.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2012/041_smileage_singles_gekiatsu_remix.rb +35 -0
- data/lib/acme/smileage/discography/tracks/2012/042_namida_girl.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2012/043_dotbikini.rb +45 -0
- data/lib/acme/smileage/discography/tracks/2012/044_smile_blues.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2012/045_koibito_ha_kokoro_no_ouendan.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2012/046_kiiroi_jitensha_to_sandwich.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2012/047_sukiyo_junjou_hankouki.rb +45 -0
- data/lib/acme/smileage/discography/tracks/2012/048_kimi_ha_jitensha_watasi_ha_densya_de_kitaku.rb +38 -0
- data/lib/acme/smileage/discography/tracks/2012/049_samuine.rb +49 -0
- data/lib/acme/smileage/discography/tracks/2012/050_watashi_choito_kawaii_urabancho.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/051_tabidachi_no_haru_ga_kita.rb +45 -0
- data/lib/acme/smileage/discography/tracks/2013/052_doushiyou.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/053_shin_nihon_no_susume.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/054_otona_no_tochuu.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/055_tenshin_ramman.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/056_watashi_no_kokoro.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/057_yuugure_koi_no_jikan.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/058_nee_sempai.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/059_sayonara_sayonara_sayonara.rb +36 -0
- data/lib/acme/smileage/discography/tracks/2013/060_atarashii_watashini_nare.rb +45 -0
- data/lib/acme/smileage/discography/tracks/2013/061_yattaruchan.rb +45 -0
- data/lib/acme/smileage/discography/tracks/2013/062_eeka.rb +44 -0
- data/lib/acme/smileage/discography/tracks/2013/063_iiyatsu.rb +44 -0
- data/lib/acme/smileage/discography/tracks/2014/064_mystery_night.rb +44 -0
- data/lib/acme/smileage/discography/tracks/2014/065_eighteen_emotion.rb +44 -0
- data/lib/acme/smileage/discography/tracks/base.rb +39 -0
- data/lib/acme/smileage/discography/tracks.rb +65 -0
- data/lib/acme/smileage/discography.rb +101 -0
- data/lib/acme/smileage/members/base.rb +56 -0
- data/lib/acme/smileage/members/fukuda_kanon.rb +29 -0
- data/lib/acme/smileage/members/katsuta_rina.rb +29 -0
- data/lib/acme/smileage/members/kosuga_fuyuka.rb +29 -0
- data/lib/acme/smileage/members/maeda_yuuka.rb +29 -0
- data/lib/acme/smileage/members/nakanishi_kana.rb +29 -0
- data/lib/acme/smileage/members/ogawa_saki.rb +29 -0
- data/lib/acme/smileage/members/takeuchi_akari.rb +29 -0
- data/lib/acme/smileage/members/tamura_meimi.rb +29 -0
- data/lib/acme/smileage/members/wada_ayaka.rb +29 -0
- data/lib/acme/smileage/members.rb +40 -0
- data/lib/acme/smileage/utils/base_downloader.rb +38 -0
- data/lib/acme/smileage/utils/matcher.rb +64 -0
- data/lib/acme/smileage/version.rb +5 -0
- data/lib/acme/smileage/version.rb~ +5 -0
- data/lib/acme/smileage.rb +55 -0
- data/test/acme/test_album.rb +204 -0
- data/test/acme/test_member.rb +45 -0
- data/test/acme/test_smileage.rb +144 -0
- data/test/acme/test_track.rb +57 -0
- data/test/minitest_helper.rb +5 -0
- metadata +287 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/discography/albums/base"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
module Albums
|
|
9
|
+
class MysteryNight_EighteenEmotion < Base
|
|
10
|
+
include Singleton
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
@name = "ミステリーナイト!/エイティーン エモーション"
|
|
14
|
+
@name_romaji = "mystery night!/eighteen emotion"
|
|
15
|
+
@nicknames = ["ミスナイ", "エイエモ", "18エモ"]
|
|
16
|
+
@release_date = Date.new(2014, 4, 30)
|
|
17
|
+
@oricon = Sales.records(
|
|
18
|
+
{ :week => 1, :sales => 34340, :rank => 2 },
|
|
19
|
+
{ :week => 2, :sales => 1047, :rank => 56 },
|
|
20
|
+
{ :week => 3, :sales => 416, :rank => 116 },
|
|
21
|
+
)
|
|
22
|
+
@soundscan = Sales.new(6921 + 6256, 6921 + 6256, 12, 1) # http://www.phileweb.com/ranking/cd-top20/1830.html
|
|
23
|
+
@discography_link = "http://s-mileage.jp/discography/detail_00186/"
|
|
24
|
+
@artwork_links = [
|
|
25
|
+
{
|
|
26
|
+
:title => "ミステリーナイト!/エイティーン エモーション 【通常盤A】",
|
|
27
|
+
:link => "http://s-mileage.jp/discography/obj/img/000/186/140409-1814_01l.jpg",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
:title => "ミステリーナイト!/エイティーン エモーション 【初回生産限定盤A】",
|
|
31
|
+
:link => "http://s-mileage.jp/discography/obj/img/000/186/140409-1814_02l.jpg",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
:title => "ミステリーナイト!/エイティーン エモーション 【初回生産限定盤B】",
|
|
35
|
+
:link => "http://s-mileage.jp/discography/obj/img/000/186/140409-1814_03l.jpg",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
:title => "ミステリーナイト!/エイティーン エモーション 【初回生産限定盤C】",
|
|
39
|
+
:link => "http://s-mileage.jp/discography/obj/img/000/186/140409-1814_04l.jpg",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
:title => "ミステリーナイト!/エイティーン エモーション 【通常盤B】",
|
|
43
|
+
:link => "http://s-mileage.jp/discography/obj/img/000/186/140409-1814_05l.jpg",
|
|
44
|
+
},
|
|
45
|
+
]
|
|
46
|
+
|
|
47
|
+
track Acme::Smileage::Discography::Tracks::MysteryNight
|
|
48
|
+
track Acme::Smileage::Discography::Tracks::EighteenEmotion
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
require "date"
|
|
2
|
+
require "singleton"
|
|
3
|
+
|
|
4
|
+
require "acme/smileage/discography/sales"
|
|
5
|
+
|
|
6
|
+
module Acme
|
|
7
|
+
class Smileage
|
|
8
|
+
class Discography
|
|
9
|
+
module Albums
|
|
10
|
+
class Base
|
|
11
|
+
attr_reader :name, :name_romaji, :nicknames, :release_date, :artwork_links, :discography_link
|
|
12
|
+
attr_reader :oricon, :soundscan
|
|
13
|
+
attr_reader :tracks
|
|
14
|
+
|
|
15
|
+
def release_year; self.release_date.year; end
|
|
16
|
+
|
|
17
|
+
def single?; not album? and not download_only?; end
|
|
18
|
+
def album?; false; end
|
|
19
|
+
def best_album?; false; end
|
|
20
|
+
def original_album?; album? and not best_album?; end
|
|
21
|
+
|
|
22
|
+
def major?; not indies?; end
|
|
23
|
+
def indies?; false; end
|
|
24
|
+
|
|
25
|
+
def download_only?; false; end
|
|
26
|
+
|
|
27
|
+
private
|
|
28
|
+
|
|
29
|
+
def track(track_class)
|
|
30
|
+
@tracks ||= []
|
|
31
|
+
@tracks << track_class.instance
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
require "acme/smileage/discography/albums/2009/I001_amanojaku"
|
|
2
|
+
require "acme/smileage/discography/albums/2009/I002_asuha_date_nanoni_imasugu_koe_ga_kikitai"
|
|
3
|
+
require "acme/smileage/discography/albums/2009/I003_sukichan"
|
|
4
|
+
require "acme/smileage/discography/albums/2010/I004_otona_ni_narutte_muzukashii"
|
|
5
|
+
require "acme/smileage/discography/albums/2010/S001_yumemiru_15sai"
|
|
6
|
+
require "acme/smileage/discography/albums/2010/D001_yumemiru_15sai_(pax_japonica_groove_remix)"
|
|
7
|
+
require "acme/smileage/discography/albums/2010/S002_gambaranakutemo_eenende"
|
|
8
|
+
require "acme/smileage/discography/albums/2010/D002_gambaranakutemo_eenende_(topnude_remix_version_01)"
|
|
9
|
+
require "acme/smileage/discography/albums/2010/S003_onaji_jikyuu_de_hataraku_tomodachi_no_bijin_mama"
|
|
10
|
+
require "acme/smileage/discography/albums/2010/D003_onaji_jikyuu_de_hataraku_tomodachi_no_bijin_mama_(remix_type1)"
|
|
11
|
+
require "acme/smileage/discography/albums/2010/A001_waru_gaki_(1)"
|
|
12
|
+
require "acme/smileage/discography/albums/2011/S004_shortcut"
|
|
13
|
+
require "acme/smileage/discography/albums/2011/S005_koi_ni_booing_boo"
|
|
14
|
+
require "acme/smileage/discography/albums/2011/S006_uchouten_love"
|
|
15
|
+
require "acme/smileage/discography/albums/2011/D004_shortcut_(remixver)"
|
|
16
|
+
require "acme/smileage/discography/albums/2011/D005_uchouten_love_rocketman_mix"
|
|
17
|
+
require "acme/smileage/discography/albums/2011/S007_tachiagirl"
|
|
18
|
+
require "acme/smileage/discography/albums/2011/S008_please_minisuka_post_woman"
|
|
19
|
+
require "acme/smileage/discography/albums/2012/S009_choto_mate_kudasai"
|
|
20
|
+
require "acme/smileage/discography/albums/2012/S010_dotbikini"
|
|
21
|
+
require "acme/smileage/discography/albums/2012/A002_smleage_best_album_complete_(1)"
|
|
22
|
+
require "acme/smileage/discography/albums/2012/S011_sukiyo_junjou_hankouki"
|
|
23
|
+
require "acme/smileage/discography/albums/2012/S012_samuine"
|
|
24
|
+
require "acme/smileage/discography/albums/2013/S013_tabidachi_no_haru_ga_kita"
|
|
25
|
+
require "acme/smileage/discography/albums/2013/A003_(2)_smile_sensation"
|
|
26
|
+
require "acme/smileage/discography/albums/2013/S014_atarashii_watashini_nare_yattaruchan"
|
|
27
|
+
require "acme/smileage/discography/albums/2013/S015_eeka_iiyatsu"
|
|
28
|
+
require "acme/smileage/discography/albums/2014/S016_mystery_night_eighteen_emotion"
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
module Acme
|
|
4
|
+
class Smileage
|
|
5
|
+
class Discography
|
|
6
|
+
class HelloProjectMusicAward
|
|
7
|
+
attr_reader :year, :rank, :points, :votes
|
|
8
|
+
|
|
9
|
+
def initialize(year, rank, points, votes)
|
|
10
|
+
@year = year
|
|
11
|
+
@rank = rank
|
|
12
|
+
@points = points
|
|
13
|
+
@votes = votes
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def to_a
|
|
17
|
+
[self.year, self.rank, self.points, self.votes]
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/utils/base_downloader"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
class LyricsDownloader < Acme::Smileage::Utils::BaseDownloader
|
|
9
|
+
def get(lyric_links, site=nil)
|
|
10
|
+
return nil unless lyric_links
|
|
11
|
+
|
|
12
|
+
case site
|
|
13
|
+
when :utanet
|
|
14
|
+
get_utanet(lyric_links[:utanet])
|
|
15
|
+
when :utamap
|
|
16
|
+
get_utamap(lyric_links[:utamap])
|
|
17
|
+
when nil
|
|
18
|
+
get(lyric_links, :utanet) or get(lyric_links, :utamap)
|
|
19
|
+
else
|
|
20
|
+
raise ArgumentError, "Invalid site: #{site}"
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
|
|
26
|
+
def get_utanet(uri)
|
|
27
|
+
return nil if not uri or not uri =~ /\/song\/(\d+)/
|
|
28
|
+
id = $1
|
|
29
|
+
|
|
30
|
+
r = http_get(uri, "/user/phplib/swf/showkasi.php?ID=#{id}")
|
|
31
|
+
r = r[(10 + 16 * 4) - 1, r.length - (10 + 16 * 4) - 13]
|
|
32
|
+
r.force_encoding("utf-8")
|
|
33
|
+
r.sub!(/\A\0\n/, "")
|
|
34
|
+
r.strip
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def get_utamap(uri)
|
|
38
|
+
return nil if not uri or not uri =~ /\?surl=([a-zA-Z0-9-]+)/
|
|
39
|
+
id = $1
|
|
40
|
+
|
|
41
|
+
r = http_get(uri, "/phpflash/flashfalsephp.php?unum=#{id}")
|
|
42
|
+
r.force_encoding("utf-8")
|
|
43
|
+
r.sub(/^.*?test2=/, "").strip
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
require "date"
|
|
2
|
+
|
|
3
|
+
module Acme
|
|
4
|
+
class Smileage
|
|
5
|
+
class Discography
|
|
6
|
+
class Sales
|
|
7
|
+
attr_reader :first_week_sales, :total_sales, :peak_rank, :weeks_on_chart
|
|
8
|
+
|
|
9
|
+
def self.records(*records)
|
|
10
|
+
if records.empty?
|
|
11
|
+
return self.new(0, 0, 0, 0)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
first_week_sales = records[0][:sales]
|
|
15
|
+
total_sales = records.inject(0){|acc,e| acc + e[:sales] }
|
|
16
|
+
peak_rank = records.map{|e| e[:rank] }.min
|
|
17
|
+
weeks_on_chart = records.length
|
|
18
|
+
|
|
19
|
+
self.new(first_week_sales, total_sales, peak_rank, weeks_on_chart)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def initialize(first_week_sales, total_sales, peak_rank, weeks_on_chart)
|
|
23
|
+
@first_week_sales = first_week_sales
|
|
24
|
+
@total_sales = total_sales
|
|
25
|
+
@peak_rank = peak_rank
|
|
26
|
+
@weeks_on_chart = weeks_on_chart
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def first_week_to_total_ratio
|
|
30
|
+
self.total_sales.zero? ? 0 : self.first_week_sales.to_f / self.total_sales.to_f
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def total_to_first_week_ratio
|
|
34
|
+
self.first_week_sales.zero? ? 0 : self.total_sales.to_f / self.first_week_sales.to_f
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
def to_a
|
|
38
|
+
[self.first_week_sales, self.total_sales, self.peak_rank, self.weeks_on_chart]
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/discography/tracks/base"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
module Tracks
|
|
9
|
+
class Amanojaku < Base
|
|
10
|
+
include Singleton
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
super
|
|
14
|
+
@name = "ぁまのじゃく"
|
|
15
|
+
@name_romaji = "amanojaku"
|
|
16
|
+
@nicknames = []
|
|
17
|
+
@play_time = 289 # 04:49
|
|
18
|
+
@arrangers = ["藤澤慶昌"]
|
|
19
|
+
@hpma = HelloProjectMusicAward.new(2009, 15, 164.5, 93)
|
|
20
|
+
@lyric_links = {
|
|
21
|
+
:utamap => "http://www.utamap.com/showkasi.php?surl=k-101208-051",
|
|
22
|
+
:utanet => "http://www.uta-net.com/song/87905/",
|
|
23
|
+
}
|
|
24
|
+
@youtube_links = [
|
|
25
|
+
{
|
|
26
|
+
:title => "スマイレージ 「ぁまのじゃく」 (MV) ",
|
|
27
|
+
:link => "https://www.youtube.com/watch?v=RgbY4xM9O_s",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
:title => "スマイレージ 「ぁまのじゃく」 (Dance Shot Ver.)",
|
|
31
|
+
:link => "https://www.youtube.com/watch?v=j7cpA_ezn38",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
:title => "スマイレージ 「ぁまのじゃく」 (Close-up Ver.)",
|
|
35
|
+
:link => "https://www.youtube.com/watch?v=nCEkum9AtPo",
|
|
36
|
+
},
|
|
37
|
+
]
|
|
38
|
+
@itunes_links = [
|
|
39
|
+
{
|
|
40
|
+
:title => "ぁまのじゃく",
|
|
41
|
+
:link => "https://itunes.apple.com/jp/album/id348604062",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
:title => "悪ガキッ①",
|
|
45
|
+
:link => "https://itunes.apple.com/jp/album/id403700742",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
:title => "スマイレージ ベストアルバム完全版①",
|
|
49
|
+
:link => "https://itunes.apple.com/jp/album/id528168545",
|
|
50
|
+
},
|
|
51
|
+
]
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
data/lib/acme/smileage/discography/tracks/2009/002_asuha_date_nanoni_imasugu_koe_ga_kikitai.rb
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/discography/tracks/base"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
module Tracks
|
|
9
|
+
class AsuhaDateNanoniImasuguKoeGaKikitai < Base
|
|
10
|
+
include Singleton
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
super
|
|
14
|
+
@name = "あすはデートなのに、今すぐ声が聞きたい"
|
|
15
|
+
@name_romaji = "asuha date nanoni imasugu koe ga kikitai"
|
|
16
|
+
@nicknames = ["あすデー"]
|
|
17
|
+
@play_time = 265 # 04:25
|
|
18
|
+
@arrangers = ["AKIRA"]
|
|
19
|
+
@hpma = HelloProjectMusicAward.new(2009, 26, 107.5, 63)
|
|
20
|
+
@lyric_links = {
|
|
21
|
+
:utamap => "http://www.utamap.com/showkasi.php?surl=k-101208-050",
|
|
22
|
+
:utanet => "http://www.uta-net.com/song/105943/",
|
|
23
|
+
}
|
|
24
|
+
@youtube_links = [
|
|
25
|
+
{
|
|
26
|
+
:title => "スマイレージ 「あすはデートなのに、今すぐ声が聞きたい」 (MV)",
|
|
27
|
+
:link => "https://www.youtube.com/watch?v=CYMW2EBjb8c",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
:title => "スマイレージ 「あすはデートなのに、今すぐ声が聞きたい」 (Dance Shot Ver.)",
|
|
31
|
+
:link => "https://www.youtube.com/watch?v=XD7dNcacyig",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
:title => "スマイレージ 「あすはデートなのに、今すぐ声が聞きたい」 (Close-up Ver.)",
|
|
35
|
+
:link => "https://www.youtube.com/watch?v=uMAvtxu0Sz8",
|
|
36
|
+
},
|
|
37
|
+
]
|
|
38
|
+
@itunes_links = [
|
|
39
|
+
{
|
|
40
|
+
:title => "あすはデートなのに、今すぐ声が聞きたい",
|
|
41
|
+
:link => "https://itunes.apple.com/jp/album/id348593533",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
:title => "悪ガキッ①",
|
|
45
|
+
:link => "https://itunes.apple.com/jp/album/id403700742",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
:title => "スマイレージ ベストアルバム完全版①",
|
|
49
|
+
:link => "https://itunes.apple.com/jp/album/id528168545",
|
|
50
|
+
},
|
|
51
|
+
]
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/discography/tracks/base"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
module Tracks
|
|
9
|
+
class Sukichan < Base
|
|
10
|
+
include Singleton
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
super
|
|
14
|
+
@name = "スキちゃん"
|
|
15
|
+
@name_romaji = "sukichan"
|
|
16
|
+
@nicknames = []
|
|
17
|
+
@play_time = 206 # 03:26
|
|
18
|
+
@arrangers = ["板垣祐介"]
|
|
19
|
+
@hpma = HelloProjectMusicAward.new(2009, 51, 41.0, 19)
|
|
20
|
+
@lyric_links = {
|
|
21
|
+
:utamap => "http://www.utamap.com/showkasi.php?surl=k-101208-047",
|
|
22
|
+
:utanet => "http://www.uta-net.com/song/105946/",
|
|
23
|
+
}
|
|
24
|
+
@youtube_links = [
|
|
25
|
+
{
|
|
26
|
+
:title => "スマイレージ 「スキちゃん」 (MV)",
|
|
27
|
+
:link => "https://www.youtube.com/watch?v=TuTO6edKwLU",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
:title => "スマイレージ 「スキちゃん」 (Dance Shot Ver.)",
|
|
31
|
+
:link => "https://www.youtube.com/watch?v=YzotAomnYa0",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
:title => "スマイレージ 「スキちゃん」 (Close-up Ver.)",
|
|
35
|
+
:link => "https://www.youtube.com/watch?v=EHAp-v83Ulo",
|
|
36
|
+
},
|
|
37
|
+
]
|
|
38
|
+
@itunes_links = [
|
|
39
|
+
{
|
|
40
|
+
:title => "スキちゃん",
|
|
41
|
+
:link => "https://itunes.apple.com/jp/album/id349411000",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
:title => "悪ガキッ①",
|
|
45
|
+
:link => "https://itunes.apple.com/jp/album/id403700742",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
:title => "スマイレージ ベストアルバム完全版①",
|
|
49
|
+
:link => "https://itunes.apple.com/jp/album/id528168545",
|
|
50
|
+
},
|
|
51
|
+
]
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/discography/tracks/base"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
module Tracks
|
|
9
|
+
class OtonaNiNarutteMuzukashii < Base
|
|
10
|
+
include Singleton
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
super
|
|
14
|
+
@name = "オトナになるって難しい!!!"
|
|
15
|
+
@name_romaji = "otona ni narutte muzukashii!!!"
|
|
16
|
+
@nicknames = ["オトムズ", "オトむず"]
|
|
17
|
+
@play_time = 186 # 03:06
|
|
18
|
+
@arrangers = ["板垣祐介"]
|
|
19
|
+
@hpma = HelloProjectMusicAward.new(2010, 29, 77.5, 48)
|
|
20
|
+
@lyric_links = {
|
|
21
|
+
:utamap => "http://www.utamap.com/showkasi.php?surl=dk100527_6",
|
|
22
|
+
:utanet => "http://www.uta-net.com/song/91873/",
|
|
23
|
+
}
|
|
24
|
+
@youtube_links = [
|
|
25
|
+
{
|
|
26
|
+
:title => "スマイレージ 「オトナになるって難しい!!!」 (MV)",
|
|
27
|
+
:link => "https://www.youtube.com/watch?v=LNpIGK_klbA",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
:title => "スマイレージ 「オトナになるって難しい!!!」 (Dance Shot Ver.)",
|
|
31
|
+
:link => "https://www.youtube.com/watch?v=-WaavRLtAqI",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
:title => "スマイレージ 「オトナになるって難しい!!!」 (Close-up Ver.)",
|
|
35
|
+
:link => "https://www.youtube.com/watch?v=_gs6j31SGbw",
|
|
36
|
+
},
|
|
37
|
+
]
|
|
38
|
+
@itunes_links = [
|
|
39
|
+
{
|
|
40
|
+
:title => "オトナになるって難しい!!!",
|
|
41
|
+
:link => "https://itunes.apple.com/jp/album/id366438599",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
:title => "悪ガキッ①",
|
|
45
|
+
:link => "https://itunes.apple.com/jp/album/id403700742",
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
:title => "スマイレージ ベストアルバム完全版①",
|
|
49
|
+
:link => "https://itunes.apple.com/jp/album/id528168545",
|
|
50
|
+
},
|
|
51
|
+
]
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/discography/tracks/base"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
module Tracks
|
|
9
|
+
class Yumemiru15sai < Base
|
|
10
|
+
include Singleton
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
super
|
|
14
|
+
@name = "夢見る 15歳"
|
|
15
|
+
@name_romaji = "yumemiru 15sai"
|
|
16
|
+
@nicknames = ["夢フィフ", "夢15"]
|
|
17
|
+
@play_time = 223 # 03:43
|
|
18
|
+
@arrangers = ["平田祥一郎"]
|
|
19
|
+
@hpma = HelloProjectMusicAward.new(2010, 4, 391.5, 189)
|
|
20
|
+
@lyric_links = {
|
|
21
|
+
:utamap => "http://www.utamap.com/showkasi.php?surl=k-100526-018",
|
|
22
|
+
:utanet => "http://www.uta-net.com/song/95255/",
|
|
23
|
+
}
|
|
24
|
+
@youtube_links = [
|
|
25
|
+
{
|
|
26
|
+
:title => "スマイレージ 「夢見る 15歳」 (Another Ver.)",
|
|
27
|
+
:link => "https://www.youtube.com/watch?v=HxiooxmPidw",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
:title => "スマイレージ 「夢見る 15歳」 (Close-up Ver.)",
|
|
31
|
+
:link => "https://www.youtube.com/watch?v=urKPV7umEk4",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
:title => "スマイレージ 「夢見る 15歳」 (福田花音Close-up Ver.)",
|
|
35
|
+
:link => "https://www.youtube.com/watch?v=ijlF3JU-ZzM",
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
:title => "スマイレージ 「夢見る 15歳」 (Dance Shot Ver.)",
|
|
39
|
+
:link => "https://www.youtube.com/watch?v=kMCl33hyiMo",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
:title => "スマイレージ 「夢見る 15歳」 (和田彩花Dance Shot Ver.)",
|
|
43
|
+
:link => "https://www.youtube.com/watch?v=7_kHfQCA5HA",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
:title => "スマイレージ 「夢見る 15歳」 (Web Mix Ver.)",
|
|
47
|
+
:link => "https://www.youtube.com/watch?v=lhMUIXridcw",
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
:title => "スマイレージ 「夢見る 15歳」 (和田彩花Close-up Ver.)",
|
|
51
|
+
:link => "https://www.youtube.com/watch?v=3EAQBW1k_Z0",
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
:title => "スマイレージ 「夢見る 15歳」 (Close-up Ver.)",
|
|
55
|
+
:link => "https://www.youtube.com/watch?v=IeumrUTz0-U",
|
|
56
|
+
},
|
|
57
|
+
]
|
|
58
|
+
@itunes_links = [
|
|
59
|
+
{
|
|
60
|
+
:title => "夢見る 15歳",
|
|
61
|
+
:link => "https://itunes.apple.com/jp/album/id372351545",
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
:title => "悪ガキッ①",
|
|
65
|
+
:link => "https://itunes.apple.com/jp/album/id403700742",
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
:title => "スマイレージ ベストアルバム完全版①",
|
|
69
|
+
:link => "https://itunes.apple.com/jp/album/id528168545",
|
|
70
|
+
},
|
|
71
|
+
]
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
77
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/discography/tracks/base"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
module Tracks
|
|
9
|
+
class ThankYouCremeBruleeNoYuujou < Base
|
|
10
|
+
include Singleton
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
super
|
|
14
|
+
@name = "サンキュ! クレームブリュレの友情"
|
|
15
|
+
@lyricists = ["亜伊林"]
|
|
16
|
+
@name_romaji = "thank you! creme brulee no yuujou"
|
|
17
|
+
@nicknames = ["クレームブリュレ"]
|
|
18
|
+
@play_time = 230 # 03:50
|
|
19
|
+
@arrangers = ["高橋諭一"]
|
|
20
|
+
@hpma = HelloProjectMusicAward.new(2010, 42, 49.0, 31)
|
|
21
|
+
@lyric_links = {
|
|
22
|
+
:utamap => "http://www.utamap.com/showkasi.php?surl=k-100526-019",
|
|
23
|
+
:utanet => "http://www.uta-net.com/song/95254/",
|
|
24
|
+
}
|
|
25
|
+
@youtube_links = []
|
|
26
|
+
@itunes_links = [
|
|
27
|
+
{
|
|
28
|
+
:title => "夢見る 15歳",
|
|
29
|
+
:link => "https://itunes.apple.com/jp/album/id372351545",
|
|
30
|
+
},
|
|
31
|
+
]
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
data/lib/acme/smileage/discography/tracks/2010/007_yumemiru_15sai_(pax_japonica_groove_remix).rb
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
|
2
|
+
|
|
3
|
+
require "acme/smileage/discography/tracks/base"
|
|
4
|
+
|
|
5
|
+
module Acme
|
|
6
|
+
class Smileage
|
|
7
|
+
class Discography
|
|
8
|
+
module Tracks
|
|
9
|
+
class Yumemiru15saiPaxJaponicaGrooveRemix < Base
|
|
10
|
+
include Singleton
|
|
11
|
+
|
|
12
|
+
def initialize
|
|
13
|
+
super
|
|
14
|
+
@name = "夢見る 15歳 (PAX JAPONICA GROOVE REMIX)"
|
|
15
|
+
@name_romaji = "yumemiru 15sai (pax japonica groove remix)"
|
|
16
|
+
@nicknames = []
|
|
17
|
+
@play_time = 223 # 03:43
|
|
18
|
+
@arrangers = ["平田祥一郎"]
|
|
19
|
+
@hpma = HelloProjectMusicAward.new(2010, 131, 3.0, 2)
|
|
20
|
+
@lyric_links = {
|
|
21
|
+
:utamap => "http://www.utamap.com/showkasi.php?surl=k-100526-018",
|
|
22
|
+
:utanet => "http://www.uta-net.com/song/95255/",
|
|
23
|
+
}
|
|
24
|
+
@youtube_links = []
|
|
25
|
+
@itunes_links = [
|
|
26
|
+
{
|
|
27
|
+
:title => "夢見る 15歳 (PAX JAPONICA GROOVE REMIX)",
|
|
28
|
+
:link => "https://itunes.apple.com/jp/album/id376313178",
|
|
29
|
+
},
|
|
30
|
+
]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
def remix?; true; end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|