infopark_cloud_connector 6.9.5 → 7.0.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.
- checksums.yaml +8 -8
- data/app/controllers/rails_connector/default_cms_controller.rb +0 -1
- data/app/controllers/rails_connector/objs_controller.rb +31 -27
- data/app/helpers/rails_connector/cms_tag_helper.rb +20 -12
- data/app/views/rails_connector/objs/show_widget.html.erb +1 -0
- data/config/ca-bundle.crt +1 -1
- data/config/locales/de.rails_connector.views.yml +0 -3
- data/config/locales/en.rails_connector.views.yml +0 -3
- data/config/routes.rb +2 -1
- data/lib/assets/fonts/infopark_icons-webfont.eot +0 -0
- data/lib/assets/fonts/infopark_icons-webfont.ttf +0 -0
- data/lib/assets/fonts/infopark_icons-webfont.woff +0 -0
- data/lib/assets/javascripts/infopark_editing.js +84 -35
- data/lib/assets/stylesheets/infopark_editing.css +227 -33
- data/lib/generators/cms/migration/migration_generator.rb +1 -1
- data/lib/generators/cms/migration/templates/{migration.rb → migration.erb} +0 -0
- data/lib/rails_connector/attribute_content.rb +39 -40
- data/lib/rails_connector/basic_obj.rb +64 -56
- data/lib/rails_connector/basic_widget.rb +2 -0
- data/lib/rails_connector/cms_accessible.rb +0 -17
- data/lib/rails_connector/cms_backend.rb +2 -2
- data/lib/rails_connector/cms_env.rb +0 -5
- data/lib/rails_connector/cms_rest_api.rb +62 -30
- data/lib/rails_connector/configuration.rb +3 -3
- data/lib/rails_connector/connection_manager.rb +98 -0
- data/lib/rails_connector/content_service.rb +12 -94
- data/lib/rails_connector/content_state_caching.rb +3 -5
- data/lib/rails_connector/deprecation.rb +21 -0
- data/lib/rails_connector/link.rb +12 -22
- data/lib/rails_connector/migrations/cms_backend.rb +1 -1
- data/lib/rails_connector/migrations/migration.rb +1 -1
- data/lib/rails_connector/migrations/migration_dsl.rb +10 -101
- data/lib/rails_connector/named_link.rb +1 -1
- data/lib/rails_connector/obj_search_enumerator.rb +37 -49
- metadata +6 -5
- data/app/views/errors/410_gone.html.erb +0 -7
- data/app/views/rails_connector/objs/show.html.erb +0 -1
@@ -31,7 +31,7 @@ module RailsConnector
|
|
31
31
|
return nil
|
32
32
|
end
|
33
33
|
|
34
|
-
# This method will be called to retrieve the NamedLink Obj.
|
34
|
+
# This method will be called to retrieve the NamedLink {BasicObj Obj}.
|
35
35
|
# By default it will look for the Obj at the path "_named_links".
|
36
36
|
# Overwrite this method only if you know what you are doing.
|
37
37
|
# @api public
|
@@ -4,30 +4,30 @@ module RailsConnector
|
|
4
4
|
# This is done using the {http://ruby-doc.org/core-1.8.7/Enumerable.html <code>Enumerable</code> mixin},
|
5
5
|
# which provides methods such as <code>map</code>, <code>select</code> or <code>take</code>.
|
6
6
|
#
|
7
|
-
# This enumerator is lazy. If for example you are looking for
|
7
|
+
# This enumerator is lazy. If for example you are looking for {BasicObj Obj}s with the ObjClass "Publication",
|
8
8
|
# and there are 93 objs in total, than <code>enum.take(10)</code> will fetch the first 10 objs only,
|
9
9
|
# ignoring the other 83 objs.
|
10
10
|
# This also means, that iterating multiple times over this enumerator causes the search results and objs to be fetched again.
|
11
11
|
# If you want to get all objs at once, use <code>enum.to_a</code>.
|
12
12
|
#
|
13
|
-
# To start searching use one of the {Obj} methods that returns an {ObjSearchEnumerator}. The preferred way is to start with {Obj.where}.
|
13
|
+
# To start searching use one of the {BasicObj Obj} methods that returns an {ObjSearchEnumerator}. The preferred way is to start with {BasicObj.where Obj.where}.
|
14
14
|
#
|
15
15
|
# == Currently available fields and their values
|
16
16
|
#
|
17
17
|
# [+:*+] Searches all fields.
|
18
18
|
# This is only possible with the operators +contais+ or +starts_with+.
|
19
|
-
# [+:id+] Id of an {Obj}. This is a +string+ field.
|
20
|
-
# [+:_path+] Path of an {Obj}. This is a +string+ field.
|
21
|
-
# [+:_name+] Name of an {Obj}. This is a +string+ field.
|
22
|
-
# [+:title+] Title of an {Obj}. This is a +string+ field.
|
23
|
-
# [+:body+] Body of an {Obj}. This is an +html+ field. Thus, only the +contains+ and
|
19
|
+
# [+:id+] Id of an {BasicObj Obj}. This is a +string+ field.
|
20
|
+
# [+:_path+] Path of an {BasicObj Obj}. This is a +string+ field.
|
21
|
+
# [+:_name+] Name of an {BasicObj Obj}. This is a +string+ field.
|
22
|
+
# [+:title+] Title of an {BasicObj Obj}. This is a +string+ field.
|
23
|
+
# [+:body+] Body of an {BasicObj Obj}. This is an +html+ field. Thus, only the +contains+ and
|
24
24
|
# +contains_prefix+ operators can be applied to this field.
|
25
|
-
# [+:_obj_class+] ObjClass of an {Obj}. This is a +string+ field.
|
26
|
-
# [+:_permalink+] Permalink of an {Obj}. This is a +string+ field.
|
27
|
-
# [+:_valid_from+] The valid-from date of an {Obj}.
|
28
|
-
# [+:_valid_until+] The valid-until date of an {Obj}.
|
29
|
-
# [+:_last_changed+] Date of last change of an {Obj}.
|
30
|
-
# [every <em><code>:custom_attribute</code></em>] Custom attribute of an {Obj}. Note that
|
25
|
+
# [+:_obj_class+] ObjClass of an {BasicObj Obj}. This is a +string+ field.
|
26
|
+
# [+:_permalink+] Permalink of an {BasicObj Obj}. This is a +string+ field.
|
27
|
+
# [+:_valid_from+] The valid-from date of an {BasicObj Obj}.
|
28
|
+
# [+:_valid_until+] The valid-until date of an {BasicObj Obj}.
|
29
|
+
# [+:_last_changed+] Date of last change of an {BasicObj Obj}.
|
30
|
+
# [every <em><code>:custom_attribute</code></em>] Custom attribute of an {BasicObj Obj}. Note that
|
31
31
|
# depending on the attribute type (e.g. an
|
32
32
|
# +html+ field), some operators can not be applied.
|
33
33
|
#
|
@@ -111,23 +111,9 @@ module RailsConnector
|
|
111
111
|
include Enumerable
|
112
112
|
|
113
113
|
attr_reader :query
|
114
|
-
|
115
|
-
attr_reader :initial_offset
|
116
|
-
|
117
|
-
# For all possible <code>query</code>'s and <code>options</code> have a look at the cms api documentation about objs/search.
|
118
|
-
# There is one exception: To adjust how many search results should be fetch with one chunk, use the option <code>:batch_size</code>. The default is <code>10</code>. The <code>:size</code> option will be silently ignored.
|
119
|
-
#
|
120
|
-
# @example All objs, which are Publications
|
121
|
-
# enum = ObjSearchEnumerator([{:field => '_obj_class', :operator => 'equal', :value => 'Publication'}])
|
122
|
-
# enum.each { |obj| puts obj.path }
|
123
|
-
#
|
124
|
-
# @param [Array<Hash>] query
|
125
|
-
# @param [Hash] options
|
126
|
-
# @param [Integer] initial_offset
|
127
|
-
def initialize(query, options = {}, initial_offset = 0)
|
114
|
+
def initialize(query)
|
128
115
|
@query = query
|
129
|
-
@options =
|
130
|
-
@initial_offset = initial_offset
|
116
|
+
@options = {}
|
131
117
|
end
|
132
118
|
|
133
119
|
# @group Chainable methods
|
@@ -196,57 +182,53 @@ module RailsConnector
|
|
196
182
|
# @return [ObjSearchEnumerator]
|
197
183
|
# @api public
|
198
184
|
def order(field_name)
|
199
|
-
|
185
|
+
options[:sort_by] = field_name
|
200
186
|
|
201
187
|
self
|
202
188
|
end
|
203
189
|
|
204
|
-
# Reverses the order of the results.
|
190
|
+
# Reverses the order of the results. Requires {#order} to be specified before.
|
205
191
|
# @return [ObjSearchEnumerator]
|
206
192
|
# @api public
|
207
193
|
def reverse_order
|
208
|
-
|
209
|
-
|
210
|
-
|
211
|
-
when :desc
|
212
|
-
:asc
|
213
|
-
else
|
214
|
-
options[:sort_by].present? ? :desc : :asc
|
215
|
-
end
|
194
|
+
options[:sort_by].present? or raise "A search order has to be specified"\
|
195
|
+
" before reverse_order can be applied."
|
196
|
+
@reverse_order = !@reverse_order
|
216
197
|
|
217
198
|
self
|
218
199
|
end
|
219
200
|
|
220
|
-
#
|
221
|
-
# The default is +10
|
201
|
+
# Number of search results to be returned by each of the internal search requests.
|
202
|
+
# The default is +10+. The server may limit a large batch size to a reasonable value.
|
222
203
|
# @param [Integer] size A value in the range from +1+ to +100+.
|
223
204
|
# @return [ObjSearchEnumerator]
|
224
205
|
# @api public
|
225
206
|
def batch_size(size)
|
226
|
-
|
207
|
+
options[:size] = size
|
227
208
|
|
228
209
|
self
|
229
210
|
end
|
230
211
|
|
231
212
|
|
232
|
-
# Omits the first +amount+ number of {Obj}s from the results. The default is +0+.
|
213
|
+
# Omits the first +amount+ number of {BasicObj Obj}s from the results. The default is +0+.
|
233
214
|
# @param [Integer] amount
|
234
215
|
# @return [ObjSearchEnumerator]
|
235
216
|
# @api public
|
236
217
|
def offset(amount)
|
237
|
-
|
218
|
+
options[:offset] ||= 0
|
219
|
+
options[:offset] += amount
|
238
220
|
|
239
221
|
self
|
240
222
|
end
|
241
223
|
|
242
224
|
# @!endgroup
|
243
225
|
|
244
|
-
# Iterates over the search result.
|
226
|
+
# Iterates over the search result, yielding {BasicObj Obj}.
|
245
227
|
# @yield [Obj]
|
246
228
|
# @return [void]
|
247
229
|
# @api public
|
248
230
|
def each
|
249
|
-
offset =
|
231
|
+
offset = options[:offset] || 0
|
250
232
|
current_batch, total = fetch_next_batch(offset)
|
251
233
|
loop do
|
252
234
|
if current_batch.size == 0
|
@@ -278,6 +260,8 @@ module RailsConnector
|
|
278
260
|
|
279
261
|
private
|
280
262
|
|
263
|
+
attr_reader :options
|
264
|
+
|
281
265
|
def convert_value(value)
|
282
266
|
if value.kind_of?(Array)
|
283
267
|
value.map{ |v| convert_single_value(v) }
|
@@ -320,14 +304,18 @@ module RailsConnector
|
|
320
304
|
end
|
321
305
|
|
322
306
|
def resource_path
|
323
|
-
"
|
307
|
+
"workspaces/#{Workspace.current.id}/objs/search"
|
324
308
|
end
|
325
309
|
|
326
310
|
def search_dsl(offset)
|
327
|
-
|
311
|
+
patches = {
|
328
312
|
:offset => offset,
|
329
313
|
:query => query,
|
330
|
-
}
|
314
|
+
}
|
315
|
+
if @reverse_order
|
316
|
+
patches[:sort_order] = options[:sort_by].present? ? :desc : :asc
|
317
|
+
end
|
318
|
+
options.merge(patches)
|
331
319
|
end
|
332
320
|
end
|
333
321
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infopark_cloud_connector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 7.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Infopark AG
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-11-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -146,10 +146,9 @@ files:
|
|
146
146
|
- app/views/cms/_index.html.erb
|
147
147
|
- app/views/cms/index.html.erb
|
148
148
|
- app/views/errors/403_forbidden.html.erb
|
149
|
-
- app/views/errors/410_gone.html.erb
|
150
149
|
- app/views/rails_connector/_editing_javascript.html.erb
|
151
150
|
- app/views/rails_connector/objs/create_widget.html.erb
|
152
|
-
- app/views/rails_connector/objs/
|
151
|
+
- app/views/rails_connector/objs/show_widget.html.erb
|
153
152
|
- config/ca-bundle.crt
|
154
153
|
- config/cms_routes.rb
|
155
154
|
- config/locales/de.rails_connector.errors.yml
|
@@ -173,7 +172,7 @@ files:
|
|
173
172
|
- lib/assets/stylesheets/infopark_editing.css
|
174
173
|
- lib/generators/cms/migration/USAGE
|
175
174
|
- lib/generators/cms/migration/migration_generator.rb
|
176
|
-
- lib/generators/cms/migration/templates/migration.
|
175
|
+
- lib/generators/cms/migration/templates/migration.erb
|
177
176
|
- lib/infopark_cloud_connector.rb
|
178
177
|
- lib/obj.rb
|
179
178
|
- lib/rails_connector/access_denied.rb
|
@@ -195,6 +194,7 @@ files:
|
|
195
194
|
- lib/rails_connector/cms_rest_api.rb
|
196
195
|
- lib/rails_connector/cms_test_request.rb
|
197
196
|
- lib/rails_connector/configuration.rb
|
197
|
+
- lib/rails_connector/connection_manager.rb
|
198
198
|
- lib/rails_connector/content_conversion.rb
|
199
199
|
- lib/rails_connector/content_service.rb
|
200
200
|
- lib/rails_connector/content_state.rb
|
@@ -204,6 +204,7 @@ files:
|
|
204
204
|
- lib/rails_connector/core_extensions.rb
|
205
205
|
- lib/rails_connector/core_extensions/time.rb
|
206
206
|
- lib/rails_connector/date_attribute.rb
|
207
|
+
- lib/rails_connector/deprecation.rb
|
207
208
|
- lib/rails_connector/engine.rb
|
208
209
|
- lib/rails_connector/errors.rb
|
209
210
|
- lib/rails_connector/html_string.rb
|
@@ -1,7 +0,0 @@
|
|
1
|
-
<h1><%= t(:'rails_connector.lib.cms_accessible.not_released') %></h1>
|
2
|
-
|
3
|
-
<% if @valid_until && @valid_until < Time.now %>
|
4
|
-
<%= raw t(:"rails_connector.views.errors.gone.not_released_anymore", :valid_until => "<strong>#{l @valid_until}</strong>") %>
|
5
|
-
<% elsif @valid_from && Time.now < @valid_from %>
|
6
|
-
<%= raw t(:"rails_connector.views.errors.gone.not_yet_released", :valid_from => "<strong>#{l @valid_from}</strong>") %>
|
7
|
-
<% end %>
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= render_widget @obj, current_page, params[:field_name], @obj.widget_container %>
|