harpy 0.1.8 → 0.1.9

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.
@@ -1,15 +1,20 @@
1
1
  module Harpy
2
2
  class Collection
3
3
  include Resource
4
+ attr_reader :items
4
5
  def initialize(attrs = nil)
5
6
  attrs = attrs || {}
6
7
  @items = attrs.delete :items
7
8
  super attrs
8
9
  end
10
+ def persisted?
11
+ true
12
+ end
13
+ alias_method :item, :items
9
14
  private
10
- def method_missing(method, *args)
11
- if @items.respond_to? method
12
- @items.send method, *args
15
+ def method_missing(method, *args, &blk)
16
+ if items.respond_to? method
17
+ items.send method, *args, &blk
13
18
  else
14
19
  super
15
20
  end
@@ -1,3 +1,3 @@
1
1
  module Harpy
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.9"
3
3
  end
@@ -327,11 +327,17 @@ describe "class including Harpy::Resource" do
327
327
  Harpy.client.should_receive(:get).with(url, :params => {"firstname" => "Anthony"}).and_return response
328
328
  companies = Harpy::Spec::Company.search "firstname" => "Anthony"
329
329
  companies.should be_kind_of Harpy::Collection
330
- companies.size.should == 1
330
+ companies.should have(1).item
331
+ companies.should have(1).items
331
332
  companies.first.should be_kind_of Harpy::Spec::Company
332
333
  companies.first.firstname.should == "Anthony"
333
334
  companies.first.id.should == "1"
334
335
  companies.url.should == url
336
+ companies.each do |company|
337
+ company.firstname.should == "Anthony"
338
+ end
339
+ companies.to_a.should == [companies.first]
340
+ companies.detect{ true }.should be companies.first
335
341
  end
336
342
  it "delegates other response codes to client" do
337
343
  response = Typhoeus::Response.new :code => 500
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: harpy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ date: 2011-08-22 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: typhoeus
17
- requirement: &2151753400 !ruby/object:Gem::Requirement
17
+ requirement: &2160267080 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.2.4
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2151753400
25
+ version_requirements: *2160267080
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: activesupport
28
- requirement: &2151750940 !ruby/object:Gem::Requirement
28
+ requirement: &2160266160 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ! '>='
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 3.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2151750940
36
+ version_requirements: *2160266160
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: activemodel
39
- requirement: &2151755800 !ruby/object:Gem::Requirement
39
+ requirement: &2160265520 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: 3.0.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2151755800
47
+ version_requirements: *2160265520
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: hash-deep-merge
50
- requirement: &2151797880 !ruby/object:Gem::Requirement
50
+ requirement: &2160264860 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ~>
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: 0.1.1
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *2151797880
58
+ version_requirements: *2160264860
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: yajl-ruby
61
- requirement: &2151821160 !ruby/object:Gem::Requirement
61
+ requirement: &2160264120 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ~>
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: 0.8.2
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *2151821160
69
+ version_requirements: *2160264120
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rake
72
- requirement: &2151838760 !ruby/object:Gem::Requirement
72
+ requirement: &2160263420 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ~>
@@ -77,10 +77,10 @@ dependencies:
77
77
  version: 0.8.7
78
78
  type: :development
79
79
  prerelease: false
80
- version_requirements: *2151838760
80
+ version_requirements: *2160263420
81
81
  - !ruby/object:Gem::Dependency
82
82
  name: rspec
83
- requirement: &2151848480 !ruby/object:Gem::Requirement
83
+ requirement: &2160262720 !ruby/object:Gem::Requirement
84
84
  none: false
85
85
  requirements:
86
86
  - - ~>
@@ -88,10 +88,10 @@ dependencies:
88
88
  version: 2.6.0
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *2151848480
91
+ version_requirements: *2160262720
92
92
  - !ruby/object:Gem::Dependency
93
93
  name: rocco
94
- requirement: &2151858660 !ruby/object:Gem::Requirement
94
+ requirement: &2160262100 !ruby/object:Gem::Requirement
95
95
  none: false
96
96
  requirements:
97
97
  - - ~>
@@ -99,7 +99,7 @@ dependencies:
99
99
  version: '0.7'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *2151858660
102
+ version_requirements: *2160262100
103
103
  description: Client for REST API with HATEOAS
104
104
  email:
105
105
  - joseph.halter@thetalentbox.com