infopark_cloud_connector 6.9.5 → 7.0.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 %>
|