her 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,2 +1,8 @@
1
- rvm: 1.9.2
1
+ language: ruby
2
+
3
+ rvm:
4
+ - 1.9.3
5
+ - 1.9.2
6
+ - 1.8.7
7
+
2
8
  script: "bundle exec rake spec"
@@ -74,7 +74,7 @@ module Her
74
74
  def request(attrs={}) # {{{
75
75
  method = attrs.delete(:_method)
76
76
  path = attrs.delete(:_path)
77
- attrs.delete_if { |key, value| key =~ /^_/ } # Remove all internal parameters
77
+ attrs.delete_if { |key, value| key.to_s =~ /^_/ } # Remove all internal parameters
78
78
  response = @connection.send method do |request|
79
79
  if method == :get
80
80
  # For GET requests, treat additional parameters as querystring data
@@ -31,6 +31,12 @@ module Her
31
31
  end
32
32
  end # }}}
33
33
 
34
+ # Override the method to prevent from returning the object ID (in ruby-1.8.7)
35
+ # @private
36
+ def id # {{{
37
+ @data[:id] || super
38
+ end # }}}
39
+
34
40
  # Initialize a collection of resources with raw data from an HTTP request
35
41
  #
36
42
  # @param [Hash] parsed_data The raw `parsed_data` parsed from the HTTP response
@@ -1,3 +1,3 @@
1
1
  module Her
2
- VERSION = "0.2.2"
2
+ VERSION = "0.2.3"
3
3
  end
@@ -82,7 +82,7 @@ describe Her::API do
82
82
 
83
83
  class CustomParser < Faraday::Response::Middleware
84
84
  def on_complete(env)
85
- json = JSON.parse(env[:body], :symbolize_names => true)
85
+ json = MultiJson.load(env[:body], :symbolize_keys => true)
86
86
  errors = json.delete(:errors) || []
87
87
  metadata = json.delete(:metadata) || {}
88
88
  env[:body] = {
@@ -5,19 +5,19 @@ describe Her::Model::Introspection do
5
5
  context "introspecting a resource" do
6
6
  before do # {{{
7
7
  Her::API.setup :base_uri => "https://api.example.com"
8
- FakeWeb.register_uri(:get, "https://api.example.com/users/1", :body => { :id => 1, :name => "Tobias Fünke" }.to_json)
8
+ FakeWeb.register_uri(:get, "https://api.example.com/users/1", :body => { :id => 1, :name => "Tobias Funke" }.to_json)
9
9
  spawn_model :User
10
10
  end # }}}
11
11
 
12
12
  describe "#inspect" do
13
13
  it "outputs resource attributs for an existing resource" do # {{{
14
14
  @user = User.find(1)
15
- @user.inspect.should == "#<User(/users/1) id=1 name=\"Tobias Fünke\">"
15
+ ["#<User(/users/1) name=\"Tobias Funke\" id=1>", "#<User(/users/1) id=1 name=\"Tobias Funke\">"].should include(@user.inspect)
16
16
  end # }}}
17
17
 
18
18
  it "outputs resource attributs for an not-saved-yet resource" do # {{{
19
- @user = User.new(:name => "Tobias Fünke")
20
- @user.inspect.should == "#<User(/users) name=\"Tobias Fünke\">"
19
+ @user = User.new(:name => "Tobias Funke")
20
+ @user.inspect.should == "#<User(/users) name=\"Tobias Funke\">"
21
21
  end # }}}
22
22
  end
23
23
  end
@@ -10,13 +10,13 @@ describe Her::Model::Paths do
10
10
 
11
11
  describe "#build_request_path" do
12
12
  it "builds paths with defaults" do # {{{
13
- User.build_request_path(id: "foo").should == "/users/foo"
13
+ User.build_request_path(:id => "foo").should == "/users/foo"
14
14
  User.build_request_path.should == "/users"
15
15
  end # }}}
16
16
 
17
17
  it "builds paths with custom collection path" do # {{{
18
18
  User.collection_path "/utilisateurs"
19
- User.build_request_path(id: "foo").should == "/utilisateurs/foo"
19
+ User.build_request_path(:id => "foo").should == "/utilisateurs/foo"
20
20
  User.build_request_path.should == "/utilisateurs"
21
21
  end # }}}
22
22
 
@@ -28,7 +28,7 @@ describe Her::Model::Paths do
28
28
 
29
29
  it "builds paths with custom item path" do # {{{
30
30
  User.resource_path "/utilisateurs/:id"
31
- User.build_request_path(id: "foo").should == "/utilisateurs/foo"
31
+ User.build_request_path(:id => "foo").should == "/utilisateurs/foo"
32
32
  User.build_request_path.should == "/users"
33
33
  end # }}}
34
34
 
@@ -46,7 +46,7 @@ describe Her::Model::Paths do
46
46
 
47
47
  describe "#build_request_path" do
48
48
  it "builds paths with defaults" do # {{{
49
- Base::User.build_request_path(id: "foo").should == "/users/foo"
49
+ Base::User.build_request_path(:id => "foo").should == "/users/foo"
50
50
  Base::User.build_request_path.should == "/users"
51
51
  end # }}}
52
52
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: her
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.2
4
+ version: 0.2.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,216 +9,151 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-05-01 00:00:00.000000000Z
12
+ date: 2012-05-01 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rake
16
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &70289715223620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - '='
19
+ - - =
20
20
  - !ruby/object:Gem::Version
21
21
  version: 0.9.2.2
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
- requirements:
27
- - - '='
28
- - !ruby/object:Gem::Version
29
- version: 0.9.2.2
24
+ version_requirements: *70289715223620
30
25
  - !ruby/object:Gem::Dependency
31
26
  name: rspec
32
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &70289715222660 !ruby/object:Gem::Requirement
33
28
  none: false
34
29
  requirements:
35
- - - '='
30
+ - - =
36
31
  - !ruby/object:Gem::Version
37
32
  version: 2.9.0
38
33
  type: :development
39
34
  prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - '='
44
- - !ruby/object:Gem::Version
45
- version: 2.9.0
35
+ version_requirements: *70289715222660
46
36
  - !ruby/object:Gem::Dependency
47
37
  name: yard
48
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &70289715221300 !ruby/object:Gem::Requirement
49
39
  none: false
50
40
  requirements:
51
- - - '='
41
+ - - =
52
42
  - !ruby/object:Gem::Version
53
43
  version: 0.7.5
54
44
  type: :development
55
45
  prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
- requirements:
59
- - - '='
60
- - !ruby/object:Gem::Version
61
- version: 0.7.5
46
+ version_requirements: *70289715221300
62
47
  - !ruby/object:Gem::Dependency
63
48
  name: redcarpet
64
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &70289715220480 !ruby/object:Gem::Requirement
65
50
  none: false
66
51
  requirements:
67
- - - '='
52
+ - - =
68
53
  - !ruby/object:Gem::Version
69
54
  version: 1.17.2
70
55
  type: :development
71
56
  prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
- requirements:
75
- - - '='
76
- - !ruby/object:Gem::Version
77
- version: 1.17.2
57
+ version_requirements: *70289715220480
78
58
  - !ruby/object:Gem::Dependency
79
59
  name: mocha
80
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &70289715219620 !ruby/object:Gem::Requirement
81
61
  none: false
82
62
  requirements:
83
- - - '='
63
+ - - =
84
64
  - !ruby/object:Gem::Version
85
65
  version: 0.11.3
86
66
  type: :development
87
67
  prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
- none: false
90
- requirements:
91
- - - '='
92
- - !ruby/object:Gem::Version
93
- version: 0.11.3
68
+ version_requirements: *70289715219620
94
69
  - !ruby/object:Gem::Dependency
95
70
  name: fakeweb
96
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &70289715218820 !ruby/object:Gem::Requirement
97
72
  none: false
98
73
  requirements:
99
- - - '='
74
+ - - =
100
75
  - !ruby/object:Gem::Version
101
76
  version: 1.3.0
102
77
  type: :development
103
78
  prerelease: false
104
- version_requirements: !ruby/object:Gem::Requirement
105
- none: false
106
- requirements:
107
- - - '='
108
- - !ruby/object:Gem::Version
109
- version: 1.3.0
79
+ version_requirements: *70289715218820
110
80
  - !ruby/object:Gem::Dependency
111
81
  name: guard
112
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &70289715217880 !ruby/object:Gem::Requirement
113
83
  none: false
114
84
  requirements:
115
- - - '='
85
+ - - =
116
86
  - !ruby/object:Gem::Version
117
87
  version: 1.0.1
118
88
  type: :development
119
89
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- none: false
122
- requirements:
123
- - - '='
124
- - !ruby/object:Gem::Version
125
- version: 1.0.1
90
+ version_requirements: *70289715217880
126
91
  - !ruby/object:Gem::Dependency
127
92
  name: guard-rspec
128
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &70289715233320 !ruby/object:Gem::Requirement
129
94
  none: false
130
95
  requirements:
131
- - - '='
96
+ - - =
132
97
  - !ruby/object:Gem::Version
133
98
  version: 0.7.0
134
99
  type: :development
135
100
  prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- none: false
138
- requirements:
139
- - - '='
140
- - !ruby/object:Gem::Version
141
- version: 0.7.0
101
+ version_requirements: *70289715233320
142
102
  - !ruby/object:Gem::Dependency
143
103
  name: rb-fsevent
144
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &70289715232440 !ruby/object:Gem::Requirement
145
105
  none: false
146
106
  requirements:
147
- - - '='
107
+ - - =
148
108
  - !ruby/object:Gem::Version
149
109
  version: 0.9.1
150
110
  type: :development
151
111
  prerelease: false
152
- version_requirements: !ruby/object:Gem::Requirement
153
- none: false
154
- requirements:
155
- - - '='
156
- - !ruby/object:Gem::Version
157
- version: 0.9.1
112
+ version_requirements: *70289715232440
158
113
  - !ruby/object:Gem::Dependency
159
114
  name: growl
160
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &70289715231640 !ruby/object:Gem::Requirement
161
116
  none: false
162
117
  requirements:
163
- - - '='
118
+ - - =
164
119
  - !ruby/object:Gem::Version
165
120
  version: 1.0.3
166
121
  type: :development
167
122
  prerelease: false
168
- version_requirements: !ruby/object:Gem::Requirement
169
- none: false
170
- requirements:
171
- - - '='
172
- - !ruby/object:Gem::Version
173
- version: 1.0.3
123
+ version_requirements: *70289715231640
174
124
  - !ruby/object:Gem::Dependency
175
125
  name: activesupport
176
- requirement: !ruby/object:Gem::Requirement
126
+ requirement: &70289715230600 !ruby/object:Gem::Requirement
177
127
  none: false
178
128
  requirements:
179
- - - '='
129
+ - - =
180
130
  - !ruby/object:Gem::Version
181
131
  version: 3.2.3
182
132
  type: :runtime
183
133
  prerelease: false
184
- version_requirements: !ruby/object:Gem::Requirement
185
- none: false
186
- requirements:
187
- - - '='
188
- - !ruby/object:Gem::Version
189
- version: 3.2.3
134
+ version_requirements: *70289715230600
190
135
  - !ruby/object:Gem::Dependency
191
136
  name: faraday
192
- requirement: !ruby/object:Gem::Requirement
137
+ requirement: &70289715229920 !ruby/object:Gem::Requirement
193
138
  none: false
194
139
  requirements:
195
- - - '='
140
+ - - =
196
141
  - !ruby/object:Gem::Version
197
142
  version: 0.8.0
198
143
  type: :runtime
199
144
  prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- none: false
202
- requirements:
203
- - - '='
204
- - !ruby/object:Gem::Version
205
- version: 0.8.0
145
+ version_requirements: *70289715229920
206
146
  - !ruby/object:Gem::Dependency
207
147
  name: multi_json
208
- requirement: !ruby/object:Gem::Requirement
148
+ requirement: &70289715229140 !ruby/object:Gem::Requirement
209
149
  none: false
210
150
  requirements:
211
- - - '='
151
+ - - =
212
152
  - !ruby/object:Gem::Version
213
153
  version: 1.3.4
214
154
  type: :runtime
215
155
  prerelease: false
216
- version_requirements: !ruby/object:Gem::Requirement
217
- none: false
218
- requirements:
219
- - - '='
220
- - !ruby/object:Gem::Version
221
- version: 1.3.4
156
+ version_requirements: *70289715229140
222
157
  description: Her is an ORM that maps REST resources and collections to Ruby objects
223
158
  email:
224
159
  - remi@exomel.com
@@ -281,7 +216,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
281
216
  version: '0'
282
217
  segments:
283
218
  - 0
284
- hash: -2369072493348034064
219
+ hash: 3378238073562667343
285
220
  required_rubygems_version: !ruby/object:Gem::Requirement
286
221
  none: false
287
222
  requirements:
@@ -290,10 +225,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
290
225
  version: '0'
291
226
  segments:
292
227
  - 0
293
- hash: -2369072493348034064
228
+ hash: 3378238073562667343
294
229
  requirements: []
295
230
  rubyforge_project:
296
- rubygems_version: 1.8.18
231
+ rubygems_version: 1.8.10
297
232
  signing_key:
298
233
  specification_version: 3
299
234
  summary: A simple Representational State Transfer-based Hypertext Transfer Protocol-powered