infopark_reactor 1.20.2 → 1.20.3
Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b0d4cdc9b5a3e3e40cff91833be18dbed74bfbd6
|
4
|
+
data.tar.gz: 9f58e6890f99908e7690e5aa1b668c0bf915e384
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8ec0832951ca68a4474fc8f1ee8bbb7b00bf2d70bc9e2fe0a9252982a265c302fc26dc5656e57c7bf647e29fc909f6b8178e36a7eee5d6567cc3d22b520b8815
|
7
|
+
data.tar.gz: 48d62d3954be30727d2e8caca055888a468feeb1850ac8f19dc7c765cbce28d4b72a5935856eaeabf93afdc7059cae06120ebd1102129f7688623000d8ebc1ad
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Reactor
|
2
|
+
module Attributes
|
3
|
+
class LinkListFromAccessor
|
4
|
+
def initialize(obj, attribute)
|
5
|
+
self.obj = obj
|
6
|
+
self.attribute = attribute
|
7
|
+
end
|
8
|
+
|
9
|
+
def call
|
10
|
+
self.obj[self.attribute.to_sym] || RailsConnector::LinkList.new([])
|
11
|
+
end
|
12
|
+
|
13
|
+
protected
|
14
|
+
attr_accessor :obj, :attribute
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Reactor
|
2
|
+
module Attributes
|
3
|
+
class LinkListFromAttrValues
|
4
|
+
def initialize(obj, attribute)
|
5
|
+
self.obj = obj
|
6
|
+
self.attribute = attribute
|
7
|
+
end
|
8
|
+
|
9
|
+
def call
|
10
|
+
(self.obj.attr_values[self.attribute.to_s] || []).map do |link_data|
|
11
|
+
RailsConnector::Link.new(link_data)
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
protected
|
16
|
+
attr_accessor :obj, :attribute
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/reactor/persistence.rb
CHANGED
@@ -1,4 +1,7 @@
|
|
1
1
|
# -*- encoding : utf-8 -*-
|
2
|
+
require 'reactor/attributes/link_list_from_accessor'
|
3
|
+
require 'reactor/attributes/link_list_from_attr_values'
|
4
|
+
|
2
5
|
module Reactor
|
3
6
|
module Persistence
|
4
7
|
# Provides API for writing into the Content Manager.
|
@@ -249,25 +252,6 @@ module Reactor
|
|
249
252
|
raise RuntimeError, "Unsupported Rails version!"
|
250
253
|
end
|
251
254
|
|
252
|
-
|
253
|
-
=begin
|
254
|
-
# @see [ActiveRecord::Persistence#update_attributes]
|
255
|
-
def update_attributes(attributes, options={})
|
256
|
-
attributes.each do |attr, value|
|
257
|
-
self.send(:"#{attr}=", value)
|
258
|
-
end
|
259
|
-
self.save
|
260
|
-
end
|
261
|
-
|
262
|
-
# @see [ActiveRecord::Persistence#update_attributes!]
|
263
|
-
def update_attributes!(attributes, options={})
|
264
|
-
attributes.each do |attr, value|
|
265
|
-
self.send(:"#{attr}=", value)
|
266
|
-
end
|
267
|
-
self.save!
|
268
|
-
end
|
269
|
-
=end
|
270
|
-
|
271
255
|
# Equivalent to Obj#edited?
|
272
256
|
def really_edited?
|
273
257
|
self.edited?
|
@@ -335,7 +319,7 @@ module Reactor
|
|
335
319
|
|
336
320
|
new_links = {}.tap do |result|
|
337
321
|
linklists.map do |field|
|
338
|
-
result[field] =
|
322
|
+
result[field] = Reactor::Attributes::LinkListFromAccessor.new(self, field).call.map do |l|
|
339
323
|
{:link_id => l.id, :title => l.title, :destination_url => (l.internal? ? l.destination_object.path : l.url), :target => l.target}
|
340
324
|
end
|
341
325
|
end
|
@@ -352,7 +336,7 @@ module Reactor
|
|
352
336
|
copy = RailsConnector::AbstractObj.uncached { RailsConnector::AbstractObj.find(self.id) }
|
353
337
|
|
354
338
|
linklists.each do |linklist|
|
355
|
-
original_link_ids =
|
339
|
+
original_link_ids = Reactor::Attributes::LinkListFromAttrValues.new(copy, linklist).call.map(&:id)
|
356
340
|
i = 0
|
357
341
|
common = [original_link_ids.length,
|
358
342
|
new_links[linklist].length].min
|
@@ -385,10 +369,6 @@ module Reactor
|
|
385
369
|
self.class.connection.clear_query_cache
|
386
370
|
end
|
387
371
|
|
388
|
-
def __read_link(name)
|
389
|
-
self[name.to_sym] || RailsConnector::LinkList.new([])
|
390
|
-
end
|
391
|
-
|
392
372
|
private
|
393
373
|
|
394
374
|
# TODO: test it & make it public
|
data/lib/reactor/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infopark_reactor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.20.
|
4
|
+
version: 1.20.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomasz Przedmojski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-05-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -120,6 +120,8 @@ files:
|
|
120
120
|
- lib/reactor/attributes/date_serializer.rb
|
121
121
|
- lib/reactor/attributes/html_serializer.rb
|
122
122
|
- lib/reactor/attributes/link_list_extender.rb
|
123
|
+
- lib/reactor/attributes/link_list_from_accessor.rb
|
124
|
+
- lib/reactor/attributes/link_list_from_attr_values.rb
|
123
125
|
- lib/reactor/attributes/link_list_serializer.rb
|
124
126
|
- lib/reactor/cache/permission.rb
|
125
127
|
- lib/reactor/cache/user.rb
|
@@ -230,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
230
232
|
version: '0'
|
231
233
|
requirements: []
|
232
234
|
rubyforge_project:
|
233
|
-
rubygems_version: 2.0.14
|
235
|
+
rubygems_version: 2.0.14.1
|
234
236
|
signing_key:
|
235
237
|
specification_version: 4
|
236
238
|
summary: Write into CM in familiar, Rails-like way
|