ruby_aem 3.16.1 → 4.0.2
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/conf/gem.yaml +2 -1
- data/conf/spec.yaml +2 -0
- data/lib/ruby_aem/client.rb +5 -7
- data/lib/ruby_aem/handlers/html.rb +1 -0
- data/lib/ruby_aem/resources/aem.rb +4 -5
- data/lib/ruby_aem/resources/aem_configmgr.rb +1 -2
- data/lib/ruby_aem/resources/flush_agent.rb +2 -0
- data/lib/ruby_aem/resources/package.rb +9 -8
- data/lib/ruby_aem/resources/replication_agent.rb +4 -0
- data/lib/ruby_aem/resources/ssl.rb +1 -2
- data/lib/ruby_aem/response.rb +1 -3
- data/lib/ruby_aem/result.rb +1 -2
- data/lib/ruby_aem/swagger.rb +2 -2
- metadata +16 -32
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 538155af1ac911c997632a8e2eaeb3bafaf6a76de3411149703c818e894cce99
|
|
4
|
+
data.tar.gz: 924f0979becab02b071cab7687e2f29c9a9d0ff800b0a53c944a1fb34082e558
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d63a8b1ef4052bf8db88ddbb59eed544475636c631c37a435e5519d698493a013c3470c4abd730e15414e0e683faeaf6a5ae41babb13c8c745a9227381d0bd2a
|
|
7
|
+
data.tar.gz: 16b6b5b2a9c156a217c185553cd45808eacdd2488aefeef2ad175889ec631b637eceb3b723e208aaf6daf74bb2b14a6faf6f5eeea01a90fd0fd1d70f680fbb97
|
data/conf/gem.yaml
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
version: 4.0.2
|
data/conf/spec.yaml
CHANGED
|
@@ -354,6 +354,7 @@ flushagent:
|
|
|
354
354
|
jcrcontent_jcrdescription: '%{description}'
|
|
355
355
|
jcrcontent_slingresource_type: cq/replication/components/agent
|
|
356
356
|
jcrcontent_transport_uri: '%{dest_base_url}/dispatcher/invalidate.cache'
|
|
357
|
+
jcrcontent_alias_update: '%{alias_update}'
|
|
357
358
|
jcrcontent_log_level: '%{log_level}'
|
|
358
359
|
jcrcontent_no_versioning: true
|
|
359
360
|
jcrcontent_protocol_http_headers:
|
|
@@ -983,6 +984,7 @@ replicationagent:
|
|
|
983
984
|
jcrcontent_retry_delay: '%{retry_delay}'
|
|
984
985
|
jcrcontent_cqtemplate: /libs/cq/replication/templates/agent
|
|
985
986
|
jcrcontent_enabled: true
|
|
987
|
+
jcrcontent_ssl: '%{ssl}'
|
|
986
988
|
responses:
|
|
987
989
|
200:
|
|
988
990
|
handler: simple
|
data/lib/ruby_aem/client.rb
CHANGED
|
@@ -73,9 +73,7 @@ module RubyAem
|
|
|
73
73
|
method = RubyAem::Swagger.operation_to_method(operation)
|
|
74
74
|
data, status_code, headers = api.send("#{method}_with_http_info", *params)
|
|
75
75
|
response = RubyAem::Response.new(status_code, data, headers)
|
|
76
|
-
rescue SwaggerAemClient::ApiError => e
|
|
77
|
-
response = RubyAem::Response.new(e.code, e.response_body, e.response_headers)
|
|
78
|
-
rescue SwaggerAemOsgiClient::ApiError => e
|
|
76
|
+
rescue SwaggerAemClient::ApiError, SwaggerAemOsgiClient::ApiError => e
|
|
79
77
|
response = RubyAem::Response.new(e.code, e.response_body, e.response_headers)
|
|
80
78
|
end
|
|
81
79
|
handle(response, responses_spec, call_params)
|
|
@@ -94,7 +92,7 @@ module RubyAem
|
|
|
94
92
|
params[-1][key.to_sym] = call_params[key.to_sym] if call_params.key? key.to_sym
|
|
95
93
|
# if value is provided in optional param spec,
|
|
96
94
|
# then apply variable interpolation the same way as required param
|
|
97
|
-
elsif value.
|
|
95
|
+
elsif value.instance_of?(String)
|
|
98
96
|
case value
|
|
99
97
|
when '__FILE_PACKAGE__'
|
|
100
98
|
file_path = "#{call_params[:file_path]}/#{call_params[:package_name]}-#{call_params[:package_version]}.zip"
|
|
@@ -106,12 +104,12 @@ module RubyAem
|
|
|
106
104
|
file_path = call_params[:file_path_private_key]
|
|
107
105
|
end
|
|
108
106
|
|
|
109
|
-
if
|
|
107
|
+
if file_path.nil?
|
|
108
|
+
params[-1][key.to_sym] = value % call_params
|
|
109
|
+
else
|
|
110
110
|
File.open(file_path.to_s, 'r') { |file|
|
|
111
111
|
params[-1][key.to_sym] = file
|
|
112
112
|
}
|
|
113
|
-
else
|
|
114
|
-
params[-1][key.to_sym] = value % call_params
|
|
115
113
|
end
|
|
116
114
|
else
|
|
117
115
|
params[-1][key.to_sym] = value
|
|
@@ -28,8 +28,7 @@ module RubyAem
|
|
|
28
28
|
# @return new RubyAem::Resources::Aem instance
|
|
29
29
|
def initialize(client)
|
|
30
30
|
@client = client
|
|
31
|
-
@call_params = {
|
|
32
|
-
}
|
|
31
|
+
@call_params = {}
|
|
33
32
|
end
|
|
34
33
|
|
|
35
34
|
# Retrieve AEM login page.
|
|
@@ -96,11 +95,11 @@ module RubyAem
|
|
|
96
95
|
with_retries(max_tries: opts[:_retries][:max_tries], base_sleep_seconds: opts[:_retries][:base_sleep_seconds], max_sleep_seconds: opts[:_retries][:max_sleep_seconds]) { |retries_count|
|
|
97
96
|
begin
|
|
98
97
|
result = get_login_page
|
|
99
|
-
if result.response.body
|
|
98
|
+
if result.response.body =~ /QUICKSTART_HOMEPAGE/
|
|
99
|
+
puts format('Retrieve login page attempt #%<retries_count>d: %<message>s and ready', retries_count: retries_count, message: result.message)
|
|
100
|
+
else
|
|
100
101
|
puts format('Retrieve login page attempt #%<retries_count>d: %<message>s but not ready yet', retries_count: retries_count, message: result.message)
|
|
101
102
|
raise StandardError.new(result.message)
|
|
102
|
-
else
|
|
103
|
-
puts format('Retrieve login page attempt #%<retries_count>d: %<message>s and ready', retries_count: retries_count, message: result.message)
|
|
104
103
|
end
|
|
105
104
|
rescue RubyAem::Error => e
|
|
106
105
|
puts format('Retrieve login page attempt #%<retries_count>d: %<message>s', retries_count: retries_count, message: e.message)
|
|
@@ -37,6 +37,7 @@ module RubyAem
|
|
|
37
37
|
# @param description flush agent description
|
|
38
38
|
# @param dest_base_url base URL of the agent target destination, e.g. http://somedispatcher:8080
|
|
39
39
|
# @param opts optional parameters:
|
|
40
|
+
# - alias_update: true, false, default is false
|
|
40
41
|
# - log_level: error, info, debug, default is error
|
|
41
42
|
# - retry_delay: in milliseconds, default is 30_000
|
|
42
43
|
# @return RubyAem::Result
|
|
@@ -45,6 +46,7 @@ module RubyAem
|
|
|
45
46
|
description,
|
|
46
47
|
dest_base_url,
|
|
47
48
|
opts = {
|
|
49
|
+
alias_update: false,
|
|
48
50
|
log_level: 'error',
|
|
49
51
|
retry_delay: 30_000
|
|
50
52
|
}
|
|
@@ -20,6 +20,7 @@ module RubyAem
|
|
|
20
20
|
# Package class contains API calls related to managing an AEM package.
|
|
21
21
|
class Package
|
|
22
22
|
include REXML
|
|
23
|
+
|
|
23
24
|
# Initialise a package.
|
|
24
25
|
# Package name and version will then be used to construct the package file in the filesystem.
|
|
25
26
|
# E.g. package name 'somepackage' with version '1.2.3' will translate to somepackage-1.2.3.zip in the filesystem.
|
|
@@ -185,12 +186,12 @@ module RubyAem
|
|
|
185
186
|
packages = list_all.data
|
|
186
187
|
package = XPath.first(packages, "//packages/package[group=\"#{@call_params[:group_name]}\" and name=\"#{@call_params[:package_name]}\" and version=\"#{@call_params[:package_version]}\"]")
|
|
187
188
|
|
|
188
|
-
if package.to_s
|
|
189
|
-
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} exists"
|
|
190
|
-
exists = true
|
|
191
|
-
else
|
|
189
|
+
if package.to_s == ''
|
|
192
190
|
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} does not exist"
|
|
193
191
|
exists = false
|
|
192
|
+
else
|
|
193
|
+
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} exists"
|
|
194
|
+
exists = true
|
|
194
195
|
end
|
|
195
196
|
result = RubyAem::Result.new(message, nil)
|
|
196
197
|
result.data = exists
|
|
@@ -224,12 +225,12 @@ module RubyAem
|
|
|
224
225
|
package = XPath.first(packages, "//packages/package[group=\"#{@call_params[:group_name]}\" and name=\"#{@call_params[:package_name]}\" and version=\"#{@call_params[:package_version]}\"]")
|
|
225
226
|
last_unpacked_by = XPath.first(package, 'lastUnpackedBy') if package
|
|
226
227
|
|
|
227
|
-
if
|
|
228
|
-
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} is installed"
|
|
229
|
-
is_installed = true
|
|
230
|
-
else
|
|
228
|
+
if ['', '<lastUnpackedBy/>', '<lastUnpackedBy>null</lastUnpackedBy>'].include? last_unpacked_by.to_s
|
|
231
229
|
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} is not installed"
|
|
232
230
|
is_installed = false
|
|
231
|
+
else
|
|
232
|
+
message = "Package #{@call_params[:group_name]}/#{@call_params[:package_name]}-#{@call_params[:package_version]} is installed"
|
|
233
|
+
is_installed = true
|
|
233
234
|
end
|
|
234
235
|
result = RubyAem::Result.new(message, nil)
|
|
235
236
|
result.data = is_installed
|
|
@@ -55,6 +55,10 @@ module RubyAem
|
|
|
55
55
|
@call_params[:title] = title
|
|
56
56
|
@call_params[:description] = description
|
|
57
57
|
@call_params[:dest_base_url] = dest_base_url
|
|
58
|
+
|
|
59
|
+
uri = URI.parse(dest_base_url)
|
|
60
|
+
@call_params[:ssl] = uri.scheme == 'https' ? 'relaxed' : ''
|
|
61
|
+
|
|
58
62
|
@call_params = @call_params.merge(opts)
|
|
59
63
|
@client.call(self.class, __callee__.to_s, @call_params)
|
|
60
64
|
end
|
data/lib/ruby_aem/response.rb
CHANGED
|
@@ -15,9 +15,7 @@
|
|
|
15
15
|
module RubyAem
|
|
16
16
|
# Response wraps HTTP response data returned by swagger_aem.
|
|
17
17
|
class Response
|
|
18
|
-
attr_accessor :status_code
|
|
19
|
-
attr_accessor :body
|
|
20
|
-
attr_accessor :headers
|
|
18
|
+
attr_accessor :status_code, :body, :headers
|
|
21
19
|
|
|
22
20
|
# Initialise a result.
|
|
23
21
|
#
|
data/lib/ruby_aem/result.rb
CHANGED
|
@@ -21,9 +21,8 @@ module RubyAem
|
|
|
21
21
|
# e.g. is_* and exists method provide result with boolean data.
|
|
22
22
|
# Some API calls result doesn't contain any data.
|
|
23
23
|
class Result
|
|
24
|
-
attr_accessor :message
|
|
24
|
+
attr_accessor :message, :data
|
|
25
25
|
attr_reader :response
|
|
26
|
-
attr_accessor :data
|
|
27
26
|
|
|
28
27
|
# Initialise a result.
|
|
29
28
|
#
|
data/lib/ruby_aem/swagger.rb
CHANGED
|
@@ -22,7 +22,7 @@ module RubyAem
|
|
|
22
22
|
# @return swagger_aem method name
|
|
23
23
|
def self.operation_to_method(operation)
|
|
24
24
|
operation.gsub(/[A-Z]/) { |char|
|
|
25
|
-
|
|
25
|
+
"_#{char.downcase}"
|
|
26
26
|
}
|
|
27
27
|
end
|
|
28
28
|
|
|
@@ -54,7 +54,7 @@ module RubyAem
|
|
|
54
54
|
# @param config_node_name the name of the node for a given config
|
|
55
55
|
# @return config name
|
|
56
56
|
def self.config_node_name_to_config_name(config_node_name)
|
|
57
|
-
case config_node_name
|
|
57
|
+
case config_node_name # rubocop:disable Style/HashLikeCase
|
|
58
58
|
when 'org.apache.felix.http'
|
|
59
59
|
'Apache Felix Jetty Based HTTP Service'
|
|
60
60
|
when 'org.apache.sling.servlets.get.DefaultGetServlet'
|
metadata
CHANGED
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: ruby_aem
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version:
|
|
4
|
+
version: 4.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Shine Solutions
|
|
8
8
|
- Cliffano Subagio
|
|
9
|
-
autorequire:
|
|
10
9
|
bindir: bin
|
|
11
10
|
cert_chain: []
|
|
12
|
-
date:
|
|
11
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
13
12
|
dependencies:
|
|
14
13
|
- !ruby/object:Gem::Dependency
|
|
15
14
|
name: retries
|
|
@@ -26,61 +25,47 @@ dependencies:
|
|
|
26
25
|
- !ruby/object:Gem::Version
|
|
27
26
|
version: 0.0.5
|
|
28
27
|
- !ruby/object:Gem::Dependency
|
|
29
|
-
name:
|
|
28
|
+
name: rexml
|
|
30
29
|
requirement: !ruby/object:Gem::Requirement
|
|
31
30
|
requirements:
|
|
32
31
|
- - '='
|
|
33
32
|
- !ruby/object:Gem::Version
|
|
34
|
-
version: 3.
|
|
33
|
+
version: 3.4.4
|
|
35
34
|
type: :runtime
|
|
36
35
|
prerelease: false
|
|
37
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
38
37
|
requirements:
|
|
39
38
|
- - '='
|
|
40
39
|
- !ruby/object:Gem::Version
|
|
41
|
-
version: 3.
|
|
40
|
+
version: 3.4.4
|
|
42
41
|
- !ruby/object:Gem::Dependency
|
|
43
|
-
name:
|
|
42
|
+
name: swagger_aem
|
|
44
43
|
requirement: !ruby/object:Gem::Requirement
|
|
45
44
|
requirements:
|
|
46
45
|
- - '='
|
|
47
46
|
- !ruby/object:Gem::Version
|
|
48
|
-
version:
|
|
47
|
+
version: 4.0.0
|
|
49
48
|
type: :runtime
|
|
50
49
|
prerelease: false
|
|
51
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
52
51
|
requirements:
|
|
53
52
|
- - '='
|
|
54
53
|
- !ruby/object:Gem::Version
|
|
55
|
-
version:
|
|
54
|
+
version: 4.0.0
|
|
56
55
|
- !ruby/object:Gem::Dependency
|
|
57
|
-
name:
|
|
58
|
-
requirement: !ruby/object:Gem::Requirement
|
|
59
|
-
requirements:
|
|
60
|
-
- - '='
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: 3.8.0
|
|
63
|
-
type: :development
|
|
64
|
-
prerelease: false
|
|
65
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
66
|
-
requirements:
|
|
67
|
-
- - '='
|
|
68
|
-
- !ruby/object:Gem::Version
|
|
69
|
-
version: 3.8.0
|
|
70
|
-
- !ruby/object:Gem::Dependency
|
|
71
|
-
name: yard
|
|
56
|
+
name: swagger_aem_osgi
|
|
72
57
|
requirement: !ruby/object:Gem::Requirement
|
|
73
58
|
requirements:
|
|
74
59
|
- - '='
|
|
75
60
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: 0.
|
|
77
|
-
type: :
|
|
61
|
+
version: 2.0.0
|
|
62
|
+
type: :runtime
|
|
78
63
|
prerelease: false
|
|
79
64
|
version_requirements: !ruby/object:Gem::Requirement
|
|
80
65
|
requirements:
|
|
81
66
|
- - '='
|
|
82
67
|
- !ruby/object:Gem::Version
|
|
83
|
-
version: 0.
|
|
68
|
+
version: 2.0.0
|
|
84
69
|
description: ruby_aem is a Ruby client for Adobe Experience Manager (AEM) API, written
|
|
85
70
|
on top of swagger_aem
|
|
86
71
|
email:
|
|
@@ -126,8 +111,8 @@ files:
|
|
|
126
111
|
homepage: https://github.com/shinesolutions/ruby_aem
|
|
127
112
|
licenses:
|
|
128
113
|
- Apache-2.0
|
|
129
|
-
metadata:
|
|
130
|
-
|
|
114
|
+
metadata:
|
|
115
|
+
rubygems_mfa_required: 'true'
|
|
131
116
|
rdoc_options: []
|
|
132
117
|
require_paths:
|
|
133
118
|
- lib
|
|
@@ -135,15 +120,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
135
120
|
requirements:
|
|
136
121
|
- - ">="
|
|
137
122
|
- !ruby/object:Gem::Version
|
|
138
|
-
version: '
|
|
123
|
+
version: '4.0'
|
|
139
124
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
125
|
requirements:
|
|
141
126
|
- - ">="
|
|
142
127
|
- !ruby/object:Gem::Version
|
|
143
128
|
version: '0'
|
|
144
129
|
requirements: []
|
|
145
|
-
rubygems_version:
|
|
146
|
-
signing_key:
|
|
130
|
+
rubygems_version: 4.0.20
|
|
147
131
|
specification_version: 4
|
|
148
132
|
summary: AEM API Ruby client
|
|
149
133
|
test_files: []
|