infopark_fiona_connector 6.8.0.210.ed204b0 → 6.8.0.322.c003f11

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