kanye 0.2.2 → 0.2.3
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.
- data/Gemfile +7 -7
- data/History +7 -0
- data/README.rdoc +1 -1
- data/Rakefile +1 -5
- data/VERSION +1 -1
- data/bin/kanye +9 -5
- data/kanye.gemspec +24 -44
- data/lib/kanye.rb +0 -1
- data/lib/kanye/history.rb +3 -3
- data/lib/kanye/page.rb +25 -11
- data/lib/kanye/track.rb +20 -18
- data/spec/data/sample.html +1739 -1989
- data/spec/kanye_spec.rb +22 -20
- metadata +57 -72
- data/lib/kanye/itunes.rb +0 -28
- data/spec/kanye/itunes_spec.rb +0 -46
data/spec/kanye_spec.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# encoding: UTF-8
|
1
2
|
require 'spec_helper'
|
2
3
|
|
3
4
|
describe Kanye::Page do
|
@@ -16,27 +17,28 @@ describe Kanye::Page do
|
|
16
17
|
|
17
18
|
describe 'format strings' do
|
18
19
|
results = [
|
19
|
-
["
|
20
|
-
["
|
21
|
-
["
|
22
|
-
["
|
23
|
-
["
|
24
|
-
["
|
25
|
-
["
|
26
|
-
["
|
27
|
-
["
|
28
|
-
["
|
29
|
-
["
|
30
|
-
["
|
31
|
-
["
|
32
|
-
["
|
33
|
-
["
|
34
|
-
["
|
35
|
-
["
|
36
|
-
["
|
37
|
-
["
|
38
|
-
["
|
20
|
+
["Dragonette", "Live In This City (Heren Remix)", "1p979", "257b886a4937d560b0837c284baefe35", "yesplease"],
|
21
|
+
["Frank Ocean", "Pyramids (Kastle Remix)", "1pa35", "a85f8bb388b2f961793d01311dc06be7", "yesplease"],
|
22
|
+
["Taryn Manning", "Send Me Your Love ft. Sultan + Ned Shepard", "1pa5m", "60d175399a28c0d20d48417bbdc95aba", "yesplease"],
|
23
|
+
["Zedd", "Spectrum (Deniz Koyu Remix)", "1pa86", "baefcbf9359ba46f5ac6eb3a36efa667", "yesplease"],
|
24
|
+
["Múm", "Ballad Of Broken Birdie Records (Cry Wolf's Dreamscape Remix)", "1p9zx", "5110dd22414452c25f96cf6214482b03", "yesplease"],
|
25
|
+
["Neil Young", "Old Man (Sound Remedy Remix)", "1jd14", "ae69f7f4ca2564ea5b0fc5df7930e745", "yesplease"],
|
26
|
+
["AlunaGeorge", "Your Drums, Your Love", "1p7rs", "1f028312dee1ba31a5df3fbeef98373d", "yesplease"],
|
27
|
+
["Crystal Fighters", "At Home (US Radio Edit)", "1nsqc", "cc63f90f6406aa12bd4533c1b6d3b343", "yesplease"],
|
28
|
+
["Baauer", "In My Nose", "1mp29", "15f8a45774896b20a37f86401d3c207c", "yesplease"],
|
29
|
+
["Baauer", "Yaow!", "1m736", "2c50d15399fa6960be8ec7114f39e4bf", "yesplease"],
|
30
|
+
["DJ L'Aquarium", "Let Your Voice Be Heard (Morodisco Edit)", "1p8x5", "7dd86aefaad61dccb0d7e62524e86231", "yesplease"],
|
31
|
+
["Com Truise", "Chemical Legs", "1p404", "1bf379ce4637aafe977d993187dc4d34", "yesplease"],
|
32
|
+
["Capital Cities", "Nothing Compares 2 U", "1p1ed", "8a0119abf6c1fb315d53e2c14fdcb013", "yesplease"],
|
33
|
+
["Atlas Genius", "Symptoms", "1mpdy", "89d8a22b2e1dcbc8d1673a9de363b3be", "yesplease"],
|
34
|
+
["Sneaky Sound System", "Friends (Jonny Pow!! Remix)", "1nw41", "e9d2de646bd78008a66f6694ff39274b", "yesplease"],
|
35
|
+
["Seven Lions", "Polarized (feat. Shaz Sparks) (Extended DJ Edit)", "1kdgz", "ce751d05ccf003a30e8d40e4d18d00cc", "yesplease"],
|
36
|
+
["Seven Lions", "Below Us (feat. Shaz Sparks)", "1kdh0", "f6268304540a3048b47901d9288f5a49", "yesplease"],
|
37
|
+
["Suncatcher", "Welcome Home (Ost & Meyer Remix)", "1p98r", "1899ada7922fef749a5983324085a5d7", "yesplease"],
|
38
|
+
["Isaak the Chris", "Wicked Game (Final DJs 2011 Funky Bass Rmx)", "1gtfz", "463750d8e628f5ea80893846e908837f", "yesplease"],
|
39
|
+
["FiNAL DJs", "Salt on Our Skin", "1m714", "d8852acc625f3e78bbe3238e1622b127", "yesplease"]
|
39
40
|
]
|
41
|
+
|
40
42
|
results.each_with_index do |track, index|
|
41
43
|
describe "track No. #{index+1}" do
|
42
44
|
subject { kanye.tracks[index] }
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kanye
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-03-19 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: 0.8.1
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 0.8.1
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
|
-
name:
|
27
|
-
requirement:
|
31
|
+
name: nokogiri
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,32 +37,47 @@ dependencies:
|
|
32
37
|
version: '0'
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
|
-
name:
|
38
|
-
requirement:
|
47
|
+
name: sqlite3
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
|
-
- -
|
51
|
+
- - ! '>='
|
42
52
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0
|
53
|
+
version: '0'
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
49
|
-
requirement:
|
63
|
+
name: ruby-mp3info
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
|
-
- - =
|
67
|
+
- - '='
|
53
68
|
- !ruby/object:Gem::Version
|
54
|
-
version: 0.
|
69
|
+
version: '0.8'
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - '='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0.8'
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: rspec
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,73 +85,44 @@ dependencies:
|
|
65
85
|
version: '2'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: bundler
|
71
|
-
requirement: &70105373854180 !ruby/object:Gem::Requirement
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
72
89
|
none: false
|
73
90
|
requirements:
|
74
|
-
- -
|
91
|
+
- - ! '>='
|
75
92
|
- !ruby/object:Gem::Version
|
76
|
-
version:
|
77
|
-
type: :development
|
78
|
-
prerelease: false
|
79
|
-
version_requirements: *70105373854180
|
93
|
+
version: '2'
|
80
94
|
- !ruby/object:Gem::Dependency
|
81
|
-
name:
|
82
|
-
requirement:
|
95
|
+
name: bundler
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
83
97
|
none: false
|
84
98
|
requirements:
|
85
|
-
- -
|
99
|
+
- - ! '>='
|
86
100
|
- !ruby/object:Gem::Version
|
87
|
-
version: 1.
|
101
|
+
version: 1.0.0
|
88
102
|
type: :development
|
89
103
|
prerelease: false
|
90
|
-
version_requirements:
|
91
|
-
- !ruby/object:Gem::Dependency
|
92
|
-
name: httparty
|
93
|
-
requirement: &70105373853220 !ruby/object:Gem::Requirement
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
94
105
|
none: false
|
95
106
|
requirements:
|
96
107
|
- - ! '>='
|
97
108
|
- !ruby/object:Gem::Version
|
98
|
-
version: 0.
|
99
|
-
type: :runtime
|
100
|
-
prerelease: false
|
101
|
-
version_requirements: *70105373853220
|
109
|
+
version: 1.0.0
|
102
110
|
- !ruby/object:Gem::Dependency
|
103
|
-
name:
|
104
|
-
requirement:
|
111
|
+
name: jeweler
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
105
113
|
none: false
|
106
114
|
requirements:
|
107
115
|
- - ! '>='
|
108
116
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
110
|
-
type: :
|
111
|
-
prerelease: false
|
112
|
-
version_requirements: *70105373852740
|
113
|
-
- !ruby/object:Gem::Dependency
|
114
|
-
name: ruby-mp3info
|
115
|
-
requirement: &70105373852260 !ruby/object:Gem::Requirement
|
116
|
-
none: false
|
117
|
-
requirements:
|
118
|
-
- - =
|
119
|
-
- !ruby/object:Gem::Version
|
120
|
-
version: 0.6.14
|
121
|
-
type: :runtime
|
117
|
+
version: 1.5.2
|
118
|
+
type: :development
|
122
119
|
prerelease: false
|
123
|
-
version_requirements:
|
124
|
-
- !ruby/object:Gem::Dependency
|
125
|
-
name: rb-appscript
|
126
|
-
requirement: &70105373851780 !ruby/object:Gem::Requirement
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
127
121
|
none: false
|
128
122
|
requirements:
|
129
|
-
- -
|
123
|
+
- - ! '>='
|
130
124
|
- !ruby/object:Gem::Version
|
131
|
-
version:
|
132
|
-
type: :runtime
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: *70105373851780
|
125
|
+
version: 1.5.2
|
135
126
|
description: Lyrical genius, voice of a generation.
|
136
127
|
email: sam.vincent@mac.com
|
137
128
|
executables:
|
@@ -152,12 +143,10 @@ files:
|
|
152
143
|
- kanye.gemspec
|
153
144
|
- lib/kanye.rb
|
154
145
|
- lib/kanye/history.rb
|
155
|
-
- lib/kanye/itunes.rb
|
156
146
|
- lib/kanye/page.rb
|
157
147
|
- lib/kanye/track.rb
|
158
148
|
- spec/data/sample.html
|
159
149
|
- spec/data/super.mp3
|
160
|
-
- spec/kanye/itunes_spec.rb
|
161
150
|
- spec/kanye/track_spec.rb
|
162
151
|
- spec/kanye_spec.rb
|
163
152
|
- spec/spec_helper.rb
|
@@ -176,7 +165,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
176
165
|
version: '0'
|
177
166
|
segments:
|
178
167
|
- 0
|
179
|
-
hash: -
|
168
|
+
hash: -3013822359128278652
|
180
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
181
170
|
none: false
|
182
171
|
requirements:
|
@@ -185,12 +174,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
174
|
version: '0'
|
186
175
|
requirements: []
|
187
176
|
rubyforge_project:
|
188
|
-
rubygems_version: 1.8.
|
177
|
+
rubygems_version: 1.8.25
|
189
178
|
signing_key:
|
190
179
|
specification_version: 3
|
191
180
|
summary: Ruby H-Y-P-E utility
|
192
|
-
test_files:
|
193
|
-
- spec/kanye/itunes_spec.rb
|
194
|
-
- spec/kanye/track_spec.rb
|
195
|
-
- spec/kanye_spec.rb
|
196
|
-
- spec/spec_helper.rb
|
181
|
+
test_files: []
|
data/lib/kanye/itunes.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
require 'appscript'
|
2
|
-
|
3
|
-
module Kanye
|
4
|
-
class ITunes
|
5
|
-
include Appscript
|
6
|
-
|
7
|
-
def add_to_playlist(file, playlist_name)
|
8
|
-
list = playlist(playlist_name) || create_playlist(playlist_name)
|
9
|
-
raise "Playlist could not be found or created" unless list
|
10
|
-
track = itunes.add MacTypes::Alias.path(file)
|
11
|
-
track.duplicate(:to => list) if track
|
12
|
-
end
|
13
|
-
|
14
|
-
def playlist(name)
|
15
|
-
itunes.user_playlists[its.name.eq(name)].get.first
|
16
|
-
end
|
17
|
-
|
18
|
-
def create_playlist(name)
|
19
|
-
itunes.make(:new => :user_playlist, :with_properties => {:name => name})
|
20
|
-
end
|
21
|
-
|
22
|
-
private
|
23
|
-
|
24
|
-
def itunes
|
25
|
-
app('iTunes')
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
data/spec/kanye/itunes_spec.rb
DELETED
@@ -1,46 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
require 'appscript'
|
3
|
-
|
4
|
-
describe Kanye::ITunes do
|
5
|
-
include Appscript
|
6
|
-
KANYE_TEST = 'KANYE_TEST'
|
7
|
-
|
8
|
-
describe :add_to_playlist do
|
9
|
-
let(:list) { Kanye::ITunes.new.playlist(KANYE_TEST) }
|
10
|
-
after { begin app('iTunes').delete(list); rescue; end }
|
11
|
-
|
12
|
-
context "when file found" do
|
13
|
-
context "and playlist is June" do
|
14
|
-
let(:file) { File.expand_path('spec/data/super.mp3') }
|
15
|
-
|
16
|
-
before do
|
17
|
-
Kanye::ITunes.new.add_to_playlist(file, KANYE_TEST)
|
18
|
-
end
|
19
|
-
|
20
|
-
it "should add song to playlist" do
|
21
|
-
tracks = app('iTunes').user_playlists[its.name.eq(KANYE_TEST)].first.tracks.name.get
|
22
|
-
tracks.should include('super')
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
|
28
|
-
describe :playlist do
|
29
|
-
let(:list) { Kanye::ITunes.new.create_playlist(KANYE_TEST) }
|
30
|
-
before { list }
|
31
|
-
after { begin app('iTunes').delete(list); rescue; end }
|
32
|
-
|
33
|
-
context "playlist is found" do
|
34
|
-
it "should return appscript reference" do
|
35
|
-
Kanye::ITunes.new.playlist(KANYE_TEST).class.should == Appscript::Reference
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
context "playlist can not be found" do
|
40
|
-
before { app('iTunes').delete list }
|
41
|
-
it "should return nil" do
|
42
|
-
Kanye::ITunes.new.playlist(KANYE_TEST).should be_nil
|
43
|
-
end
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|