arrest 0.0.31 → 0.0.32
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.
|
@@ -172,7 +172,8 @@ module Arrest
|
|
|
172
172
|
method_name,
|
|
173
173
|
clazz_name,
|
|
174
174
|
url_part,
|
|
175
|
-
foreign_key
|
|
175
|
+
foreign_key,
|
|
176
|
+
read_only)
|
|
176
177
|
else
|
|
177
178
|
return HasManyAttribute.new(ids_field_name,
|
|
178
179
|
method_name,
|
|
@@ -263,7 +264,7 @@ module Arrest
|
|
|
263
264
|
if success
|
|
264
265
|
# check for sub resources in case of n:m relationships
|
|
265
266
|
self.class.all_fields.find_all{|f| f.is_a?(HasManySubResourceAttribute)}.each do |attr|
|
|
266
|
-
if self.send("#{attr.name}_changed?") # check whether this 'subresource' attribute has been touched
|
|
267
|
+
if !attr.sub_resource_read_only? && self.send("#{attr.name}_changed?") # check whether this 'subresource' attribute has been touched
|
|
267
268
|
ids = self.send(attr.name) # get ids_field e.g. for team has_many :users get 'self.user_ids'
|
|
268
269
|
srifn = attr.sub_resource_field_name
|
|
269
270
|
result = !!AbstractResource::source.put_sub_resource(self, srifn, ids)
|
|
@@ -6,16 +6,23 @@ module Arrest
|
|
|
6
6
|
method_name,
|
|
7
7
|
clazz_name,
|
|
8
8
|
url_part,
|
|
9
|
-
foreign_key
|
|
10
|
-
|
|
9
|
+
foreign_key,
|
|
10
|
+
read_only)
|
|
11
|
+
# the read_only for the super constructor is set to true to avoid sending post request as ids array in JSON
|
|
11
12
|
# directly instead of modifying the ids via the sub_resource
|
|
12
13
|
super(ids_field_name, method_name, clazz_name, url_part, foreign_key, true)
|
|
14
|
+
@sub_resource_read_only = read_only
|
|
13
15
|
end
|
|
14
16
|
|
|
15
17
|
def sub_resource_field_name
|
|
16
18
|
@name
|
|
17
19
|
end
|
|
18
20
|
|
|
21
|
+
# this read only hinders the additional put to the sub resource on saving the encapsulating object
|
|
22
|
+
def sub_resource_read_only?
|
|
23
|
+
@sub_resource_read_only
|
|
24
|
+
end
|
|
25
|
+
|
|
19
26
|
def from_hash(parent, value)
|
|
20
27
|
return [] if value == nil
|
|
21
28
|
super_from_hash(parent, value)
|
data/lib/arrest/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: arrest
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.32
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2012-02-
|
|
12
|
+
date: 2012-02-25 00:00:00.000000000Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: json
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &12199360 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '0'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *12199360
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: faraday
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &12194280 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - =
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: 0.7.5
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *12194280
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: activemodel
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &12168060 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ~>
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: '3'
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *12168060
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: bundler
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &12165860 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ! '>='
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: 1.0.0
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *12165860
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: rake
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &12163500 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ! '>='
|
|
@@ -65,10 +65,10 @@ dependencies:
|
|
|
65
65
|
version: '0'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *12163500
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
70
|
name: rdoc
|
|
71
|
-
requirement: &
|
|
71
|
+
requirement: &12152020 !ruby/object:Gem::Requirement
|
|
72
72
|
none: false
|
|
73
73
|
requirements:
|
|
74
74
|
- - ! '>='
|
|
@@ -76,10 +76,10 @@ dependencies:
|
|
|
76
76
|
version: '0'
|
|
77
77
|
type: :development
|
|
78
78
|
prerelease: false
|
|
79
|
-
version_requirements: *
|
|
79
|
+
version_requirements: *12152020
|
|
80
80
|
- !ruby/object:Gem::Dependency
|
|
81
81
|
name: rspec
|
|
82
|
-
requirement: &
|
|
82
|
+
requirement: &12148780 !ruby/object:Gem::Requirement
|
|
83
83
|
none: false
|
|
84
84
|
requirements:
|
|
85
85
|
- - ~>
|
|
@@ -87,10 +87,10 @@ dependencies:
|
|
|
87
87
|
version: '2'
|
|
88
88
|
type: :development
|
|
89
89
|
prerelease: false
|
|
90
|
-
version_requirements: *
|
|
90
|
+
version_requirements: *12148780
|
|
91
91
|
- !ruby/object:Gem::Dependency
|
|
92
92
|
name: rr
|
|
93
|
-
requirement: &
|
|
93
|
+
requirement: &12146380 !ruby/object:Gem::Requirement
|
|
94
94
|
none: false
|
|
95
95
|
requirements:
|
|
96
96
|
- - ! '>='
|
|
@@ -98,10 +98,10 @@ dependencies:
|
|
|
98
98
|
version: '0'
|
|
99
99
|
type: :development
|
|
100
100
|
prerelease: false
|
|
101
|
-
version_requirements: *
|
|
101
|
+
version_requirements: *12146380
|
|
102
102
|
- !ruby/object:Gem::Dependency
|
|
103
103
|
name: simplecov
|
|
104
|
-
requirement: &
|
|
104
|
+
requirement: &12096220 !ruby/object:Gem::Requirement
|
|
105
105
|
none: false
|
|
106
106
|
requirements:
|
|
107
107
|
- - ! '>='
|
|
@@ -109,10 +109,10 @@ dependencies:
|
|
|
109
109
|
version: '0'
|
|
110
110
|
type: :development
|
|
111
111
|
prerelease: false
|
|
112
|
-
version_requirements: *
|
|
112
|
+
version_requirements: *12096220
|
|
113
113
|
- !ruby/object:Gem::Dependency
|
|
114
114
|
name: rack
|
|
115
|
-
requirement: &
|
|
115
|
+
requirement: &12094280 !ruby/object:Gem::Requirement
|
|
116
116
|
none: false
|
|
117
117
|
requirements:
|
|
118
118
|
- - ! '>='
|
|
@@ -120,7 +120,7 @@ dependencies:
|
|
|
120
120
|
version: '0'
|
|
121
121
|
type: :development
|
|
122
122
|
prerelease: false
|
|
123
|
-
version_requirements: *
|
|
123
|
+
version_requirements: *12094280
|
|
124
124
|
description: Consume a rest API in a AR like fashion
|
|
125
125
|
email:
|
|
126
126
|
- axel.tetzlaff@fortytools.com
|
|
@@ -193,13 +193,4 @@ rubygems_version: 1.8.10
|
|
|
193
193
|
signing_key:
|
|
194
194
|
specification_version: 3
|
|
195
195
|
summary: Another ruby rest client
|
|
196
|
-
test_files:
|
|
197
|
-
- spec/arrest_spec.rb
|
|
198
|
-
- spec/spec_helper.rb
|
|
199
|
-
- spec/support/models/user.rb
|
|
200
|
-
- test/context.rb
|
|
201
|
-
- test/has_attributed.rb
|
|
202
|
-
- test/models.rb
|
|
203
|
-
- test/nested_resource.rb
|
|
204
|
-
- test/unit.rb
|
|
205
|
-
- test/validations.rb
|
|
196
|
+
test_files: []
|