musicbrainz 0.4.0 → 0.4.1

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/README.rdoc CHANGED
@@ -7,17 +7,23 @@
7
7
  === Usage
8
8
 
9
9
  require 'musicbrainz'
10
+
11
+ # Search for artists
12
+ @suggestions = MusicBrainz::Artist.search('Jet')
13
+
14
+ # Find artist by name or mbid
15
+ @foo_fighters = MusicBrainz::Artist.find_by_name('Foo Fighters')
10
16
  @kasabian = MusicBrainz::Artist.find('69b39eab-6577-46a4-a9f5-817839092033')
17
+
18
+ # Use them like ActiveRecord models
11
19
  @empire_tracks = @kasabian.release_groups[8].releases.first.tracks
12
20
 
13
- === Future
14
-
15
- It should work all like ActiveRecord models.
16
-
17
21
  === Api
18
22
 
19
23
  MusicBrainzArtist
20
-
24
+
25
+ @artists = MusicBrainz::Artist.search(query)
26
+ @artist = MusicBrainz::Artist.find_by_name(name)
21
27
  @artist = MusicBrainz::Artist.find(mbid)
22
28
  @artist.id
23
29
  @artist.type
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.4.0
1
+ 0.4.1
@@ -1,21 +1,14 @@
1
1
  module MusicBrainz
2
2
  @@last_query_time = 0
3
-
4
- def self.last_query_time
5
- @@last_query_time
6
- end
7
-
8
- def self.last_query_time= time
9
- @@last_query_time = time
10
- end
3
+ @@query_interval = 1.1
11
4
 
12
5
  def self.load url
13
- sleep 1.1 - (Time.now.to_f - self.last_query_time) if Time.now.to_f - self.last_query_time < 1.1
6
+ sleep @@query_interval - (Time.now.to_f - @@last_query_time) if Time.now.to_f - @@last_query_time < @@query_interval
14
7
  response = nil
15
8
  5.times do
16
9
  begin
17
10
  response = open(url, "User-Agent" => "gem musicbrainz (https://github.com/magnolia-fan/musicbrainz) @ " + Socket.gethostname)
18
- self.last_query_time = Time.now.to_f
11
+ @@last_query_time = Time.now.to_f
19
12
  rescue => e
20
13
  p "MusicBrainz: 503"
21
14
  end
@@ -23,10 +16,4 @@ module MusicBrainz
23
16
  end
24
17
  response
25
18
  end
26
-
27
- def self.discography mbid
28
- artist = MusicBrainz::Artist.find(mbid)
29
- artist.release_groups.each {|rg| rg.releases.each {|r| r.tracks } }
30
- artist
31
- end
32
19
  end
@@ -30,6 +30,12 @@ module MusicBrainz
30
30
  @artist
31
31
  end
32
32
 
33
+ def self.discography mbid
34
+ artist = self.find(mbid)
35
+ artist.release_groups.each {|rg| rg.releases.each {|r| r.tracks } }
36
+ artist
37
+ end
38
+
33
39
  def self.find_by_name name
34
40
  matches = self.search name
35
41
  matches.length.zero? ? nil : self.find(matches.first[:mbid])
data/musicbrainz.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{musicbrainz}
8
- s.version = "0.4.0"
8
+ s.version = "0.4.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Gregory Eremin}]
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: musicbrainz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2011-09-14 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogiri
16
- requirement: &2153490500 !ruby/object:Gem::Requirement
16
+ requirement: &2153634900 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *2153490500
24
+ version_requirements: *2153634900
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: shoulda
27
- requirement: &2153489260 !ruby/object:Gem::Requirement
27
+ requirement: &2153634260 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2153489260
35
+ version_requirements: *2153634260
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: bundler
38
- requirement: &2153467600 !ruby/object:Gem::Requirement
38
+ requirement: &2153633420 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: 1.0.0
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2153467600
46
+ version_requirements: *2153633420
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: jeweler
49
- requirement: &2153466800 !ruby/object:Gem::Requirement
49
+ requirement: &2153632720 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.6.4
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2153466800
57
+ version_requirements: *2153632720
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rcov
60
- requirement: &2153465500 !ruby/object:Gem::Requirement
60
+ requirement: &2153631960 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *2153465500
68
+ version_requirements: *2153631960
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rdoc
71
- requirement: &2153464900 !ruby/object:Gem::Requirement
71
+ requirement: &2153631100 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *2153464900
79
+ version_requirements: *2153631100
80
80
  description: MusicBrainz Web Service wrapper with ActiveRecord-style models
81
81
  email: magnolia_fan@me.com
82
82
  executables: []
@@ -116,7 +116,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  segments:
118
118
  - 0
119
- hash: -2702220955620971085
119
+ hash: 1855770896645439952
120
120
  required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements: