api_resource 0.2.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.1
1
+ 0.2.2
data/api_resource.gemspec CHANGED
@@ -4,14 +4,14 @@
4
4
  # -*- encoding: utf-8 -*-
5
5
 
6
6
  Gem::Specification.new do |s|
7
- s.name = "api_resource"
8
- s.version = "0.2.1"
7
+ s.name = %q{api_resource}
8
+ s.version = "0.2.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ethan Langevin"]
12
- s.date = "2012-01-05"
13
- s.description = "A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources"
14
- s.email = "ejl6266@gmail.com"
12
+ s.date = %q{2012-01-07}
13
+ s.description = %q{A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources}
14
+ s.email = %q{ejl6266@gmail.com}
15
15
  s.extra_rdoc_files = [
16
16
  "LICENSE.txt",
17
17
  "README.rdoc"
@@ -76,11 +76,11 @@ Gem::Specification.new do |s|
76
76
  "spec/support/requests/test_resource_requests.rb",
77
77
  "spec/support/test_resource.rb"
78
78
  ]
79
- s.homepage = "http://github.com/ejlangev/resource"
79
+ s.homepage = %q{http://github.com/ejlangev/resource}
80
80
  s.licenses = ["MIT"]
81
81
  s.require_paths = ["lib"]
82
- s.rubygems_version = "1.8.11"
83
- s.summary = "A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources"
82
+ s.rubygems_version = %q{1.6.2}
83
+ s.summary = %q{A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources}
84
84
 
85
85
  if s.respond_to? :specification_version then
86
86
  s.specification_version = 3
data/lib/api_resource.rb CHANGED
@@ -56,21 +56,14 @@ module ApiResource
56
56
  Dir["#{File.dirname(__FILE__)}/../spec/support/**/*.rb"].each {|f| require f}
57
57
  end
58
58
 
59
- def self.site=(new_site)
60
- ApiResource::Base.site = new_site
59
+ class << self
60
+ [:site, :site=, :format, :format=, :token, :token=, :timeout, :open_timeout, :reset_connection].each do |m|
61
+ define_method(m) do |*args|
62
+ ApiResource::Base.send(m, *args)
63
+ end
64
+ end
61
65
  end
62
66
 
63
- def self.format=(new_format)
64
- ApiResource::Base.format = new_format
65
- end
66
- # set token
67
- def self.token=(new_token)
68
- ApiResource::Base.token = new_token
69
- end
70
- # get token
71
- def self.token
72
- ApiResource::Base.token
73
- end
74
67
  # Run a block with a given token - useful for AroundFilters
75
68
  def self.with_token(new_token, &block)
76
69
  old_token = self.token
@@ -82,34 +75,22 @@ module ApiResource
82
75
  end
83
76
  end
84
77
 
85
- # delegated to Base
86
- def self.reset_connection
87
- ApiResource::Base.reset_connection
88
- end
89
78
 
90
79
  # set the timeout val and reset the connection
91
80
  def self.timeout=(val)
92
- @timeout = val
81
+ ApiResource::Base.timeout = val
93
82
  self.reset_connection
94
83
  val
95
84
  end
96
-
97
- # Getter for timeout
98
- def self.timeout
99
- @timeout ||= DEFAULT_TIMEOUT
100
- end
101
85
 
102
86
  # set the timeout val and reset the connection
103
87
  def self.open_timeout=(val)
104
- @open_timeout = val
88
+ ApiResource::Base.open_timeout = val
105
89
  self.reset_connection
106
90
  val
107
91
  end
108
92
 
109
- # Getter for timeout
110
- def self.open_timeout
111
- @open_timeout ||= DEFAULT_TIMEOUT
112
- end
93
+ self.timeout = self.open_timeout = DEFAULT_TIMEOUT
113
94
 
114
95
  # logger
115
96
  def self.logger
@@ -7,7 +7,7 @@ module ApiResource
7
7
 
8
8
  class Base
9
9
 
10
- class_inheritable_accessor :site, :proxy, :user, :password, :auth_type, :format, :timeout, :ssl_options, :token
10
+ class_inheritable_accessor :site, :proxy, :user, :password, :auth_type, :format, :timeout, :open_timeout, :ssl_options, :token
11
11
 
12
12
  class_inheritable_accessor :include_root_in_json; self.include_root_in_json = true
13
13
  class_inheritable_accessor :include_blank_attributes_on_create; self.include_blank_attributes_on_create = false
@@ -124,6 +124,11 @@ module ApiResource
124
124
  write_inheritable_attribute(:timeout, timeout)
125
125
  end
126
126
 
127
+ def open_timeout=(timeout)
128
+ @connection = nil
129
+ write_inheritable_attribute(:open_timeout, timeout)
130
+ end
131
+
127
132
  def connection(refresh = false)
128
133
  @connection = Connection.new(self.site, self.format) if refresh || @connection.nil?
129
134
  @connection.timeout = self.timeout
@@ -155,7 +155,7 @@ module ApiResource
155
155
  unless path =~ /\./
156
156
  path += ".#{self.format.extension}"
157
157
  end
158
- RestClient::Resource.new("#{site.scheme}://#{site.host}:#{site.port}#{path}", {:timeout => ApiResource.timeout, :open_timeout => ApiResource.open_timeout})
158
+ RestClient::Resource.new("#{site.scheme}://#{site.host}:#{site.port}#{path}", {:timeout => ApiResource::Base.timeout, :open_timeout => ApiResource::Base.open_timeout})
159
159
  end
160
160
 
161
161
  def build_request_headers(headers, verb, uri)
data/spec/spec_helper.rb CHANGED
@@ -5,10 +5,6 @@ require 'bundler'
5
5
  require 'api_resource'
6
6
  require 'simplecov'
7
7
 
8
- # Requires supporting files with custom matchers and macros, etc,
9
- # in ./support/ and its subdirectories.
10
- Bundler.require(:default, :development)
11
- Debugger.start
12
8
 
13
9
  SimpleCov.start do
14
10
  add_filter "/spec/"
@@ -18,6 +14,11 @@ SimpleCov.at_exit do
18
14
  SimpleCov.result.format!
19
15
  end
20
16
 
17
+ # Requires supporting files with custom matchers and macros, etc,
18
+ # in ./support/ and its subdirectories.
19
+ Bundler.require(:default, :development)
20
+ Debugger.start
21
+
21
22
  # Requires supporting files with custom matchers and macros, etc,
22
23
  # in ./support/ and its subdirectories.
23
24
  #ApiResource.load_mocks_and_factories
metadata CHANGED
@@ -1,247 +1,246 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: api_resource
3
- version: !ruby/object:Gem::Version
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
4
5
  prerelease:
5
- version: 0.2.1
6
6
  platform: ruby
7
- authors:
7
+ authors:
8
8
  - Ethan Langevin
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
-
13
- date: 2012-01-05 00:00:00 Z
14
- dependencies:
15
- - !ruby/object:Gem::Dependency
12
+ date: 2012-01-07 00:00:00.000000000 -05:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &70184031659720 !ruby/object:Gem::Requirement
18
18
  none: false
19
- requirements:
20
- - - "="
21
- - !ruby/object:Gem::Version
19
+ requirements:
20
+ - - =
21
+ - !ruby/object:Gem::Version
22
22
  version: 3.0.9
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *id001
26
- - !ruby/object:Gem::Dependency
25
+ version_requirements: *70184031659720
26
+ - !ruby/object:Gem::Dependency
27
27
  name: hash_dealer
28
- requirement: &id002 !ruby/object:Gem::Requirement
28
+ requirement: &70184031659140 !ruby/object:Gem::Requirement
29
29
  none: false
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: "0"
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *id002
37
- - !ruby/object:Gem::Dependency
36
+ version_requirements: *70184031659140
37
+ - !ruby/object:Gem::Dependency
38
38
  name: rest-client
39
- requirement: &id003 !ruby/object:Gem::Requirement
39
+ requirement: &70184031658500 !ruby/object:Gem::Requirement
40
40
  none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *id003
48
- - !ruby/object:Gem::Dependency
47
+ version_requirements: *70184031658500
48
+ - !ruby/object:Gem::Dependency
49
49
  name: log4r
50
- requirement: &id004 !ruby/object:Gem::Requirement
50
+ requirement: &70184031656140 !ruby/object:Gem::Requirement
51
51
  none: false
52
- requirements:
53
- - - ">="
54
- - !ruby/object:Gem::Version
55
- version: "0"
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *id004
59
- - !ruby/object:Gem::Dependency
58
+ version_requirements: *70184031656140
59
+ - !ruby/object:Gem::Dependency
60
60
  name: differ
61
- requirement: &id005 !ruby/object:Gem::Requirement
61
+ requirement: &70184031655400 !ruby/object:Gem::Requirement
62
62
  none: false
63
- requirements:
64
- - - ">="
65
- - !ruby/object:Gem::Version
66
- version: "0"
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
66
+ version: '0'
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *id005
70
- - !ruby/object:Gem::Dependency
69
+ version_requirements: *70184031655400
70
+ - !ruby/object:Gem::Dependency
71
71
  name: colorize
72
- requirement: &id006 !ruby/object:Gem::Requirement
72
+ requirement: &70184031654560 !ruby/object:Gem::Requirement
73
73
  none: false
74
- requirements:
75
- - - ">="
76
- - !ruby/object:Gem::Version
77
- version: "0"
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: '0'
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *id006
81
- - !ruby/object:Gem::Dependency
80
+ version_requirements: *70184031654560
81
+ - !ruby/object:Gem::Dependency
82
82
  name: rspec
83
- requirement: &id007 !ruby/object:Gem::Requirement
83
+ requirement: &70184031653900 !ruby/object:Gem::Requirement
84
84
  none: false
85
- requirements:
86
- - - ">="
87
- - !ruby/object:Gem::Version
88
- version: "0"
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
89
  type: :development
90
90
  prerelease: false
91
- version_requirements: *id007
92
- - !ruby/object:Gem::Dependency
91
+ version_requirements: *70184031653900
92
+ - !ruby/object:Gem::Dependency
93
93
  name: ruby-debug19
94
- requirement: &id008 !ruby/object:Gem::Requirement
94
+ requirement: &70184031653380 !ruby/object:Gem::Requirement
95
95
  none: false
96
- requirements:
97
- - - ">="
98
- - !ruby/object:Gem::Version
99
- version: "0"
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
99
+ version: '0'
100
100
  type: :development
101
101
  prerelease: false
102
- version_requirements: *id008
103
- - !ruby/object:Gem::Dependency
102
+ version_requirements: *70184031653380
103
+ - !ruby/object:Gem::Dependency
104
104
  name: growl
105
- requirement: &id009 !ruby/object:Gem::Requirement
105
+ requirement: &70184031652400 !ruby/object:Gem::Requirement
106
106
  none: false
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: "0"
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
111
  type: :development
112
112
  prerelease: false
113
- version_requirements: *id009
114
- - !ruby/object:Gem::Dependency
113
+ version_requirements: *70184031652400
114
+ - !ruby/object:Gem::Dependency
115
115
  name: rspec-rails
116
- requirement: &id010 !ruby/object:Gem::Requirement
116
+ requirement: &70184031651600 !ruby/object:Gem::Requirement
117
117
  none: false
118
- requirements:
119
- - - ">="
120
- - !ruby/object:Gem::Version
121
- version: "0"
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
121
+ version: '0'
122
122
  type: :development
123
123
  prerelease: false
124
- version_requirements: *id010
125
- - !ruby/object:Gem::Dependency
124
+ version_requirements: *70184031651600
125
+ - !ruby/object:Gem::Dependency
126
126
  name: factory_girl
127
- requirement: &id011 !ruby/object:Gem::Requirement
127
+ requirement: &70184031650840 !ruby/object:Gem::Requirement
128
128
  none: false
129
- requirements:
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: "0"
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
133
  type: :development
134
134
  prerelease: false
135
- version_requirements: *id011
136
- - !ruby/object:Gem::Dependency
135
+ version_requirements: *70184031650840
136
+ - !ruby/object:Gem::Dependency
137
137
  name: simplecov
138
- requirement: &id012 !ruby/object:Gem::Requirement
138
+ requirement: &70184031650220 !ruby/object:Gem::Requirement
139
139
  none: false
140
- requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- version: "0"
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
143
+ version: '0'
144
144
  type: :development
145
145
  prerelease: false
146
- version_requirements: *id012
147
- - !ruby/object:Gem::Dependency
146
+ version_requirements: *70184031650220
147
+ - !ruby/object:Gem::Dependency
148
148
  name: faker
149
- requirement: &id013 !ruby/object:Gem::Requirement
149
+ requirement: &70184031649420 !ruby/object:Gem::Requirement
150
150
  none: false
151
- requirements:
152
- - - ">="
153
- - !ruby/object:Gem::Version
154
- version: "0"
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
155
155
  type: :development
156
156
  prerelease: false
157
- version_requirements: *id013
158
- - !ruby/object:Gem::Dependency
157
+ version_requirements: *70184031649420
158
+ - !ruby/object:Gem::Dependency
159
159
  name: guard
160
- requirement: &id014 !ruby/object:Gem::Requirement
160
+ requirement: &70184031648740 !ruby/object:Gem::Requirement
161
161
  none: false
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: "0"
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
166
166
  type: :development
167
167
  prerelease: false
168
- version_requirements: *id014
169
- - !ruby/object:Gem::Dependency
168
+ version_requirements: *70184031648740
169
+ - !ruby/object:Gem::Dependency
170
170
  name: guard-rspec
171
- requirement: &id015 !ruby/object:Gem::Requirement
171
+ requirement: &70184031648080 !ruby/object:Gem::Requirement
172
172
  none: false
173
- requirements:
174
- - - ">="
175
- - !ruby/object:Gem::Version
176
- version: "0"
173
+ requirements:
174
+ - - ! '>='
175
+ - !ruby/object:Gem::Version
176
+ version: '0'
177
177
  type: :development
178
178
  prerelease: false
179
- version_requirements: *id015
180
- - !ruby/object:Gem::Dependency
179
+ version_requirements: *70184031648080
180
+ - !ruby/object:Gem::Dependency
181
181
  name: mocha
182
- requirement: &id016 !ruby/object:Gem::Requirement
182
+ requirement: &70184031638420 !ruby/object:Gem::Requirement
183
183
  none: false
184
- requirements:
185
- - - ">="
186
- - !ruby/object:Gem::Version
187
- version: "0"
184
+ requirements:
185
+ - - ! '>='
186
+ - !ruby/object:Gem::Version
187
+ version: '0'
188
188
  type: :development
189
189
  prerelease: false
190
- version_requirements: *id016
191
- - !ruby/object:Gem::Dependency
190
+ version_requirements: *70184031638420
191
+ - !ruby/object:Gem::Dependency
192
192
  name: bundler
193
- requirement: &id017 !ruby/object:Gem::Requirement
193
+ requirement: &70184031637880 !ruby/object:Gem::Requirement
194
194
  none: false
195
- requirements:
195
+ requirements:
196
196
  - - ~>
197
- - !ruby/object:Gem::Version
197
+ - !ruby/object:Gem::Version
198
198
  version: 1.0.0
199
199
  type: :development
200
200
  prerelease: false
201
- version_requirements: *id017
202
- - !ruby/object:Gem::Dependency
201
+ version_requirements: *70184031637880
202
+ - !ruby/object:Gem::Dependency
203
203
  name: jeweler
204
- requirement: &id018 !ruby/object:Gem::Requirement
204
+ requirement: &70184031637120 !ruby/object:Gem::Requirement
205
205
  none: false
206
- requirements:
206
+ requirements:
207
207
  - - ~>
208
- - !ruby/object:Gem::Version
208
+ - !ruby/object:Gem::Version
209
209
  version: 1.6.4
210
210
  type: :development
211
211
  prerelease: false
212
- version_requirements: *id018
213
- - !ruby/object:Gem::Dependency
212
+ version_requirements: *70184031637120
213
+ - !ruby/object:Gem::Dependency
214
214
  name: activerecord
215
- requirement: &id019 !ruby/object:Gem::Requirement
215
+ requirement: &70184031636400 !ruby/object:Gem::Requirement
216
216
  none: false
217
- requirements:
218
- - - "="
219
- - !ruby/object:Gem::Version
217
+ requirements:
218
+ - - =
219
+ - !ruby/object:Gem::Version
220
220
  version: 3.0.9
221
221
  type: :development
222
222
  prerelease: false
223
- version_requirements: *id019
224
- - !ruby/object:Gem::Dependency
223
+ version_requirements: *70184031636400
224
+ - !ruby/object:Gem::Dependency
225
225
  name: sqlite3
226
- requirement: &id020 !ruby/object:Gem::Requirement
226
+ requirement: &70184031635200 !ruby/object:Gem::Requirement
227
227
  none: false
228
- requirements:
229
- - - ">="
230
- - !ruby/object:Gem::Version
231
- version: "0"
228
+ requirements:
229
+ - - ! '>='
230
+ - !ruby/object:Gem::Version
231
+ version: '0'
232
232
  type: :development
233
233
  prerelease: false
234
- version_requirements: *id020
235
- description: A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources
234
+ version_requirements: *70184031635200
235
+ description: A replacement for ActiveResource for RESTful APIs that handles associated
236
+ object and multiple data sources
236
237
  email: ejl6266@gmail.com
237
238
  executables: []
238
-
239
239
  extensions: []
240
-
241
- extra_rdoc_files:
240
+ extra_rdoc_files:
242
241
  - LICENSE.txt
243
242
  - README.rdoc
244
- files:
243
+ files:
245
244
  - .document
246
245
  - .rspec
247
246
  - Gemfile
@@ -300,35 +299,34 @@ files:
300
299
  - spec/support/requests/error_resource_requests.rb
301
300
  - spec/support/requests/test_resource_requests.rb
302
301
  - spec/support/test_resource.rb
302
+ has_rdoc: true
303
303
  homepage: http://github.com/ejlangev/resource
304
- licenses:
304
+ licenses:
305
305
  - MIT
306
306
  post_install_message:
307
307
  rdoc_options: []
308
-
309
- require_paths:
308
+ require_paths:
310
309
  - lib
311
- required_ruby_version: !ruby/object:Gem::Requirement
310
+ required_ruby_version: !ruby/object:Gem::Requirement
312
311
  none: false
313
- requirements:
314
- - - ">="
315
- - !ruby/object:Gem::Version
316
- hash: 1458540798497608710
317
- segments:
312
+ requirements:
313
+ - - ! '>='
314
+ - !ruby/object:Gem::Version
315
+ version: '0'
316
+ segments:
318
317
  - 0
319
- version: "0"
320
- required_rubygems_version: !ruby/object:Gem::Requirement
318
+ hash: -4465182740306650
319
+ required_rubygems_version: !ruby/object:Gem::Requirement
321
320
  none: false
322
- requirements:
323
- - - ">="
324
- - !ruby/object:Gem::Version
325
- version: "0"
321
+ requirements:
322
+ - - ! '>='
323
+ - !ruby/object:Gem::Version
324
+ version: '0'
326
325
  requirements: []
327
-
328
326
  rubyforge_project:
329
- rubygems_version: 1.8.11
327
+ rubygems_version: 1.6.2
330
328
  signing_key:
331
329
  specification_version: 3
332
- summary: A replacement for ActiveResource for RESTful APIs that handles associated object and multiple data sources
330
+ summary: A replacement for ActiveResource for RESTful APIs that handles associated
331
+ object and multiple data sources
333
332
  test_files: []
334
-