remotable 0.2.5.beta2 → 0.3.0.beta1
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.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/remotable/active_record_extender.rb +22 -9
- data/lib/remotable/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85b05a6cc382c7d6d7c3308804b4feb1f78146b9
|
4
|
+
data.tar.gz: bf62759812b727023fbea3535e9b5a414d785e38
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fb553ea2e7a419ef3d8fc80554fd60ebccc6e09601098a2dc535aa225393af060058ac18ac888472e3a2394b3e9a2815ae6ee0cdd99594eb6373828366deb1f4
|
7
|
+
data.tar.gz: 820228c09fc5bf588c039923782ef1b2799f5116eafc6ae8b6b0818eef72b433cf297048c5c5aba78ab6ce142fb8a105d35bee567d83e4b344ce7dc65789240f
|
data/Gemfile.lock
CHANGED
@@ -28,7 +28,14 @@ module Remotable
|
|
28
28
|
@remote_attribute_map ||= default_remote_attributes.map_to_self
|
29
29
|
@local_attribute_routes ||= {}
|
30
30
|
@expires_after ||= 1.day
|
31
|
-
@remote_timeout = {
|
31
|
+
@remote_timeout = {
|
32
|
+
:list => 4, # when we're getting many remote resources
|
33
|
+
:fetch => 4, # when we're getting a remote resource that doesn't exist locally
|
34
|
+
:pull => 1, # when we're getting a remote resource to refresh a local one
|
35
|
+
:update => 2, # when we're updaing a remote resource
|
36
|
+
:create => 2, # when we're creating a remote resource
|
37
|
+
:destroy => 2 # when we're destroying a remote resource
|
38
|
+
}
|
32
39
|
end
|
33
40
|
|
34
41
|
|
@@ -92,7 +99,7 @@ module Remotable
|
|
92
99
|
def remote_timeout(*args)
|
93
100
|
if args.any?
|
94
101
|
@remote_timeout = n = args.first
|
95
|
-
@remote_timeout = {:
|
102
|
+
@remote_timeout = {:list => n, :fetch => n, :pull => n, :create => n, :update => n, :destroy => n} if n.is_a?(Numeric)
|
96
103
|
end
|
97
104
|
@remote_timeout
|
98
105
|
end
|
@@ -176,6 +183,8 @@ module Remotable
|
|
176
183
|
|
177
184
|
|
178
185
|
|
186
|
+
# !todo: create these methods on an anonymous module and mix it in
|
187
|
+
|
179
188
|
def respond_to?(method_sym, include_private=false)
|
180
189
|
return true if recognize_remote_finder_method(method_sym)
|
181
190
|
super(method_sym, include_private)
|
@@ -256,7 +265,7 @@ module Remotable
|
|
256
265
|
end
|
257
266
|
|
258
267
|
def invoke_remote_model_find_by(remote_attr, *values)
|
259
|
-
remote_set_timeout :
|
268
|
+
remote_set_timeout :fetch
|
260
269
|
|
261
270
|
find_by = remote_model.method(:find_by)
|
262
271
|
case find_by.arity
|
@@ -268,7 +277,7 @@ module Remotable
|
|
268
277
|
end
|
269
278
|
|
270
279
|
def invoke_remote_model_find_by_for_local(local_resource, remote_attr, *values)
|
271
|
-
remote_set_timeout :
|
280
|
+
remote_set_timeout :pull
|
272
281
|
|
273
282
|
find_by_for_local = remote_model.method(:find_by_for_local)
|
274
283
|
case find_by_for_local.arity
|
@@ -314,7 +323,7 @@ module Remotable
|
|
314
323
|
end
|
315
324
|
|
316
325
|
def find_by_remote_query(remote_method_name, *args)
|
317
|
-
remote_set_timeout :
|
326
|
+
remote_set_timeout :list
|
318
327
|
remote_resources = Array.wrap(remote_model.send(remote_method_name, *args))
|
319
328
|
map_remote_resources_to_local(remote_resources)
|
320
329
|
end
|
@@ -361,14 +370,13 @@ module Remotable
|
|
361
370
|
|
362
371
|
|
363
372
|
|
373
|
+
private
|
374
|
+
|
364
375
|
def remote_set_timeout(mode)
|
365
376
|
remote_model.timeout = remote_timeout[mode] if remote_model.respond_to?(:timeout=)
|
366
377
|
end
|
367
378
|
|
368
379
|
|
369
|
-
|
370
|
-
private
|
371
|
-
|
372
380
|
def default_remote_attributes
|
373
381
|
column_names - %w{id created_at updated_at expires_at}
|
374
382
|
end
|
@@ -400,7 +408,6 @@ module Remotable
|
|
400
408
|
:local_attribute_names,
|
401
409
|
:local_attribute_name,
|
402
410
|
:expires_after,
|
403
|
-
:remote_set_timeout,
|
404
411
|
:to => "self.class"
|
405
412
|
|
406
413
|
def expired?
|
@@ -571,5 +578,11 @@ module Remotable
|
|
571
578
|
|
572
579
|
|
573
580
|
|
581
|
+
private
|
582
|
+
|
583
|
+
def remote_set_timeout(mode)
|
584
|
+
self.class.send :remote_set_timeout, mode
|
585
|
+
end
|
586
|
+
|
574
587
|
end
|
575
588
|
end
|
data/lib/remotable/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: remotable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0.beta1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Robert Lail
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-02-
|
11
|
+
date: 2014-02-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeresource
|