itunes_api 0.8.2 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +11 -3
- data/lib/itunes_api/music/artist_lookup.rb +3 -3
- data/lib/itunes_api/music/artist_search.rb +3 -3
- data/lib/itunes_api/requests/base.rb +0 -4
- data/lib/itunes_api/requests/lookup.rb +2 -2
- data/lib/itunes_api/requests/search.rb +2 -2
- data/lib/itunes_api/version.rb +1 -1
- data/lib/itunes_api.rb +12 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3b7a79e554749a6e18d54f28f00105456d35fa9b
|
4
|
+
data.tar.gz: f4c3493a4838318d654a8fe6fb5cd13c5ff51ad5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 442270dae2b4da5febc278f62cf3a69ef9b9c2fab310faeecba5efd71080be2925059d3a82c495060fed926e490f45038212497183874153c62679394b0d0ee2
|
7
|
+
data.tar.gz: 7feeadb252a1849aa7f760f2c9920aa12e11a0482269b321b032dc7968e42fff57415c420a7667632401ba719b275075d70d0a6a5a1886b4f9fd5f8084c38a09
|
data/README.md
CHANGED
@@ -31,18 +31,18 @@ Add an initializer to your app to set the country for the Store:
|
|
31
31
|
```ruby
|
32
32
|
# config/initializers/itunes_api.rb
|
33
33
|
ItunesApi.configure do |config|
|
34
|
-
config.country_code = ENV['COUNTRY_CODE']
|
34
|
+
config.country_code = ENV['COUNTRY_CODE'] || :gb
|
35
35
|
end
|
36
36
|
```
|
37
37
|
|
38
38
|
## Usage
|
39
39
|
|
40
|
-
To return all the
|
40
|
+
To return all the Apple ids associated with a search term.
|
41
41
|
```ruby
|
42
42
|
ItunesApi.artist_ids('Pink Floyd')
|
43
43
|
```
|
44
44
|
|
45
|
-
To return a specific artist with albums, based on the
|
45
|
+
To return a specific artist with albums, based on the Apple id.
|
46
46
|
```ruby
|
47
47
|
ItunesApi.artist_lookup(12345)
|
48
48
|
```
|
@@ -52,6 +52,14 @@ To get all artists returning from a search term, and their albums.
|
|
52
52
|
ItunesApi.artist_search('Pink Floyd')
|
53
53
|
```
|
54
54
|
|
55
|
+
An argument holding the country code can be used to look into different stores than the default one.
|
56
|
+
|
57
|
+
```ruby
|
58
|
+
ItunesApi.artist_ids('Pink Floyd', :it)
|
59
|
+
ItunesApi.artist_lookup(12345, :us)
|
60
|
+
ItunesApi.artist_search('Pink Floyd', :fr)
|
61
|
+
```
|
62
|
+
|
55
63
|
## Development
|
56
64
|
|
57
65
|
Ruby version:
|
@@ -2,8 +2,8 @@ module ItunesApi
|
|
2
2
|
module Music
|
3
3
|
# Artist or Band resulting from a specific lookup
|
4
4
|
class ArtistLookup
|
5
|
-
attr_reader_init :artist_id
|
6
|
-
selfie :artist
|
5
|
+
attr_reader_init :artist_id, :store
|
6
|
+
selfie :artist, :store
|
7
7
|
|
8
8
|
def artist
|
9
9
|
build_artist
|
@@ -18,7 +18,7 @@ module ItunesApi
|
|
18
18
|
end
|
19
19
|
|
20
20
|
def lookup
|
21
|
-
@lookup ||= Requests::Lookup.artist_with_albums(artist_id)
|
21
|
+
@lookup ||= Requests::Lookup.artist_with_albums(artist_id, store)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
end
|
@@ -2,7 +2,7 @@ module ItunesApi
|
|
2
2
|
module Music
|
3
3
|
# Artists or Bands resulting from a search
|
4
4
|
class ArtistSearch
|
5
|
-
attr_reader_init :name
|
5
|
+
attr_reader_init :name, :store
|
6
6
|
selfie :artists
|
7
7
|
|
8
8
|
def artists
|
@@ -12,7 +12,7 @@ module ItunesApi
|
|
12
12
|
private
|
13
13
|
|
14
14
|
def artist_ids
|
15
|
-
@search ||= ItunesApi.artist_ids(name)
|
15
|
+
@search ||= ItunesApi.artist_ids(name, store)
|
16
16
|
end
|
17
17
|
|
18
18
|
def build_artist(id)
|
@@ -22,7 +22,7 @@ module ItunesApi
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def lookup(id)
|
25
|
-
Requests::Lookup.artist_with_albums(id)
|
25
|
+
Requests::Lookup.artist_with_albums(id, store)
|
26
26
|
rescue
|
27
27
|
nil
|
28
28
|
end
|
@@ -3,7 +3,7 @@ module ItunesApi
|
|
3
3
|
# Allows querying the API via lookup.
|
4
4
|
class Lookup
|
5
5
|
include Base
|
6
|
-
attr_reader_init :artist_id
|
6
|
+
attr_reader_init :artist_id, :store
|
7
7
|
selfie :artist_with_albums
|
8
8
|
|
9
9
|
def artist_with_albums
|
@@ -44,7 +44,7 @@ module ItunesApi
|
|
44
44
|
{
|
45
45
|
entity: 'album',
|
46
46
|
id: @artist_id,
|
47
|
-
country:
|
47
|
+
country: store.to_s.upcase,
|
48
48
|
limit: LIMIT,
|
49
49
|
sort: 'recent'
|
50
50
|
}
|
@@ -3,7 +3,7 @@ module ItunesApi
|
|
3
3
|
# Fetch all the artist ids corresponding to a search term
|
4
4
|
class Search
|
5
5
|
include Base
|
6
|
-
attr_reader_init :artist_name
|
6
|
+
attr_reader_init :artist_name, :store
|
7
7
|
selfie :artist_ids
|
8
8
|
|
9
9
|
def artist_ids
|
@@ -23,7 +23,7 @@ module ItunesApi
|
|
23
23
|
attribute: 'artistTerm',
|
24
24
|
entity: 'album',
|
25
25
|
term: @artist_name,
|
26
|
-
country:
|
26
|
+
country: store.to_s.upcase,
|
27
27
|
limit: LIMIT,
|
28
28
|
media: 'music',
|
29
29
|
sort: 'recent'
|
data/lib/itunes_api/version.rb
CHANGED
data/lib/itunes_api.rb
CHANGED
@@ -8,19 +8,25 @@ module ItunesApi
|
|
8
8
|
BASE_URL = 'https://itunes.apple.com'.freeze
|
9
9
|
LIMIT = 200
|
10
10
|
|
11
|
-
def self.artist_ids(name)
|
12
|
-
Requests::Search.artist_ids(name)
|
11
|
+
def self.artist_ids(name, store = default_store)
|
12
|
+
Requests::Search.artist_ids(name, store)
|
13
13
|
end
|
14
14
|
|
15
|
-
def self.artist_lookup(artist_id)
|
16
|
-
Music::ArtistLookup.artist(artist_id)
|
15
|
+
def self.artist_lookup(artist_id, store = default_store)
|
16
|
+
Music::ArtistLookup.artist(artist_id, store)
|
17
17
|
end
|
18
18
|
|
19
|
-
def self.artist_search(name)
|
20
|
-
Music::ArtistSearch.artists(name)
|
19
|
+
def self.artist_search(name, store = default_store)
|
20
|
+
Music::ArtistSearch.artists(name, store)
|
21
21
|
end
|
22
22
|
|
23
23
|
def self.configure
|
24
24
|
yield(Configuration.instance)
|
25
25
|
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def self.default_store
|
30
|
+
Configuration.instance.country_code rescue :gb
|
31
|
+
end
|
26
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: itunes_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mario D’Arco
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-07-
|
11
|
+
date: 2017-07-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: faraday
|