spof 0.0.4 → 0.0.5

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: e67eb54727921db21214c372c07994b195a3d79c
4
- data.tar.gz: d7c6afe3ce115e661447a740c44d3559802ee16e
3
+ metadata.gz: d45c7f6f97bfa4030b84355b1e8aba9ba9dffa6b
4
+ data.tar.gz: bdb7e3dc76cf2343855c0cfe4a203ff6f19abb32
5
5
  SHA512:
6
- metadata.gz: 046d4636494ddffb0bde59767f3703fdf16c596de48ba4c121b1cb063e2ef1a80920834b9c62e39cca9e71dfa0c0cafe42b8cf699eb4253f8840a00b12541d8a
7
- data.tar.gz: 1647b7fd105c2be5812c103a7c865f67c059083e913c24d1f54a0d0cd1edff558912ba7e5f31cdf0656df55138da6bc83aab21b0eadce457e53d86677c54b412
6
+ metadata.gz: ae1627c65e6b37bac9efe25fce5551451c34bf176cef6957dbb83d2d9fd29deb8b2e35d0639bc2104755a97295129f72a630c96cd7f1d7131d6d9866a168fa30
7
+ data.tar.gz: 8348ea7d148b0109c21ce4b7b558d5e1c025a33591164f546322ca850840de0675d456417709b6d518f3e59bdb4752bf67890a048c2ac898aa8868156a2b1d15
data/README.md CHANGED
@@ -7,6 +7,8 @@ Ruby wrapper for the Spotify Search & Lookup API. Under development.
7
7
 
8
8
  [![Gem Version](https://badge.fury.io/rb/spof.png)](http://badge.fury.io/rb/spof)
9
9
 
10
+ [![Stories in Ready](https://badge.waffle.io/ignaciocontreras/spof.png?label=ready)](https://waffle.io/ignaciocontreras/spof)
11
+
10
12
 
11
13
  Usage
12
14
  -----
data/lib/spof/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Spof
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/wrapper.rb CHANGED
@@ -25,12 +25,41 @@ module Spof
25
25
  self
26
26
  end
27
27
 
28
+ def all(num)
29
+ @all = true
30
+ end
31
+
28
32
  def search(text)
29
- if [:album, :artist, :track].include?(@type)
30
- Spof::Search.send(@type, text)
31
- else
32
- raise Spof::SpofError, "Invalid search type"
33
+ @type ||= :all
34
+ @all ||= false
35
+
36
+ continue = true
37
+
38
+ result = []
39
+ while continue
40
+ res = case @type
41
+ when :album
42
+ Spof::Search.album(text)[:albums]
43
+ when :artist
44
+ Spof::Search.artist(text)[:artists]
45
+ when :track
46
+ Spof::Search.track(text)[:tracks]
47
+ when :all?
48
+ else
49
+ raise Spof::SpofError, "Invalid search type #{@type}"
50
+ end
51
+ result |= res
52
+ if res.empty?
53
+ continue = false
54
+ else
55
+ continue = @all
56
+ end
33
57
  end
58
+
59
+ @type = nil # TODO: reset search type?
60
+ @all = nil
61
+
62
+ return result
34
63
  end
35
64
 
36
65
  end
@@ -4,23 +4,23 @@ require 'test/unit'
4
4
  class TestBasicWrapper < Test::Unit::TestCase
5
5
 
6
6
  def setup
7
- @w = Spof::Wrapper.new :testing => true
7
+ @w = Spof::Wrapper.new :testing => false # testing actual responses!
8
8
  end
9
9
 
10
- def test_search_album_request
11
- expected = Spof::Search.album('space oddity')
10
+ def test_search_album_response
11
+ expected = Spof::Search.album('space oddity')[:albums]
12
12
  real = @w.album.search('space oddity')
13
13
  assert_equal expected, real
14
14
  end
15
15
 
16
- def test_search_artist_request
17
- expected = Spof::Search.artist('david bowie')
16
+ def test_search_artist_response
17
+ expected = Spof::Search.artist('david bowie')[:artists]
18
18
  real = @w.artist.search('david bowie')
19
19
  assert_equal expected, real
20
20
  end
21
21
 
22
- def test_search_track_request
23
- expected = Spof::Search.track('life on mars')
22
+ def test_search_track_response
23
+ expected = Spof::Search.track('life on mars')[:tracks]
24
24
  real = @w.track.search('life on mars')
25
25
  assert_equal expected, real
26
26
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spof
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ignacio Contreras
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-26 00:00:00.000000000 Z
11
+ date: 2013-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler