infopark_reactor 1.26.0 → 1.26.1
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/lib/reactor/attributes.rb +4 -4
- data/lib/reactor/cm/obj.rb +8 -4
- data/lib/reactor/legacy.rb +2 -2
- data/lib/reactor/link/temporary_link.rb +2 -2
- data/lib/reactor/persistence.rb +22 -2
- data/lib/reactor/version.rb +1 -1
- metadata +16 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 786199197009c1597fd61cfad96bc7d7171d51f0
|
4
|
+
data.tar.gz: 970a4b224175eefab08cf9bb4274f95c968d6685
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ab0392bcd63beb6ffc56cad482da97e596c0e25d472d84610890367365bd705c1be57cd0cb0a5fa4a709c259ef634ef2b786c2e667460e4ae427ce97a234386
|
7
|
+
data.tar.gz: 8c289f307c39e92b97bf55e0be130af8846eda3fc942f5f7395195d45a42ca556cb844d3764bb559749b97c8853f598c934be75c7d875e578f288930461929ff
|
data/lib/reactor/attributes.rb
CHANGED
@@ -197,7 +197,7 @@ module Reactor
|
|
197
197
|
def permalink=(value)
|
198
198
|
set(:permalink, value)
|
199
199
|
end
|
200
|
-
|
200
|
+
|
201
201
|
def name=(value)
|
202
202
|
set(:name, value)
|
203
203
|
end
|
@@ -285,10 +285,10 @@ module Reactor
|
|
285
285
|
# @deprecated
|
286
286
|
def set_link(key, id_or_path_or_cms_obj)
|
287
287
|
target_path = case id_or_path_or_cms_obj
|
288
|
-
when
|
288
|
+
when Integer then Obj.find(id_or_path_or_cms_obj).path
|
289
289
|
when String then id_or_path_or_cms_obj
|
290
290
|
when Obj then id_or_path_or_cms_obj.path
|
291
|
-
else raise ArgumentError.new("Link target must
|
291
|
+
else raise ArgumentError.new("Link target must Integer, String or Obj, but was #{id_or_path_or_cms_obj.class}.")
|
292
292
|
end
|
293
293
|
|
294
294
|
edit!
|
@@ -315,7 +315,7 @@ module Reactor
|
|
315
315
|
def allowed_attr?(attr)
|
316
316
|
return true if builtin_attr?(attr)
|
317
317
|
|
318
|
-
custom_attrs =
|
318
|
+
custom_attrs =
|
319
319
|
self.singleton_class.send(:instance_variable_get, '@_o_allowed_attrs') ||
|
320
320
|
self.class.send(:instance_variable_get, '@_o_allowed_attrs') ||
|
321
321
|
[]
|
data/lib/reactor/cm/obj.rb
CHANGED
@@ -5,7 +5,7 @@ module Reactor
|
|
5
5
|
module Cm
|
6
6
|
class Obj
|
7
7
|
attr_reader :obj_id
|
8
|
-
OBJ_ATTRS = [:permalink, :objClass, :workflowName, :name, :suppressExport, :parent]
|
8
|
+
OBJ_ATTRS = [:permalink, :objClass, :workflowName, :name, :suppressExport, :parent]
|
9
9
|
ATTR_LENGTH_CONSTRAINT = {:name => 250, :title => 250}
|
10
10
|
|
11
11
|
def self.create(name, parent, objClass)
|
@@ -249,6 +249,10 @@ module Reactor
|
|
249
249
|
simple_command("release",msg)
|
250
250
|
end
|
251
251
|
|
252
|
+
def unrelease!(msg=nil)
|
253
|
+
simple_command("unrelease",msg)
|
254
|
+
end
|
255
|
+
|
252
256
|
def edit!(msg=nil)
|
253
257
|
simple_command("edit",msg)
|
254
258
|
end
|
@@ -317,7 +321,7 @@ module Reactor
|
|
317
321
|
end
|
318
322
|
xml.tag!('content-resolveRefs')
|
319
323
|
end
|
320
|
-
|
324
|
+
request.execute!
|
321
325
|
end
|
322
326
|
|
323
327
|
def path
|
@@ -360,7 +364,7 @@ module Reactor
|
|
360
364
|
xml.get_key_tag!('content', 'workflowComment')
|
361
365
|
end
|
362
366
|
response = request.execute!
|
363
|
-
|
367
|
+
response.xpath('//workflowComment/*').map {|x| x.text.to_s}.first
|
364
368
|
end
|
365
369
|
|
366
370
|
def editor
|
@@ -418,7 +422,7 @@ module Reactor
|
|
418
422
|
xml.tag!("#{base_name}-#{cmd_name}")
|
419
423
|
end
|
420
424
|
end
|
421
|
-
|
425
|
+
@request.execute!
|
422
426
|
end
|
423
427
|
|
424
428
|
def base_name
|
data/lib/reactor/legacy.rb
CHANGED
@@ -46,10 +46,10 @@ module Reactor
|
|
46
46
|
|
47
47
|
def obj_from_anything(anything)
|
48
48
|
case anything
|
49
|
-
when
|
49
|
+
when Integer then RailsConnector::AbstractObj.find(anything)
|
50
50
|
when String then RailsConnector::AbstractObj.find_by_path(anything)
|
51
51
|
when RailsConnector::AbstractObj then anything
|
52
|
-
else raise ArgumentError, "Link target must
|
52
|
+
else raise ArgumentError, "Link target must Integer, String or Obj, but was #{anything.class}."
|
53
53
|
end
|
54
54
|
end
|
55
55
|
|
@@ -11,11 +11,11 @@ module Reactor
|
|
11
11
|
|
12
12
|
def initialize(anything)
|
13
13
|
link_data = {}
|
14
|
-
|
14
|
+
|
15
15
|
case anything
|
16
16
|
when Hash
|
17
17
|
link_data = anything
|
18
|
-
when
|
18
|
+
when Integer
|
19
19
|
link_data[:url] = RailsConnector::AbstractObj.find(anything).path
|
20
20
|
else
|
21
21
|
link_data[:url] = anything
|
data/lib/reactor/persistence.rb
CHANGED
@@ -38,6 +38,18 @@ module Reactor
|
|
38
38
|
return false
|
39
39
|
end
|
40
40
|
|
41
|
+
# Unreleases the object. Returns true on success,
|
42
|
+
# false when one of the following occurs:
|
43
|
+
# 1. user lacks the permissions
|
44
|
+
# 2. the object is not released
|
45
|
+
# 3. object is invalid
|
46
|
+
# 4. other error occoured
|
47
|
+
def unrelease(comment=nil)
|
48
|
+
return unrelease!(comment)
|
49
|
+
rescue Reactor::Cm::XmlRequestError, ActiveRecord::RecordInvalid, Reactor::NotPermitted
|
50
|
+
return false
|
51
|
+
end
|
52
|
+
|
41
53
|
# Removes the working version of the object,
|
42
54
|
# if it exists
|
43
55
|
# @param comment [String] comment to leave for the next user
|
@@ -71,6 +83,14 @@ module Reactor
|
|
71
83
|
return true
|
72
84
|
end
|
73
85
|
|
86
|
+
# Unreleases the object. Returns true on succes, can raise exceptions
|
87
|
+
# @param comment [String] comment to leave for the next user
|
88
|
+
def unrelease!(comment=nil)
|
89
|
+
crul_obj.unrelease!(comment)
|
90
|
+
reload
|
91
|
+
return true
|
92
|
+
end
|
93
|
+
|
74
94
|
# Makes the current user the editor of the object. Returns true when
|
75
95
|
# user is already the editor or take succeded,
|
76
96
|
# false when one of the following occurs:
|
@@ -289,7 +309,7 @@ module Reactor
|
|
289
309
|
end
|
290
310
|
|
291
311
|
def changed_linklists
|
292
|
-
custom_attrs =
|
312
|
+
custom_attrs =
|
293
313
|
self.singleton_class.send(:instance_variable_get, '@_o_allowed_attrs') ||
|
294
314
|
self.class.send(:instance_variable_get, '@_o_allowed_attrs') ||
|
295
315
|
[]
|
@@ -490,7 +510,7 @@ module Reactor
|
|
490
510
|
|
491
511
|
if subclass_name.present? && subclass_name != self.name
|
492
512
|
subclass = subclass_name.safe_constantize
|
493
|
-
|
513
|
+
|
494
514
|
if subclass # this if has been added
|
495
515
|
unless descendants.include?(subclass)
|
496
516
|
raise ActiveRecord::SubclassNotFound.new("Invalid single-table inheritance type: #{subclass_name} is not a subclass of #{name}")
|
data/lib/reactor/version.rb
CHANGED
metadata
CHANGED
@@ -1,75 +1,75 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infopark_reactor
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.26.
|
4
|
+
version: 1.26.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomasz Przedmojski
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-10-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 3.0.10
|
20
|
-
- - <
|
20
|
+
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 4.3.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
|
-
- -
|
27
|
+
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 3.0.10
|
30
|
-
- - <
|
30
|
+
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 4.3.0
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
34
|
name: nokogiri
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
36
36
|
requirements:
|
37
|
-
- -
|
37
|
+
- - ">="
|
38
38
|
- !ruby/object:Gem::Version
|
39
39
|
version: '0'
|
40
40
|
type: :runtime
|
41
41
|
prerelease: false
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
43
43
|
requirements:
|
44
|
-
- -
|
44
|
+
- - ">="
|
45
45
|
- !ruby/object:Gem::Version
|
46
46
|
version: '0'
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: rspec
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
50
50
|
requirements:
|
51
|
-
- -
|
51
|
+
- - ">="
|
52
52
|
- !ruby/object:Gem::Version
|
53
53
|
version: '0'
|
54
54
|
type: :development
|
55
55
|
prerelease: false
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
57
57
|
requirements:
|
58
|
-
- -
|
58
|
+
- - ">="
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '0'
|
61
61
|
- !ruby/object:Gem::Dependency
|
62
62
|
name: yard
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
65
|
-
- -
|
65
|
+
- - ">="
|
66
66
|
- !ruby/object:Gem::Version
|
67
67
|
version: '0'
|
68
68
|
type: :development
|
69
69
|
prerelease: false
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
71
71
|
requirements:
|
72
|
-
- -
|
72
|
+
- - ">="
|
73
73
|
- !ruby/object:Gem::Version
|
74
74
|
version: '0'
|
75
75
|
description: Use the ActiveRecord mimicking API to write into CM and enjoy all the
|
@@ -80,7 +80,7 @@ executables: []
|
|
80
80
|
extensions: []
|
81
81
|
extra_rdoc_files: []
|
82
82
|
files:
|
83
|
-
- .gitignore
|
83
|
+
- ".gitignore"
|
84
84
|
- Gemfile
|
85
85
|
- LICENSE
|
86
86
|
- Rakefile
|
@@ -215,17 +215,17 @@ require_paths:
|
|
215
215
|
- lib
|
216
216
|
required_ruby_version: !ruby/object:Gem::Requirement
|
217
217
|
requirements:
|
218
|
-
- -
|
218
|
+
- - ">="
|
219
219
|
- !ruby/object:Gem::Version
|
220
220
|
version: '0'
|
221
221
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
222
222
|
requirements:
|
223
|
-
- -
|
223
|
+
- - ">="
|
224
224
|
- !ruby/object:Gem::Version
|
225
225
|
version: '0'
|
226
226
|
requirements: []
|
227
227
|
rubyforge_project:
|
228
|
-
rubygems_version: 2.
|
228
|
+
rubygems_version: 2.5.2.1
|
229
229
|
signing_key:
|
230
230
|
specification_version: 4
|
231
231
|
summary: Write into CM in familiar, Rails-like way
|