memphis 0.0.2 → 0.0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/memphis/client.rb +12 -2
- data/lib/memphis/version.rb +1 -1
- data/memphis.gemspec +5 -2
- data/spec/client_spec.rb +30 -0
- data/spec/spec_helper.rb +8 -0
- metadata +53 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c400a557a55c0e4d8f801d91f73c70c5572701c
|
4
|
+
data.tar.gz: f710cee478c4520d23fdbd8797998e99192fa6f0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 437314343c81bf2e6d32ebeb06af7b99dd72d97c77a683cf1748aeefa017d4d0d1c8f1d68ddb3ed5c5be5e7e4ebe0b3d48dc2b549c38af1e41d7b63c32101334
|
7
|
+
data.tar.gz: 46a236c0be1eba80c67205b3437e1f69628473758a2df2d59cb332abe868e8477690e5874cf5a5d0707a3f75e7650bdd3823fc862a3625f354553c12eba4b444
|
data/CHANGELOG.md
ADDED
data/lib/memphis/client.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
module Memphis
|
2
2
|
class Client
|
3
|
-
class
|
3
|
+
class ConnectionError < Exception; end
|
4
|
+
class EmptyAPIKeyError < Exception; end
|
5
|
+
class EmptySearchIDError < Exception; end
|
4
6
|
|
5
7
|
FOREIGN_PROVIDERS = {
|
6
8
|
'7digital-US' => '7digital',
|
@@ -22,11 +24,19 @@ module Memphis
|
|
22
24
|
|
23
25
|
BASE_URI = 'http://developer.echonest.com/api/v4/artist/profile?'
|
24
26
|
|
25
|
-
def initialize api_key
|
27
|
+
def initialize api_key=nil
|
28
|
+
if api_key.to_s == ""
|
29
|
+
raise EmptyAPIKeyError, "If you don't already have an an account, register here: https://developer.echonest.com/account/register"
|
30
|
+
end
|
31
|
+
|
26
32
|
@api_key = api_key
|
27
33
|
end
|
28
34
|
|
29
35
|
def search id
|
36
|
+
if id.to_s == ""
|
37
|
+
raise EmptySearchIDError, "need to pass in an The Echo Nest artist ID, such as: \"ARH6W4X1187B99274F\""
|
38
|
+
end
|
39
|
+
|
30
40
|
@id = id
|
31
41
|
results = get_foreign_id_hash
|
32
42
|
|
data/lib/memphis/version.rb
CHANGED
data/memphis.gemspec
CHANGED
@@ -8,8 +8,8 @@ Gem::Specification.new do |spec|
|
|
8
8
|
spec.version = Memphis::VERSION
|
9
9
|
spec.authors = ["Nick Messick"]
|
10
10
|
spec.email = ["nmessick@gmail.com"]
|
11
|
-
spec.description = %q{Use
|
12
|
-
spec.summary = %q{Use
|
11
|
+
spec.description = %q{Use The Echo Nest's Rosetta Stone project to look up IDs for various other services.}
|
12
|
+
spec.summary = %q{Use The Echo Nest's Rosetta Stone project to look up IDs for various other services.}
|
13
13
|
spec.homepage = ""
|
14
14
|
spec.license = "MIT"
|
15
15
|
|
@@ -22,4 +22,7 @@ Gem::Specification.new do |spec|
|
|
22
22
|
spec.add_dependency "multi_json"
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.3"
|
24
24
|
spec.add_development_dependency "rake"
|
25
|
+
spec.add_development_dependency "rspec", "~> 2.14.0"
|
26
|
+
spec.add_development_dependency "pry", "~> 0.9.12"
|
27
|
+
spec.add_development_dependency "pry-debugger", "~> 0.2.2"
|
25
28
|
end
|
data/spec/client_spec.rb
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Memphis::Client do
|
4
|
+
describe '#initialize' do
|
5
|
+
context 'invalid API key' do
|
6
|
+
context 'empty API key' do
|
7
|
+
it 'throws EmptyAPIKeyException' do
|
8
|
+
expect{Memphis::Client.new "" }.to raise_exception Memphis::Client::EmptyAPIKeyError
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
context 'valid API key' do
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
describe '#search' do
|
19
|
+
context 'invalid search ID' do
|
20
|
+
let(:client) { Memphis::Client.new "fake_API_key" }
|
21
|
+
context 'empty search ID' do
|
22
|
+
it 'throws EmptySearchIDException' do
|
23
|
+
expect{client.search "" }.to raise_exception Memphis::Client::EmptySearchIDError
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: memphis
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Messick
|
@@ -66,8 +66,50 @@ dependencies:
|
|
66
66
|
- - '>='
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: '0'
|
69
|
-
|
70
|
-
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rspec
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ~>
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: 2.14.0
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ~>
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: 2.14.0
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: pry
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ~>
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: 0.9.12
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ~>
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.9.12
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: pry-debugger
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ~>
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 0.2.2
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ~>
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 0.2.2
|
111
|
+
description: Use The Echo Nest's Rosetta Stone project to look up IDs for various
|
112
|
+
other services.
|
71
113
|
email:
|
72
114
|
- nmessick@gmail.com
|
73
115
|
executables: []
|
@@ -75,6 +117,7 @@ extensions: []
|
|
75
117
|
extra_rdoc_files: []
|
76
118
|
files:
|
77
119
|
- .gitignore
|
120
|
+
- CHANGELOG.md
|
78
121
|
- Gemfile
|
79
122
|
- LICENSE
|
80
123
|
- LICENSE.txt
|
@@ -84,6 +127,8 @@ files:
|
|
84
127
|
- lib/memphis/client.rb
|
85
128
|
- lib/memphis/version.rb
|
86
129
|
- memphis.gemspec
|
130
|
+
- spec/client_spec.rb
|
131
|
+
- spec/spec_helper.rb
|
87
132
|
homepage: ''
|
88
133
|
licenses:
|
89
134
|
- MIT
|
@@ -107,5 +152,8 @@ rubyforge_project:
|
|
107
152
|
rubygems_version: 2.0.5
|
108
153
|
signing_key:
|
109
154
|
specification_version: 4
|
110
|
-
summary: Use
|
111
|
-
|
155
|
+
summary: Use The Echo Nest's Rosetta Stone project to look up IDs for various other
|
156
|
+
services.
|
157
|
+
test_files:
|
158
|
+
- spec/client_spec.rb
|
159
|
+
- spec/spec_helper.rb
|