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 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