infopark_fiona_connector 6.8.0.210.ed204b0 → 6.8.0.322.c003f11

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.
data/.yardopts ADDED
@@ -0,0 +1,5 @@
1
+ --hide-void-return
2
+ --protected
3
+ --private
4
+ --non-transitive-tag api
5
+ --api public
data/README CHANGED
@@ -1,5 +1,5 @@
1
1
  = Infopark Fiona Connector
2
2
 
3
- Infopark Fiona Connector integrates the Infopark Rails Connector with the Infopark CMS Fiona.
4
-
3
+ Infopark Cloud Connector integrates the {https://rubygems.org/gems/infopark_rails_connector Infopark Rails Connector} with the Infopark CMS Fiona.
5
4
 
5
+ For more information about Infopark Rails and Fiona Connector, please visit {http://kb.infopark.de/ Infopark’s Knowledge Base}.
@@ -2,8 +2,8 @@ module RailsConnector
2
2
 
3
3
  # This module contains helpers that can be used to build markers for the preview.
4
4
  #
5
- # The helpers will not render anyhing if not in editor mode!
6
- # See RailsConnector::Configuration for information on modes.
5
+ # The helpers will not render anything if not in editor mode!
6
+ # See {RailsConnector::Configuration} for information on modes.
7
7
  #
8
8
  # All helpers have the following <em>options</em>, unknown options are passed
9
9
  # to the HTML element which is being created:
@@ -20,6 +20,7 @@ module RailsConnector
20
20
  # [<tt>'udt'</tt>] undecorated tiny browser window
21
21
  #
22
22
  # The <tt>:target</tt> option becomes the <tt>target</tt> attribute of the <tt><a></tt> tag.
23
+ # @api public
23
24
  module MarkerHelper
24
25
  # Renders an edit marker for a named attribute of an active object in the preview.
25
26
  # <em>obj</em> is the Obj to edit, <em>attr</em> the attribute as a Symbol or String.
@@ -34,12 +35,13 @@ module RailsConnector
34
35
  # display_value obj[attr]
35
36
  # end %>
36
37
  #
37
- # The last form is the default of DisplayHelper::display_field without the option :marker => false.
38
- # When the blob evaluates to nil, an empty string or array, the markup of the option :default_value
38
+ # The last form is the default of {DisplayHelper#display_field} without the option <code>:marker => false</code>.
39
+ # When the blob evaluates to nil, an empty string or array, the markup of the option +:default_value+
39
40
  # will be rendered.
40
41
  #
41
- # Hint: You should not render edit markers within elements that are hidden via CSS (display:none),
42
+ # Hint: You should not render edit markers within elements that are hidden via CSS (<code>display:none</code>),
42
43
  # otherwise they cannot be displayed correctly.
44
+ # @api public
43
45
  def edit_marker(obj, attr, options = {}, &block)
44
46
  if Configuration.editor_interface_enabled? && !session[:hide_editmarkers]
45
47
  context = (options.delete :context) || @obj
@@ -80,6 +82,7 @@ module RailsConnector
80
82
  # in the preview.
81
83
  # This link will only be shown if the Rails Connector is in <tt>editor</tt> mode.
82
84
  # <em>value</em> the link text or e.g. an image_tag
85
+ # @api public
83
86
  def toggle_edit_marker_link(value)
84
87
  if Configuration.editor_interface_enabled?
85
88
  link_to value, toggle_markers_url(@obj)
@@ -98,6 +101,7 @@ module RailsConnector
98
101
  # The following code will render an action marker for the release action of the current object:
99
102
  #
100
103
  # <%= action_marker :workflow_release, [@obj] %>
104
+ # @api public
101
105
  def action_marker(action, objs, options = {}, &block)
102
106
  return unless Configuration.editor_interface_enabled?
103
107
 
@@ -129,7 +133,8 @@ module RailsConnector
129
133
  # [name] the link caption.
130
134
  # [obj] the object for which the edit dialog will be generated.
131
135
  # [attr] the attribute for which the edit dialog will be generated.
132
- # [options] options for the edit dialog (see +edit_marker+).
136
+ # [options] options for the edit dialog (see {MarkerHelper#edit_marker}).
137
+ # @api public
133
138
  def link_to_edit(name, obj, attr, options = {})
134
139
  if Configuration.editor_interface_enabled?
135
140
  context = (options.delete :context) || @obj
@@ -149,9 +154,9 @@ module RailsConnector
149
154
  # [top] the top offset.
150
155
  # [&block] the content which will be displayed in the menu.
151
156
  #
152
- # To generate a menu you have to create one using the +marker_menu+ helper.
157
+ # To generate a menu you have to create one using the {#marker_menu} helper.
153
158
  # Than you have to mark the target for which the menu should be displayed
154
- # using the +marker_menu_target+ helper.
159
+ # using the {#marker_menu_target} helper.
155
160
  #
156
161
  # Usage:
157
162
  # <%= marker_menu do %>
@@ -161,6 +166,7 @@ module RailsConnector
161
166
  # <%= marker_menu_target(:div) do %>
162
167
  # Content
163
168
  # <% end %>
169
+ # @api public
164
170
  def marker_menu(left=0, top=0, &block)
165
171
  self.current_marker_menu_id = store_marker_definition(
166
172
  :offset_left => left,
@@ -181,7 +187,8 @@ module RailsConnector
181
187
  # [options] the options for the tag.
182
188
  # [&block] the content which will be displayed with the menu.
183
189
  #
184
- # See +marker_menu+ for an example.
190
+ # See {#marker_menu} for an example.
191
+ # @api public
185
192
  def marker_menu_target(tag_name, options = {}, &block)
186
193
  content_tag(
187
194
  tag_name,
@@ -193,15 +200,16 @@ module RailsConnector
193
200
  # Returns the css class used for the target element where the marker menu
194
201
  # should be displayed.
195
202
  #
196
- # Will be used automatically if you use the helpers +marker_menu+ and
197
- # +marker_menu_target+. But if you want to set a marker menu manually to
203
+ # Will be used automatically if you use the helpers {#marker_menu} and
204
+ # {#marker_menu_target}. But if you want to set a marker menu manually to
198
205
  # an element (e.g. an image) you need to supply this css class.
206
+ # @api public
199
207
  def marker_menu_target_class
200
208
  "nps_marker_menu_target nps_marker_menu_target_#{current_marker_menu_id}" if Configuration.editor_interface_enabled?
201
209
  end
202
210
 
203
211
  # Renders the necessary JavaScript and CSS includes to use the edit markers.
204
- def include_edit_marker_support # :nodoc:
212
+ def include_edit_marker_support
205
213
  if Configuration.editor_interface_enabled?
206
214
  raw <<-EOF
207
215
  #{stylesheet_link_tag :editmarker}
@@ -212,15 +220,15 @@ module RailsConnector
212
220
  end
213
221
 
214
222
  # Renders the necessary marker code to use edit markers and marker menus.
215
- def render_marker_code # :nodoc:
223
+ def render_marker_code
216
224
  return unless Configuration.editor_interface_enabled?
217
225
  html = raw("#{render_marker_definitions}\n#{render_marker_menus}\n#{render_edit_markers}")
218
226
  reset_marker_code
219
227
  html
220
228
  end
221
229
 
222
- # This helper method can be used in +marker_menu+ to generate a list with
223
- # actions using +edit_item+ or +action_item+. For each action a icon and
230
+ # This helper method can be used in {#marker_menu} to generate a list with
231
+ # actions using {#edit_item} or {#action_item}. For each action a icon and
224
232
  # title will be shown.
225
233
  #
226
234
  # Usage:
@@ -230,29 +238,32 @@ module RailsConnector
230
238
  # <%= action_item("edit image", "css_class", [@obj], :editImage) %>
231
239
  # <% end %>
232
240
  # <% end %>
241
+ # @api public
233
242
  def iconlist(&block)
234
243
  content_tag(:ul, capture(&block)) if block_given?
235
244
  end
236
245
 
237
- # Creates an edit marker item for the list generated by +iconlist+.
246
+ # Creates an edit marker item for the list generated by {#iconlist}.
238
247
  #
239
248
  # [title] the title which will be displayed.
240
249
  # [css_class] the css-class can be used to display a different icon.
241
250
  # [obj] the object for which the edit dialog will be generated.
242
251
  # [attribute] the attribute for which the edit dialog will be generated.
243
- # [options] options that will be delegated to the +link_to_edit+ helper.
252
+ # [options] options that will be delegated to the {#link_to_edit} helper.
253
+ # @api public
244
254
  def edit_item(title, css_class, obj, attribute, options = {})
245
255
  edit_link = link_to_edit(content_tag(:span, title, :class => css_class), obj, attribute, options)
246
256
  content_tag(:li, edit_link)
247
257
  end
248
258
 
249
- # Creates an action marker item for the list generated by +iconlist+.
259
+ # Creates an action marker item for the list generated by {#iconlist}.
250
260
  #
251
261
  # [title] the title which will be displayed.
252
262
  # [css_class] the css-class can be used to display a different icon.
253
263
  # [objs] the array of objects for which the action dialog will be generated.
254
264
  # [action] the action for which the action dialog will be generated.
255
- # [options] options that will be delegated to the +action_marker+ helper.
265
+ # [options] options that will be delegated to the {#action_marker} helper.
266
+ # @api public
256
267
  def action_item(title, css_class, objs, action, options = {})
257
268
  action_link = action_marker(action, objs, options) { content_tag(:span, title, :class => css_class) }
258
269
  content_tag(:li, action_link)
@@ -330,7 +341,7 @@ ENDOFSTRING
330
341
  permissions.map { |perm| obj.permissions.__send__(perm) }
331
342
  end
332
343
 
333
- def uri_for_action_marker(action, objects, context = nil, size = nil, target = nil, params = nil) #:nodoc:
344
+ def uri_for_action_marker(action, objects, context = nil, size = nil, target = nil, params = nil)
334
345
  action = action.to_s
335
346
  objectIds = objects.collect(&:id).to_json
336
347
  contextId = context.nil? ? 'null' : context.id
data/lib/comment.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  # The Comment model inherits all of its behavior from
2
- # RailsConnector::DefaultComment.
2
+ # {RailsConnector::DefaultComment}.
3
+ # @api public
3
4
  class Comment < RailsConnector::DefaultComment
4
5
  end
@@ -2,6 +2,7 @@ require 'rails_connector/rack_middlewares'
2
2
  require 'rails_connector/core_extensions'
3
3
  require "rails_connector/errors"
4
4
 
5
+ # @api public
5
6
  module RailsConnector
6
7
  def self.autoload_all_sources
7
8
  source_files = Dir.glob(File.expand_path("../rails_connector/*.rb", __FILE__)).map do |file|
@@ -8,7 +8,7 @@ module RailsConnector
8
8
  # [editor] The login of the current editor of the edited content, if set
9
9
  #
10
10
  # Any custom Attribute can be accessed directly or via [].
11
- class AttrDict #:nodoc:
11
+ class AttrDict
12
12
  include DateAttribute
13
13
 
14
14
  def initialize(object, keys_and_values = {}, defs = {})
@@ -28,7 +28,7 @@ module RailsConnector
28
28
  StringTagging.tag_as_html(raw, self)
29
29
  end
30
30
 
31
- def sort_keys #:nodoc:
31
+ def sort_keys
32
32
  [sort_key1, sort_key2, sort_key3]
33
33
  end
34
34
 
@@ -140,7 +140,7 @@ module RailsConnector
140
140
  end
141
141
  end
142
142
 
143
- class UnknownAttributeError < StandardError # :nodoc:
143
+ class UnknownAttributeError < StandardError
144
144
  end
145
145
 
146
146
  end
@@ -2,7 +2,7 @@ module RailsConnector
2
2
 
3
3
  # A binary containing the blob data of a Content or CMS management
4
4
  # data of Attribute (fields), ObjClass (object classes), for example.
5
- class Blob < CmsBaseModel #:nodoc:
5
+ class Blob < CmsBaseModel
6
6
  self.primary_key = "blob_name"
7
7
 
8
8
  class << self
@@ -3,7 +3,7 @@ require 'mysql_blob_streaming'
3
3
 
4
4
  module RailsConnector
5
5
 
6
- module BlobMysql #:nodoc:
6
+ module BlobMysql
7
7
  def self.included(base)
8
8
  base.instance_eval do
9
9
  define_method :store_data do
@@ -1,6 +1,6 @@
1
1
  module RailsConnector
2
2
 
3
- module BlobOracle #:nodoc:
3
+ module BlobOracle
4
4
  def self.included(base)
5
5
  base.instance_eval do
6
6
  define_method :store_data do
@@ -1,5 +1,5 @@
1
1
  module RailsConnector
2
- class CacheMiddleware #:nodoc:
2
+ class CacheMiddleware
3
3
  def initialize(app)
4
4
  @app = app
5
5
  end
@@ -5,7 +5,7 @@ module RailsConnector
5
5
  # determined from the instance_name.
6
6
  #
7
7
  # [instance_name] the name of the CMS instance
8
- class CmsBaseModel < ActiveRecord::Base #:nodoc:
8
+ class CmsBaseModel < ActiveRecord::Base
9
9
  @@instance_name = 'default'
10
10
  cattr_accessor :instance_name
11
11
  self.abstract_class = true
@@ -1,7 +1,7 @@
1
1
  module RailsConnector
2
2
 
3
3
  # Adds support for string columns which contain ISO dates
4
- module DateAttribute #:nodoc: all
4
+ module DateAttribute
5
5
  module ClassMethods
6
6
  def date_attribute(*names)
7
7
  names.each do |name|
@@ -1,6 +1,7 @@
1
1
  module RailsConnector
2
2
  # This class provides a default implementation for accessing the search server.
3
- # It is used by DefaultSearchController.
3
+ # It is used by {DefaultSearchController}.
4
+ # @api public
4
5
  class DefaultSearchRequest < VeritySearchRequest
5
6
  end
6
7
  end
@@ -2,6 +2,7 @@ require "active_record/errors"
2
2
 
3
3
  module RailsConnector
4
4
 
5
+ # @api public
5
6
  ResourceNotFound = ActiveRecord::RecordNotFound
6
7
 
7
8
  end # module RailsConnector
@@ -1,5 +1,5 @@
1
1
  module ::RailsConnector
2
- class FionaEngine < Rails::Engine #:nodoc:
2
+ class FionaEngine < Rails::Engine
3
3
  end
4
4
  end
5
5
 
@@ -1,11 +1,12 @@
1
1
  module RailsConnector
2
2
  # This class provides an interfaces for handling CMS Links.
3
3
  # To format a link for rendering in an html page, use the +cms_path+ or +cms_url+ methods.
4
+ # @api public
4
5
  class Link
5
6
 
6
7
  extend ActiveModel::Naming
7
8
 
8
- def initialize(link_data, destination_object = nil) #:nodoc:
9
+ def initialize(link_data, destination_object = nil)
9
10
  @link_data = link_data.symbolize_keys
10
11
  @destination_object = destination_object
11
12
  end
@@ -13,17 +14,20 @@ module RailsConnector
13
14
  # The link's external url. Only available for external links.
14
15
  # Warning: Do not output the url directly unless you know what you are doing.
15
16
  # Normally you want to use the +cms_path+ or +cms_url+ methods to format a link.
17
+ # @api public
16
18
  def url
17
19
  @link_data[:url]
18
20
  end
19
21
 
20
22
  # The link's title.
23
+ # @api public
21
24
  def title
22
25
  @link_data[:title]
23
26
  end
24
27
 
25
28
  # Returns the link's query string as in "index.html?query_string".
26
29
  # See RFC3986 for details (http://www.ietf.org/rfc/rfc3986.txt).
30
+ # @api public
27
31
  def query
28
32
  @link_data[:search]
29
33
  end
@@ -31,40 +35,44 @@ module RailsConnector
31
35
  # Deprecated: use Link#query instead.
32
36
  # Returns the link's query string as in "index.html?query_string".
33
37
  # See RFC3986 for details (http://www.ietf.org/rfc/rfc3986.txt).
38
+ # @api public
34
39
  def search
35
40
  query
36
41
  end
37
42
 
38
43
  # Returns the link's anchor as in "index.html#anchor".
39
44
  # See RFC3986 for details (http://www.ietf.org/rfc/rfc3986.txt).
45
+ # @api public
40
46
  def fragment
41
47
  @link_data[:fragment]
42
48
  end
43
49
 
44
50
  # Returns the browser window or browser frame to be used as a target for this link.
45
51
  # Example: Links that should be opened in a new window will return "_blank" as their target.
52
+ # @api public
46
53
  def target
47
54
  @link_data[:target]
48
55
  end
49
56
 
50
- def id #:nodoc:
57
+ def id
51
58
  @link_data[:link_id]
52
59
  end
53
60
 
54
- def tag_name # :nodoc:
61
+ def tag_name
55
62
  @link_data[:tag_name]
56
63
  end
57
64
 
58
- def markdown_type # :nodoc:
65
+ def markdown_type
59
66
  @link_data[:markdown_type]
60
67
  end
61
68
 
62
- def markdown? # :nodoc:
69
+ def markdown?
63
70
  'markdown' == @link_data[:source_format]
64
71
  end
65
72
 
66
73
  # Returns the file extension (e.g. zip, pdf) of this link's (internal or external) target.
67
74
  # Returns an empty string if the file extension is can not be determined.
75
+ # @api public
68
76
  def file_extension
69
77
  if internal?
70
78
  destination_object ? destination_object.file_extension : ""
@@ -75,6 +83,7 @@ module RailsConnector
75
83
  end
76
84
 
77
85
  # Returns the id of the Links' destination_object.
86
+ # @api public
78
87
  def destination_object_id
79
88
  destination
80
89
  end
@@ -82,6 +91,7 @@ module RailsConnector
82
91
  # Returns the title of this Link if it is set.
83
92
  # Otherwise it returns the display_title of the destination object for internal Links
84
93
  # or the URL for external Links.
94
+ # @api public
85
95
  def display_title
86
96
  dt = title
87
97
  dt = destination_object.display_title if dt.blank? && !external?
@@ -90,35 +100,39 @@ module RailsConnector
90
100
  end
91
101
 
92
102
  # Returns true this Link links to a CMS Object.
103
+ # @api public
93
104
  def internal?
94
105
  url.nil?
95
106
  end
96
107
 
97
108
  # Returns true if this Link links to an external URL.
109
+ # @api public
98
110
  def external?
99
111
  !internal?
100
112
  end
101
113
 
102
114
  # An internal Link is active if it's destination object is active.
103
115
  # An external Link is always active.
116
+ # @api public
104
117
  def active?
105
118
  external? || (destination_object && destination_object.active?)
106
119
  end
107
120
 
108
- def external_prefix? #:nodoc:
121
+ def external_prefix?
109
122
  url =~ /\s?external:/
110
123
  end
111
124
 
112
- def resolved? #:nodoc:
125
+ def resolved?
113
126
  external? || resolved_internal?
114
127
  end
115
128
 
116
129
  # Returns the destination object (+Obj+) of this Link.
130
+ # @api public
117
131
  def destination_object
118
132
  @destination_object ||= Obj.find(destination) if resolved_internal?
119
133
  end
120
134
 
121
- def to_liquid # :nodoc:
135
+ def to_liquid
122
136
  LiquidSupport::LinkDrop.new(self)
123
137
  end
124
138
 
@@ -1,12 +1,15 @@
1
- module RailsConnector::LiquidSupport
1
+ module RailsConnector
2
+
3
+ # @api public
4
+ module LiquidSupport
2
5
 
3
6
  # Usage example for actionmarkers in Liquid templates:
4
7
  # {% actionmarker obj.images[0] editImageWizard param_a:value_a param_b:value_b %}
5
8
  # [Edit image]
6
9
  # {% endactionmarker %}
7
10
  #
8
- # The first parameter may be an instance of +ObjDrop+ (usually +obj+ in Liquid templates),
9
- # +Array+ (such as a +LinkList+ field), or +LinkDrop+ (as in the example above).
11
+ # The first parameter may be an instance of {ObjDrop} (usually +obj+ in Liquid templates),
12
+ # +Array+ (such as a +LinkList+ field), or {LinkDrop} (as in the example above).
10
13
  #
11
14
  # The second parameter is the action to be run on the target objects.
12
15
  # Additional parameters to be forwarded to the action can be added as <tt>key:value</tt> pairs.
@@ -16,7 +19,8 @@ module RailsConnector::LiquidSupport
16
19
  # Internally, the parameter <tt>:context</tt> is always set to the currently viewed object (+obj+)
17
20
  # and can not be overwritten.
18
21
  #
19
- # The Liquid actionmarker uses RailsConnector::MarkerHelper#action_marker.
22
+ # The Liquid actionmarker uses {RailsConnector::MarkerHelper#action_marker}.
23
+ # @api public
20
24
  class ActionMarker < Liquid::Block
21
25
  def initialize(tag_name, markup, tokens)
22
26
  @obj_name, @method_name = markup.to_s.split(/\s+/)
@@ -67,3 +71,5 @@ module RailsConnector::LiquidSupport
67
71
 
68
72
  Liquid::Template.register_tag('actionmarker', ActionMarker)
69
73
  end
74
+
75
+ end
@@ -1,4 +1,3 @@
1
- #:enddoc:
2
1
  require 'rsolr'
3
2
 
4
3
  module RailsConnector
@@ -36,7 +35,7 @@ module RailsConnector
36
35
  end
37
36
 
38
37
  # Removes unwanted characters from +text+.
39
- def self.sanitize(text) #:nodoc:
38
+ def self.sanitize(text)
40
39
  text.gsub(/[^\w\*]/, ' ').gsub(/\s+/, ' ').strip
41
40
  end
42
41
 
@@ -2,9 +2,10 @@ module RailsConnector
2
2
 
3
3
  # This class provides methods used to retrieve objects from CMS based an entry
4
4
  # in CMS of the obj_class <tt>NamedLink</tt>.
5
-
5
+ # @api public
6
6
  class NamedLink < Obj
7
7
 
8
+ # @api public
8
9
  class NotFound < StandardError
9
10
  end
10
11
 
@@ -36,38 +37,40 @@ module RailsConnector
36
37
 
37
38
  # Sets the time in minutes after which the cache will be expired.
38
39
  # The default expiry time is set to 1 minute
40
+ # @api public
39
41
  def self.cache_expiry_time=(value)
40
42
  @@cache_expiry_time = value
41
43
  end
42
44
 
43
- def self.cache_expiry_time #:nodoc:
45
+ def self.cache_expiry_time
44
46
  @@cache_expiry_time || 1
45
47
  end
46
48
 
47
- def self.cache_expired? #:nodoc:
49
+ def self.cache_expired?
48
50
  @@updated_at.nil? || @@updated_at <= cache_expiry_time.minute.ago
49
51
  end
50
52
 
51
53
  # Returns the CMS object mapped to the given title or nil.
52
54
  # The title can be a string of symbol.
53
55
  # If :cache => false is provided, the object will not be fetched from the cache.
56
+ # @api public
54
57
  def self.get_object(title, options = {})
55
58
  object = named_links[title.to_s]
56
59
  raise NotFound, "The NamedLink '#{title.to_s}' does not exist" if object.nil?
57
60
  options[:cache] == false ? object.reload : object
58
61
  end
59
62
 
60
- def self.reset_cache #:nodoc:
63
+ def self.reset_cache
61
64
  @@named_links_cache = nil
62
65
  end
63
66
 
64
- def self.named_links #:nodoc:
67
+ def self.named_links
65
68
  reset_cache if cache_expired?
66
69
  generate_named_links_cache unless named_links_cache
67
70
  named_links_cache
68
71
  end
69
72
 
70
- def self.named_links_cache #:nodoc:
73
+ def self.named_links_cache
71
74
  @@named_links_cache
72
75
  end
73
76
 
@@ -4,7 +4,7 @@ module RailsConnector
4
4
  #
5
5
  # This class models the join table between channels and objects.
6
6
  # Instances of this class also hold information about validity range.
7
-
7
+ # @api public
8
8
  class News < CmsBaseModel
9
9
 
10
10
  self.primary_key = "news_id"
@@ -6,7 +6,7 @@ module RailsConnector
6
6
  #
7
7
  # [children] an Array of objects, Obj, of which this one is the parent
8
8
  # [parent] the Obj of which this one is a child - nil for the root object
9
- # [sort_value] the sort value of this object with respect to its siblings, calculated using the sort criteria of the parent
9
+ # @api public
10
10
  class Obj < CmsBaseModel
11
11
  include AttrValueProvider
12
12
  include DateAttribute
@@ -14,7 +14,7 @@ module RailsConnector
14
14
 
15
15
  self.store_full_sti_class = false
16
16
 
17
- def self.configure_for_content(which) # :nodoc:
17
+ def self.configure_for_content(which)
18
18
  case which
19
19
  when :released then configure_column_information("objs", true)
20
20
  when :edited
@@ -39,7 +39,7 @@ module RailsConnector
39
39
  configure_for_content(:released)
40
40
 
41
41
  # Patch to avoid a type_condition being added by ActiveRecord::Base.add_conditions! for Obj.find(params):
42
- def self.descends_from_active_record? # :nodoc:
42
+ def self.descends_from_active_record?
43
43
  superclass == CmsBaseModel
44
44
  end
45
45
 
@@ -54,15 +54,17 @@ module RailsConnector
54
54
  # In any other case, RailsConnector::Obj is used, except when explicitely asked
55
55
  # for a model in the RailsConnector namespace (RailsConnector::Permission etc.)
56
56
 
57
- def self.compute_type(type_name) # :nodoc:
57
+ def self.compute_type(type_name)
58
58
  try_type { type_name.constantize } ||
59
59
  self
60
60
  end
61
61
 
62
+ # @api public
62
63
  def permissions
63
64
  @@use_cached_permissions ? attr_dict.permissions : super
64
65
  end
65
66
 
67
+ # @api public
66
68
  def permitted_for_user?(user)
67
69
  if permitted_groups.blank?
68
70
  true
@@ -76,22 +78,25 @@ module RailsConnector
76
78
  end
77
79
 
78
80
  # Returns the root Obj. Its id is 2001 and cannot be changed.
81
+ # @api public
79
82
  def self.root
80
83
  Obj.find(2001)
81
84
  end
82
85
 
83
86
  # Returns the homepage object. This can be overwritten in your application's +ObjExtensions+.
84
87
  # Use <tt>Obj#homepage?</tt> to check if an object is the homepage.
88
+ # @api public
85
89
  def self.homepage
86
90
  root
87
91
  end
88
92
 
89
93
  # for testing purposes only
90
- def self.reset_homepage #:nodoc:
94
+ def self.reset_homepage
91
95
  @@homepage_id = nil
92
96
  end
93
97
 
94
98
  # returns the obj's permalink.
99
+ # @api public
95
100
  def permalink
96
101
  self[:permalink]
97
102
  end
@@ -100,6 +105,7 @@ module RailsConnector
100
105
  # By default a controller matching the Obj's obj_class will be used.
101
106
  # If the controller does not exist, the CmsController will be used as a fallback.
102
107
  # Overwrite this method to force a different controller to be used.
108
+ # @api public
103
109
  def controller_name
104
110
  obj_class
105
111
  end
@@ -107,19 +113,23 @@ module RailsConnector
107
113
  # This method determines the action that should be invoked when the Obj is requested.
108
114
  # The default action is 'index'.
109
115
  # Overwrite this method to force a different action to be used.
116
+ # @api public
110
117
  def controller_action_name
111
118
  "index"
112
119
  end
113
120
 
114
121
  @@homepage_id = nil
122
+
115
123
  # Returns true if the current object has the same id as the homepage object. Always use this method instead of
116
124
  # manually comparing an object to <tt>Obj.homepage</tt>, as Obj#homepage? caches the object id
117
125
  # and thus requires no extra database access.
126
+ # @api public
118
127
  def homepage?
119
128
  self.id == (@@homepage_id ||= self.class.homepage.id)
120
129
  end
121
130
 
122
131
  # Returns the title of the content or the name.
132
+ # @api public
123
133
  def display_title
124
134
  self.title || name
125
135
  end
@@ -132,36 +142,43 @@ module RailsConnector
132
142
  }.freeze unless defined?(OBJECT_TYPES)
133
143
 
134
144
  # Returns the type of the object: :document, :publication, :image or :generic
145
+ # @api public
135
146
  def object_type
136
147
  OBJECT_TYPES[obj_type_code]
137
148
  end
138
149
 
139
150
  # Returns true if image? or generic?
151
+ # @api public
140
152
  def binary?
141
153
  [:image, :generic].include? object_type
142
154
  end
143
155
 
144
156
  # Returns true if object_type == :image
157
+ # @api public
145
158
  def image?
146
159
  object_type == :image
147
160
  end
148
161
 
149
162
  # Returns true if object_type == :generic
163
+ # @api public
150
164
  def generic?
151
165
  object_type == :generic
152
166
  end
153
167
 
154
168
  # Returns true if object_type == :publication (for folders)
169
+ # @api public
155
170
  def publication?
156
171
  object_type == :publication
157
172
  end
158
173
 
159
174
  # Returns true if object_type == :document
175
+ # @api public
160
176
  def document?
161
177
  object_type == :document
162
178
  end
163
179
 
164
180
  # Returns true if this object is active (time_when is in objects time interval)
181
+ # @api public
165
182
  def active?(time_when = nil)
166
183
  return false if !valid_from
167
184
  time_then = time_when || Obj.preview_time
@@ -171,11 +188,13 @@ module RailsConnector
171
188
  # Returns true if this object has edited content.
172
189
  # Note that edited content is not available when Configuration.mode == :live
173
190
  # and edited? will always return false in this case.
191
+ # @api public
174
192
  def edited?
175
193
  (is_edited == 1)
176
194
  end
177
195
 
178
196
  # Returns true if this object has released content
197
+ # @api public
179
198
  def released?
180
199
  (is_released == 1)
181
200
  end
@@ -184,16 +203,19 @@ module RailsConnector
184
203
  # A suppressed Obj does not represent an entire web page, but only a part of a page
185
204
  # (for example a teaser) and will not be delivered by the rails application
186
205
  # as a standalone web page.
206
+ # @api public
187
207
  def suppressed?
188
208
  suppress_export == 1
189
209
  end
190
210
 
191
211
  # Returns true if the export of the object is not suppressed and the content is active?
212
+ # @api public
192
213
  def exportable?(current_time = nil)
193
214
  !suppressed? && active?(current_time)
194
215
  end
195
216
 
196
217
  # Returns the file name to which the Content.file_extension has been appended.
218
+ # @api public
197
219
  def filename
198
220
  extension = ".#{file_extension}" unless file_extension.blank?
199
221
  "#{name}#{extension}"
@@ -203,11 +225,13 @@ module RailsConnector
203
225
 
204
226
  # Returns an array with the names of groups that are permitted to access this Obj.
205
227
  # This corresponds to the cms permission "permissionLiveServerRead".
228
+ # @api public
206
229
  def permitted_groups
207
230
  attr_dict.permitted_groups
208
231
  end
209
232
 
210
233
  # Returns true if this object is the root object.
234
+ # @api public
211
235
  def root?
212
236
  parent_obj_id.nil?
213
237
  end
@@ -217,6 +241,7 @@ module RailsConnector
217
241
 
218
242
  # Returns a list of exportable? children excluding the binary? ones unless :all is specfied.
219
243
  # This is mainly used for navigations.
244
+ # @api public
220
245
  def toclist(*args)
221
246
  return [] unless publication?
222
247
  time = args.detect {|value| value.kind_of? Time}
@@ -226,6 +251,7 @@ module RailsConnector
226
251
  end
227
252
 
228
253
  # Returns the sorted +toclist+, respecting sort order and type of this Obj.
254
+ # @api public
229
255
  def sorted_toclist(*args)
230
256
  list = self.toclist(*args)
231
257
  return [] if list.blank?
@@ -257,19 +283,20 @@ module RailsConnector
257
283
  return self.sort_order == "descending" ? sorted_list.reverse : sorted_list
258
284
  end
259
285
 
260
- def sort_key1 # :nodoc:
286
+ def sort_key1
261
287
  self[:sort_key1]
262
288
  end
263
289
 
264
- def sort_key2 # :nodoc:
290
+ def sort_key2
265
291
  self[:sort_key2]
266
292
  end
267
293
 
268
- def sort_key3 # :nodoc:
294
+ def sort_key3
269
295
  self[:sort_key3]
270
296
  end
271
297
 
272
298
  # Returns an Array of all the ancestor objects, starting at the root and ending at this object's parent.
299
+ # @api public
273
300
  def ancestors
274
301
  if parent
275
302
  parent.ancestors + [parent]
@@ -280,6 +307,7 @@ module RailsConnector
280
307
 
281
308
  # Returns the Object with the given name next in the hierarchy
282
309
  # returns nil if no object with the given name was found.
310
+ # @api public
283
311
  def find_nearest(name)
284
312
  obj = self.children.find_by_name(name)
285
313
  return obj if obj and obj.active?
@@ -289,6 +317,7 @@ module RailsConnector
289
317
  # Returns the value of the attribute specified by its name.
290
318
  #
291
319
  # Passing an invalid key will not raise an error, but return nil.
320
+ # @api public
292
321
  def [](key)
293
322
  # convenience access to name
294
323
  return name if key.to_sym == :name
@@ -313,6 +342,7 @@ module RailsConnector
313
342
  end
314
343
 
315
344
  # Reloads the attributes of this object from the database, invalidates custom attributes
345
+ # @api public
316
346
  def reload
317
347
  super
318
348
  @attr_dict = nil
@@ -329,12 +359,14 @@ module RailsConnector
329
359
 
330
360
  # object_class is a legacy alias to name. Please use obj_class instead, because only obj_class
331
361
  # works with ActiveRecord's dynamic finder methods like find_by_obj_class(...)
362
+ # @api public
332
363
  def object_class
333
364
  obj_class
334
365
  end
335
366
 
336
367
  # for binary Objs body_length equals the file size
337
368
  # for non-binary Objs body_length equals the number of characters in the body (main content)
369
+ # @api public
338
370
  def body_length
339
371
  attr_dict.body_length
340
372
  end
@@ -352,28 +384,29 @@ module RailsConnector
352
384
  #
353
385
  # Note also that the url will be used regardless of the Obj's permissions, so be careful not
354
386
  # to provide urls that contain unprotected secrets.
387
+ # @api public
355
388
  def body_data_url
356
389
  nil
357
390
  end
358
391
 
359
- def set_attr_values(dictionary) # :nodoc:
392
+ def set_attr_values(dictionary)
360
393
  @attr_values = dictionary
361
394
  @attr_dict = nil
362
395
  end
363
396
 
364
397
  # Returns an instance of AttrDict which provides access to formatted attribute values (i.e. content).
365
398
  # The method uses attr_defs to determine the right formatting depending on the particular field type.
366
- def attr_dict # :nodoc:
399
+ def attr_dict
367
400
  @attr_dict ||= AttrDict.new(self, attr_values, attr_defs)
368
401
  end
369
402
 
370
403
  # Returns a nested hash of attribute values.
371
- def attr_values # :nodoc:
404
+ def attr_values
372
405
  @attr_values ||= fetch_attr_values
373
406
  end
374
407
 
375
408
  # Returns a nested hash of attribute definitions.
376
- def attr_defs # :nodoc:
409
+ def attr_defs
377
410
  @attr_defs ||= JSON.parse(read_attribute(:attr_defs) || "{}")
378
411
  end
379
412
 
@@ -385,8 +418,7 @@ module RailsConnector
385
418
  # constituting a path through the nested (hash) structures of the attribute definition (attr_defs).
386
419
  #
387
420
  # If the path doesn't fit the metadata structure, the method returns nil and doesn't raise an exception.
388
- #
389
- def metadata_for_field(field, *args) # :nodoc:
421
+ def metadata_for_field(field, *args)
390
422
  rslt = fiona_fields[field.to_s] || attr_defs[field.to_s]
391
423
  args.each do |key|
392
424
  rslt = rslt[key.to_s] unless rslt.nil?
@@ -394,14 +426,17 @@ module RailsConnector
394
426
  rslt
395
427
  end
396
428
 
429
+ # @api public
397
430
  def last_changed
398
431
  self[:last_changed]
399
432
  end
400
433
 
434
+ # @api public
401
435
  def valid_from
402
436
  self[:valid_from]
403
437
  end
404
438
 
439
+ # @api public
405
440
  def valid_until
406
441
  self[:valid_until]
407
442
  end
@@ -413,15 +448,16 @@ module RailsConnector
413
448
  end
414
449
 
415
450
  # Returns the MIME-type as determined from the file_extension - see MIME::Types
451
+ # @api public
416
452
  def mime_type
417
453
  @mime_type ||= compute_mime_type
418
454
  end
419
455
 
420
- def to_liquid # :nodoc:
456
+ def to_liquid
421
457
  LiquidSupport::ObjDrop.new(self)
422
458
  end
423
459
 
424
- def respond_to?(method_id, include_private=false) # :nodoc:
460
+ def respond_to?(method_id, include_private=false)
425
461
  if super
426
462
  true
427
463
  elsif %w(_attr_dict _attr_defs _attr_values).include?(method_id.to_s)
@@ -433,11 +469,11 @@ module RailsConnector
433
469
  end
434
470
  end
435
471
 
436
- def self.preview_time=(t) # :nodoc:
472
+ def self.preview_time=(t)
437
473
  Thread.current[:preview_time] = t
438
474
  end
439
475
 
440
- def self.preview_time # :nodoc:
476
+ def self.preview_time
441
477
  Thread.current[:preview_time] || Time.now
442
478
  end
443
479
 
@@ -4,7 +4,7 @@ module RailsConnector
4
4
 
5
5
  module SES
6
6
 
7
- class VerityAccessor # :nodoc:
7
+ class VerityAccessor
8
8
  require 'net/http'
9
9
  require 'uri'
10
10
  require "rexml/document"
@@ -2,6 +2,7 @@ module RailsConnector
2
2
 
3
3
  # This class provides an implementation for accessing the Verity based search server.
4
4
  # It should be customized by subclassing.
5
+ # @api public
5
6
  class VeritySearchRequest
6
7
  attr_reader :query_string
7
8
 
@@ -21,6 +22,7 @@ module RailsConnector
21
22
  # <tt>:sort_order</tt>:: The sort order of the hits, a list of key-value pairs, each consisting of the sortkey and the sort direction ("asc"=ascending, "desc"=descending), default: <tt>[["score", "desc"], ["name", "asc"]]</tt>
22
23
  # <tt>:collections</tt>:: The collections to be searched, default: <tt>['cm-contents']</tt>
23
24
  # <tt>:base_query</tt>:: The VQL base query, default: <tt>nil</tt>
25
+ # @api public
24
26
  def initialize(query_string, options=nil)
25
27
  @query_string = self.class.sanitize(query_string)
26
28
  @options = Configuration.search_options.merge(options || {})
@@ -29,12 +31,13 @@ module RailsConnector
29
31
  # Accesses the SES and fetches search hits.
30
32
  #
31
33
  # Uses the #base_query and +options+ given in #new.
34
+ # @api public
32
35
  def fetch_hits
33
36
  SES::VerityAccessor.new(vql_query_for(@query_string), {:base_query => base_query}.merge(@options)).search
34
37
  end
35
38
 
36
39
  # Removes unwanted characters from +text+.
37
- def self.sanitize(text) #:nodoc:
40
+ def self.sanitize(text)
38
41
  text.strip.gsub(/[<>"'´`,()\[\]{}=!@\\]/, '')
39
42
  end
40
43
 
@@ -63,6 +66,7 @@ module RailsConnector
63
66
  # super.merge(:content => '("edited" <#IN> state)'
64
67
  # end
65
68
  # end
69
+ # @api public
66
70
  def base_query_conditions
67
71
  conditions = {}
68
72
  conditions[:objTypes] = '<#ANY> (
@@ -81,4 +85,4 @@ module RailsConnector
81
85
  end
82
86
  end
83
87
 
84
- end
88
+ end
data/lib/rating.rb CHANGED
@@ -1,2 +1,5 @@
1
+ # The Rating model inherits all of its behavior from
2
+ # {RailsConnector::DefaultRating}.
3
+ # @api public
1
4
  class Rating < RailsConnector::DefaultRating
2
5
  end
metadata CHANGED
@@ -1,18 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: infopark_fiona_connector
3
3
  version: !ruby/object:Gem::Version
4
- hash: -712075784
4
+ hash: 695044912
5
5
  prerelease: 10
6
6
  segments:
7
7
  - 6
8
8
  - 8
9
9
  - 0
10
- - 210
11
- - ed
12
- - 204
13
- - b
14
- - 0
15
- version: 6.8.0.210.ed204b0
10
+ - 322
11
+ - c
12
+ - 3
13
+ - f
14
+ - 11
15
+ version: 6.8.0.322.c003f11
16
16
  platform: ruby
17
17
  authors:
18
18
  - Infopark AG
@@ -20,7 +20,7 @@ autorequire:
20
20
  bindir: bin
21
21
  cert_chain: []
22
22
 
23
- date: 2012-11-06 00:00:00 +01:00
23
+ date: 2012-11-14 00:00:00 +01:00
24
24
  default_executable:
25
25
  dependencies:
26
26
  - !ruby/object:Gem::Dependency
@@ -76,9 +76,11 @@ executables: []
76
76
 
77
77
  extensions: []
78
78
 
79
- extra_rdoc_files:
80
- - README
79
+ extra_rdoc_files: []
80
+
81
81
  files:
82
+ - .yardopts
83
+ - README
82
84
  - app/helpers/rails_connector/marker_helper.rb
83
85
  - lib/comment.rb
84
86
  - lib/infopark_fiona_connector.rb
@@ -107,18 +109,13 @@ files:
107
109
  - lib/rails_connector/ses/verity_accessor.rb
108
110
  - lib/rails_connector/verity_search_request.rb
109
111
  - lib/rating.rb
110
- - README
111
- has_rdoc: true
112
+ has_rdoc: yard
112
113
  homepage: http://www.infopark.de
113
114
  licenses: []
114
115
 
115
116
  post_install_message:
116
- rdoc_options:
117
- - --charset=UTF-8
118
- - --title
119
- - Infopark Fiona Connector
120
- - --main
121
- - README
117
+ rdoc_options: []
118
+
122
119
  require_paths:
123
120
  - lib
124
121
  required_ruby_version: !ruby/object:Gem::Requirement