memphis 0.0.2 → 0.0.3

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
  SHA1:
3
- metadata.gz: 040f373e37a2f6e9c2a2c671e6795bc86988aeee
4
- data.tar.gz: b903f99ff5ddd5f8fcac43859395d1ac68ca54b9
3
+ metadata.gz: 5c400a557a55c0e4d8f801d91f73c70c5572701c
4
+ data.tar.gz: f710cee478c4520d23fdbd8797998e99192fa6f0
5
5
  SHA512:
6
- metadata.gz: 925f69971f11ade431531ce7b826ff2172d572f9fead02a0e075d2aab34fa368fdd9548dc025965e06ef13299c34a298fe6239208df365b2630bfa0d70aca24e
7
- data.tar.gz: d63bc3c7b96937c56dbf7c57b3d49a6b975fd70722cbc875edc3f3d30e9ae13b30429a32499c5407e55c50a9de7f0085a17647c5cf126d8d26cdf32350b486e8
6
+ metadata.gz: 437314343c81bf2e6d32ebeb06af7b99dd72d97c77a683cf1748aeefa017d4d0d1c8f1d68ddb3ed5c5be5e7e4ebe0b3d48dc2b549c38af1e41d7b63c32101334
7
+ data.tar.gz: 46a236c0be1eba80c67205b3437e1f69628473758a2df2d59cb332abe868e8477690e5874cf5a5d0707a3f75e7650bdd3823fc862a3625f354553c12eba4b444
data/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # Memphis Changelog
2
+
3
+ ## v0.0.3
4
+
5
+ * Extremely basic parameter checking
6
+
7
+ ## v0.0.2
8
+
9
+ * Initial release
@@ -1,6 +1,8 @@
1
1
  module Memphis
2
2
  class Client
3
- class MemphisConnectionError < Exception; end
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
 
@@ -1,3 +1,3 @@
1
1
  module Memphis
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
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 Echonest's Rosetta Stone project to lookup ids for various other services}
12
- spec.summary = %q{Use Echonest's Rosetta Stone project to lookup ids for various other services}
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
@@ -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
@@ -0,0 +1,8 @@
1
+ require 'rspec'
2
+ require 'pry'
3
+ require 'pry-debugger'
4
+ require 'memphis'
5
+
6
+ RSpec.configure do |c|
7
+ c.mock_with :rspec
8
+ end
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.2
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
- description: Use Echonest's Rosetta Stone project to lookup ids for various other
70
- services
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 Echonest's Rosetta Stone project to lookup ids for various other services
111
- test_files: []
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