lazy_resource 0.1.0 → 0.2.0
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.
@@ -51,6 +51,7 @@ module LazyResource
|
|
51
51
|
# +query_options+ - A \hash to add items to the query string for the request.
|
52
52
|
def element_path(id, prefix_options = {}, query_options = nil, from = nil)
|
53
53
|
prefix_options, query_options = split_options(prefix_options) if query_options.nil?
|
54
|
+
from = self.from if from.nil? && respond_to?(:from)
|
54
55
|
"#{prefix(prefix_options)}#{from || collection_name}/#{URI.escape id.to_s}#{query_string(query_options)}"
|
55
56
|
end
|
56
57
|
|
@@ -60,6 +61,7 @@ module LazyResource
|
|
60
61
|
# * +prefix_options+ - A hash to add a prefix to the request for nested URLs (e.g., <tt>:account_id => 19</tt>
|
61
62
|
# would yield a URL like <tt>/accounts/19/purchases/new.json</tt>).
|
62
63
|
def new_element_path(prefix_options = {}, from = nil)
|
64
|
+
from = self.from if from.nil? && respond_to?(:from)
|
63
65
|
"#{prefix(prefix_options)}#{from || collection_name}/new"
|
64
66
|
end
|
65
67
|
|
@@ -72,6 +74,7 @@ module LazyResource
|
|
72
74
|
# * +query_options+ - A hash to add items to the query string for the request.
|
73
75
|
def collection_path(prefix_options = {}, query_options = nil, from = nil)
|
74
76
|
prefix_options, query_options = split_options(prefix_options) if query_options.nil?
|
77
|
+
from = self.from if from.nil? && respond_to?(:from)
|
75
78
|
"#{prefix(prefix_options)}#{from || collection_name}#{query_string(query_options)}"
|
76
79
|
end
|
77
80
|
|
@@ -356,6 +356,46 @@ describe LazyResource::Resource do
|
|
356
356
|
end
|
357
357
|
end
|
358
358
|
|
359
|
+
describe '.from' do
|
360
|
+
before :each do
|
361
|
+
@from = User.from
|
362
|
+
end
|
363
|
+
|
364
|
+
after :each do
|
365
|
+
User.from = @from
|
366
|
+
end
|
367
|
+
|
368
|
+
it 'returns the from value if set' do
|
369
|
+
User.from = 'people'
|
370
|
+
User.from.should == 'people'
|
371
|
+
end
|
372
|
+
|
373
|
+
it 'uses the from value to generate a collection path' do
|
374
|
+
User.from = 'people'
|
375
|
+
User.collection_path.should == '/people'
|
376
|
+
end
|
377
|
+
|
378
|
+
it 'uses the from value to generate an element path' do
|
379
|
+
User.from = 'people'
|
380
|
+
User.element_path(1).should == '/people/1'
|
381
|
+
end
|
382
|
+
end
|
383
|
+
|
384
|
+
describe '.from=' do
|
385
|
+
before :each do
|
386
|
+
@from = User.from
|
387
|
+
end
|
388
|
+
|
389
|
+
after :each do
|
390
|
+
User.from = @from
|
391
|
+
end
|
392
|
+
|
393
|
+
it 'sets the from value' do
|
394
|
+
User.from = 'people'
|
395
|
+
User.from.should == 'people'
|
396
|
+
end
|
397
|
+
end
|
398
|
+
|
359
399
|
describe '.root_node_name=' do
|
360
400
|
before :each do
|
361
401
|
LazyResource::Mapping.root_node_name = nil
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lazy_resource
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-08-
|
12
|
+
date: 2012-08-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activemodel
|
@@ -132,7 +132,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
132
|
version: '0'
|
133
133
|
segments:
|
134
134
|
- 0
|
135
|
-
hash:
|
135
|
+
hash: 1026372521155159703
|
136
136
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
137
137
|
none: false
|
138
138
|
requirements:
|
@@ -141,7 +141,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
141
141
|
version: '0'
|
142
142
|
segments:
|
143
143
|
- 0
|
144
|
-
hash:
|
144
|
+
hash: 1026372521155159703
|
145
145
|
requirements: []
|
146
146
|
rubyforge_project:
|
147
147
|
rubygems_version: 1.8.24
|