infopark_rails_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 +5 -0
- data/README +9 -20
- data/app/controllers/cms_controller.rb +3 -2
- data/app/controllers/comments_controller.rb +2 -2
- data/app/controllers/crm_form_controller.rb +5 -0
- data/app/controllers/pdf_controller.rb +1 -0
- data/app/controllers/rails_connector/default_cms_controller.rb +8 -4
- data/app/controllers/rails_connector/default_comments_controller.rb +1 -2
- data/app/controllers/rails_connector/default_crm_form_controller.rb +13 -0
- data/app/controllers/rails_connector/default_pdf_controller.rb +2 -0
- data/app/controllers/rails_connector/default_rss_controller.rb +4 -1
- data/app/controllers/rails_connector/default_search_controller.rb +2 -0
- data/app/controllers/rails_connector/default_user_controller.rb +10 -0
- data/app/controllers/rails_connector/pdf_external_controller.rb +2 -1
- data/app/controllers/rails_connector/time_machine_controller.rb +1 -1
- data/app/controllers/rss_controller.rb +1 -0
- data/app/controllers/search_controller.rb +5 -0
- data/app/controllers/seo_sitemap_controller.rb +2 -0
- data/app/controllers/user_controller.rb +5 -0
- data/app/helpers/cms_helper.rb +2 -1
- data/app/helpers/cms_routing_helper.rb +2 -1
- data/app/helpers/crm_form_helper.rb +4 -0
- data/app/helpers/rails_connector/cms_asset_helper.rb +3 -0
- data/app/helpers/rails_connector/default_cms_helper.rb +1 -1
- data/app/helpers/rails_connector/default_cms_routing_helper.rb +10 -5
- data/app/helpers/rails_connector/default_crm_form_helper.rb +4 -0
- data/app/helpers/rails_connector/default_user_helper.rb +7 -1
- data/app/helpers/rails_connector/display_helper.rb +7 -5
- data/app/helpers/rails_connector/layout_helper.rb +3 -0
- data/app/helpers/rails_connector/link_helper.rb +3 -0
- data/app/helpers/rails_connector/mandatory_label_helper.rb +1 -1
- data/app/helpers/rails_connector/menu_helper.rb +2 -1
- data/app/helpers/rails_connector/micronav_helper.rb +2 -0
- data/app/helpers/rails_connector/seo_helper.rb +2 -0
- data/app/helpers/rails_connector/table_of_contents_helper.rb +2 -0
- data/app/helpers/rails_connector/time_machine_helper.rb +2 -0
- data/app/helpers/rails_connector/tracking_helper.rb +2 -0
- data/app/helpers/ratings_helper.rb +1 -1
- data/app/helpers/user_helper.rb +4 -0
- data/app/mailers/confirmation_mailer.rb +5 -0
- data/app/models/crm_form.rb +1 -0
- data/app/models/rails_connector/default_comment.rb +1 -1
- data/app/models/rails_connector/link_list.rb +3 -1
- data/lib/generators/rails_connector/comments/comments_generator.rb +0 -1
- data/lib/generators/rails_connector/comments/templates/migration.rb +0 -1
- data/lib/generators/rails_connector/install/install_generator.rb +0 -1
- data/lib/generators/rails_connector/install/templates/obj_extensions.rb +2 -1
- data/lib/generators/rails_connector/ratings/ratings_generator.rb +0 -1
- data/lib/generators/rails_connector/ratings/templates/migration.rb +0 -1
- data/lib/infopark_rails_connector.rb +4 -2
- data/lib/rails_connector/authenticable.rb +2 -2
- data/lib/rails_connector/cms_accessible.rb +14 -10
- data/lib/rails_connector/cms_dispatch_controller.rb +0 -1
- data/lib/rails_connector/cms_env.rb +0 -1
- data/lib/rails_connector/cms_test_request.rb +1 -1
- data/lib/rails_connector/commentable.rb +2 -2
- data/lib/rails_connector/configuration/google_analytics.rb +7 -4
- data/lib/rails_connector/configuration/pdf_generator.rb +3 -0
- data/lib/rails_connector/configuration/rss.rb +8 -2
- data/lib/rails_connector/configuration.rb +56 -27
- data/lib/rails_connector/core_extensions/time.rb +1 -1
- data/lib/rails_connector/crm.rb +54 -46
- data/lib/rails_connector/engine.rb +1 -1
- data/lib/rails_connector/fop.rb +2 -2
- data/lib/rails_connector/fop_on_rails/document/dom_tree.rb +1 -1
- data/lib/rails_connector/fop_on_rails/document/images.rb +1 -1
- data/lib/rails_connector/fop_on_rails/document/tables.rb +1 -1
- data/lib/rails_connector/fop_on_rails/document.rb +1 -1
- data/lib/rails_connector/fop_on_rails.rb +2 -2
- data/lib/rails_connector/googlebot_checker.rb +0 -1
- data/lib/rails_connector/html_string.rb +2 -2
- data/lib/rails_connector/link_resolvable.rb +1 -1
- data/lib/rails_connector/liquid_support/field_value_drop.rb +1 -1
- data/lib/rails_connector/liquid_support/link_drop.rb +1 -1
- data/lib/rails_connector/liquid_support/liquid_template_handler.rb +6 -6
- data/lib/rails_connector/liquid_support/named_object_drop.rb +1 -1
- data/lib/rails_connector/liquid_support/obj_drop.rb +1 -1
- data/lib/rails_connector/liquid_support/obj_filters.rb +1 -1
- data/lib/rails_connector/liquid_support.rb +4 -2
- data/lib/rails_connector/markdown_string.rb +2 -2
- data/lib/rails_connector/rateable.rb +1 -1
- data/lib/rails_connector/seo.rb +15 -7
- data/lib/rails_connector/ses.rb +13 -5
- data/lib/rails_connector/string_tagging.rb +1 -1
- data/lib/rails_connector/syndicateable.rb +3 -1
- data/lib/search_request.rb +1 -0
- metadata +15 -66
@@ -1,6 +1,6 @@
|
|
1
1
|
module RailsConnector::LiquidSupport
|
2
2
|
|
3
|
-
module FieldValueDropPatcher
|
3
|
+
module FieldValueDropPatcher
|
4
4
|
def self.patch(mod)
|
5
5
|
mod.module_eval do
|
6
6
|
return if method_defined?(:field_value_drop_patched)
|
@@ -33,9 +33,9 @@ module RailsConnector::LiquidSupport
|
|
33
33
|
# Example:
|
34
34
|
# {% template 'name-of-partial' %}
|
35
35
|
class TemplateTag < Liquid::Tag
|
36
|
-
Syntax = /(#{Liquid::QuotedFragment}+)/
|
36
|
+
Syntax = /(#{Liquid::QuotedFragment}+)/
|
37
37
|
|
38
|
-
def initialize(tag_name, markup, tokens)
|
38
|
+
def initialize(tag_name, markup, tokens)
|
39
39
|
|
40
40
|
if markup =~ Syntax
|
41
41
|
@partial_name = $1
|
@@ -46,7 +46,7 @@ module RailsConnector::LiquidSupport
|
|
46
46
|
super
|
47
47
|
end
|
48
48
|
|
49
|
-
def render(context)
|
49
|
+
def render(context)
|
50
50
|
context.registers[:action_view].controller.__send__(
|
51
51
|
:render_to_string, :partial => context[@partial_name]
|
52
52
|
)
|
@@ -57,7 +57,7 @@ module RailsConnector::LiquidSupport
|
|
57
57
|
|
58
58
|
# Das LiquidTemplateRepository kann Liquid-Templates anwenden.
|
59
59
|
# Zunächst muss das Template kompiliert werden, danach kann es gerendert werden.
|
60
|
-
class LiquidTemplateRepository
|
60
|
+
class LiquidTemplateRepository
|
61
61
|
|
62
62
|
cattr_accessor :compiled_templates
|
63
63
|
self.compiled_templates = {}
|
@@ -151,7 +151,7 @@ module RailsConnector::LiquidSupport
|
|
151
151
|
# Der Grund ist, dass die Klassen, die in Rails als TemplateHandler registriert
|
152
152
|
# sind von Rails eingefroren werden (mittels Object.freeze) und daher keine
|
153
153
|
# Klassenvariablen haben können.
|
154
|
-
class LiquidTemplateHandler
|
154
|
+
class LiquidTemplateHandler
|
155
155
|
def self.call(template)
|
156
156
|
template_id = LiquidTemplateRepository.compile(template)
|
157
157
|
"#{LiquidTemplateRepository}.render('#{template_id}', self)"
|
@@ -3,7 +3,7 @@ require "singleton"
|
|
3
3
|
module RailsConnector::LiquidSupport
|
4
4
|
|
5
5
|
# Dieser Drop realisiert den Zugriff auf Objekte, die per NamedLink referenziert werden
|
6
|
-
class NamedObjectDrop < Liquid::Drop
|
6
|
+
class NamedObjectDrop < Liquid::Drop
|
7
7
|
include Singleton
|
8
8
|
|
9
9
|
def before_method(method)
|
@@ -1,7 +1,7 @@
|
|
1
1
|
require 'liquid'
|
2
2
|
|
3
3
|
# A collection of modules and classes needed to enable Liquid templates with Rails Connector
|
4
|
-
|
4
|
+
# @api public
|
5
5
|
module RailsConnector::LiquidSupport
|
6
6
|
|
7
7
|
# Helpers can be made available in Liquid templates by enabling them in the
|
@@ -11,13 +11,15 @@ module RailsConnector::LiquidSupport
|
|
11
11
|
# :helper_a,
|
12
12
|
# :helper_b
|
13
13
|
# )
|
14
|
+
# @api public
|
14
15
|
def self.enable_helpers(*helpers)
|
15
16
|
helpers.each do |helper|
|
16
17
|
GeneralHelperTag << helper
|
17
18
|
end
|
18
19
|
end
|
19
20
|
|
20
|
-
# set to true if an error in a liquid template should lead to an 500 server error
|
21
|
+
# set to +true+ if an error in a liquid template should lead to an 500 server error
|
22
|
+
# @api public
|
21
23
|
mattr_accessor :raise_template_errors
|
22
24
|
|
23
25
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module RailsConnector
|
2
2
|
|
3
3
|
# Include this module in order to tag the string as one with Markdown content
|
4
|
-
module MarkdownString
|
4
|
+
module MarkdownString
|
5
5
|
include LinkResolvable
|
6
6
|
# Returns whether the String contains Markdown (default to true, overrides String.markdown?).
|
7
7
|
def markdown?
|
@@ -11,7 +11,7 @@ module RailsConnector
|
|
11
11
|
|
12
12
|
end
|
13
13
|
|
14
|
-
class String
|
14
|
+
class String
|
15
15
|
# Returns whether the String contains Markdown (default to false).
|
16
16
|
def markdown?
|
17
17
|
false
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module RailsConnector
|
2
2
|
#
|
3
|
-
# This module provides a mixin for the CMS object model. It provides a
|
3
|
+
# This module provides a mixin for the CMS object model. It provides a {ratings} association and well as several helper methods.
|
4
4
|
module Rateable
|
5
5
|
|
6
6
|
# returns all Ratings for this Obj.
|
data/lib/rails_connector/seo.rb
CHANGED
@@ -1,12 +1,15 @@
|
|
1
1
|
module RailsConnector
|
2
2
|
# Search Engine Optimization methods
|
3
|
+
# @api public
|
3
4
|
module SEO
|
4
5
|
|
5
6
|
# The methods contained herein are attached to the Obj model class.
|
7
|
+
# @api public
|
6
8
|
module ClassMethods
|
7
9
|
# Finds all objects that shall be included in the SEO <tt>sitemap.xml</tt>.
|
8
|
-
# On each exportable none-image object,
|
9
|
-
# Overwrite <tt>included_in_seo_sitemap?</tt> in your
|
10
|
+
# On each exportable none-image object, {InstanceMethods#included_in_seo_sitemap?} is called.
|
11
|
+
# Overwrite <tt>included_in_seo_sitemap?</tt> in your {ObjExtensions} to adjust the criteria.
|
12
|
+
# @api public
|
10
13
|
def find_all_for_sitemap
|
11
14
|
start = Obj.homepage
|
12
15
|
children = start.toclist
|
@@ -17,33 +20,38 @@ module RailsConnector
|
|
17
20
|
end
|
18
21
|
|
19
22
|
# The methods contained herein are included in the Obj model.
|
23
|
+
# @api public
|
20
24
|
module InstanceMethods
|
21
25
|
|
22
|
-
# Returns +true+ by default. Overwrite in your
|
26
|
+
# Returns +true+ by default. Overwrite in your {ObjExtensions} as you like.
|
27
|
+
# @api public
|
23
28
|
def readable_for_googlebots?
|
24
29
|
true
|
25
30
|
end
|
26
31
|
|
27
32
|
# Default implementation: objects have to be <tt>active?</tt> and at least of one of: permitted for anyone (<tt>permitted_groups = []</tt>), <tt>readable_for_googlebots?</tt>.
|
28
|
-
# Overwrite in your
|
33
|
+
# Overwrite in your {ObjExtensions} as you like.
|
34
|
+
# @api public
|
29
35
|
def included_in_seo_sitemap?
|
30
36
|
(permitted_groups.empty? || readable_for_googlebots?) && active?
|
31
37
|
end
|
32
38
|
|
33
39
|
# Returns an html-stripped <tt>Obj#body</tt>, truncated to 300 chars.
|
34
|
-
# Overwrite in your
|
40
|
+
# Overwrite in your {ObjExtensions} as you like. For example, point to a CMS field.
|
41
|
+
# @api public
|
35
42
|
def seo_description
|
36
43
|
HTML::FullSanitizer.new.sanitize(body.strip.gsub(%r{[\n|\r]}, " ")).mb_chars[0,300] if body
|
37
44
|
end
|
38
45
|
|
39
|
-
# Returns +nil+ by default. Overwrite in your
|
46
|
+
# Returns +nil+ by default. Overwrite in your {ObjExtensions} as you like.
|
40
47
|
# For example, point to a CMS field of your objects.
|
48
|
+
# @api public
|
41
49
|
def seo_keywords
|
42
50
|
nil
|
43
51
|
end
|
44
52
|
end
|
45
53
|
|
46
|
-
def self.included(receiver)
|
54
|
+
def self.included(receiver)
|
47
55
|
receiver.extend ClassMethods
|
48
56
|
receiver.send :include, InstanceMethods
|
49
57
|
end
|
data/lib/rails_connector/ses.rb
CHANGED
@@ -1,16 +1,17 @@
|
|
1
1
|
module RailsConnector
|
2
2
|
|
3
3
|
# This module accesses the Infopark Search Engine Server.
|
4
|
+
# @api public
|
4
5
|
module SES
|
5
6
|
|
6
7
|
autoload :VerityAccessor, "rails_connector/ses/verity_accessor"
|
7
8
|
|
8
9
|
# This method enables Obj to perform searches using the SES Search Engine Server.
|
9
|
-
def self.enable
|
10
|
+
def self.enable
|
10
11
|
::Obj.extend Obj::ClassMethods
|
11
12
|
end
|
12
13
|
|
13
|
-
module Obj
|
14
|
+
module Obj
|
14
15
|
# Extends the model class Obj with the class method find_with_ses.
|
15
16
|
module ClassMethods
|
16
17
|
# Queries the search engine and returns a SearchResult. The parameters
|
@@ -25,42 +26,49 @@ module RailsConnector
|
|
25
26
|
end
|
26
27
|
end
|
27
28
|
|
28
|
-
class SearchError < StandardError
|
29
|
+
class SearchError < StandardError
|
29
30
|
end
|
30
31
|
|
31
32
|
# SearchResult is the list of hits in response to a search query. Since the
|
32
33
|
# maximum number of hits to return has been specified, there might be more
|
33
34
|
# hits available in the search engine.
|
35
|
+
# @api public
|
34
36
|
class SearchResult < Array
|
35
37
|
# The total number of hits.
|
38
|
+
# @api public
|
36
39
|
attr_reader :total_hits
|
37
40
|
|
38
|
-
def initialize(total_hits)
|
41
|
+
def initialize(total_hits)
|
39
42
|
super()
|
40
43
|
@total_hits = total_hits
|
41
44
|
end
|
42
45
|
end
|
43
46
|
|
44
47
|
# A hit represents a found document for a particular search query.
|
48
|
+
# @api public
|
45
49
|
class Hit
|
46
50
|
# The ID of the found Obj.
|
51
|
+
# @api public
|
47
52
|
attr_reader :id
|
48
53
|
|
49
54
|
# The score of the hit.
|
55
|
+
# @api public
|
50
56
|
attr_reader :score
|
51
57
|
|
52
58
|
# The raw result hash returned by the search engine, for a low-level access.
|
53
59
|
# Don't use this unless you know what you're doing.
|
54
60
|
# Be aware that this is not migration safe.
|
61
|
+
# @api public
|
55
62
|
attr_reader :doc
|
56
63
|
|
57
|
-
def initialize(id, score, doc={})
|
64
|
+
def initialize(id, score, doc={})
|
58
65
|
@id = id
|
59
66
|
@score = score
|
60
67
|
@doc = doc
|
61
68
|
end
|
62
69
|
|
63
70
|
# Returns the hit's corresponding Obj (or nil if none found in the database).
|
71
|
+
# @api public
|
64
72
|
def obj
|
65
73
|
@obj ||= ::Obj.find(@id)
|
66
74
|
rescue RailsConnector::ResourceNotFound
|
@@ -2,8 +2,10 @@ module RailsConnector
|
|
2
2
|
# This module is included if the <tt>:rss</tt> addon is
|
3
3
|
# enabled:
|
4
4
|
# RailsConnector::Configuration.enable(:rss)
|
5
|
+
# @api public
|
5
6
|
module Syndicateable
|
6
|
-
# Overwrite this method in your
|
7
|
+
# Overwrite this method in your {ObjExtensions} in order to display another field in your feed.
|
8
|
+
# @api public
|
7
9
|
def rss_description
|
8
10
|
body
|
9
11
|
end
|
data/lib/search_request.rb
CHANGED
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: infopark_rails_connector
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 448206178
|
5
5
|
prerelease: 10
|
6
6
|
segments:
|
7
7
|
- 6
|
8
8
|
- 8
|
9
9
|
- 0
|
10
|
-
-
|
11
|
-
-
|
12
|
-
-
|
13
|
-
-
|
14
|
-
-
|
15
|
-
version: 6.8.0.
|
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-
|
23
|
+
date: 2012-11-14 00:00:00 +01:00
|
24
24
|
default_executable:
|
25
25
|
dependencies:
|
26
26
|
- !ruby/object:Gem::Dependency
|
@@ -206,57 +206,11 @@ executables: []
|
|
206
206
|
|
207
207
|
extensions: []
|
208
208
|
|
209
|
-
extra_rdoc_files:
|
210
|
-
|
211
|
-
- app/helpers/user_helper.rb
|
212
|
-
- app/helpers/cms_routing_helper.rb
|
213
|
-
- app/helpers/cms_helper.rb
|
214
|
-
- app/helpers/ratings_helper.rb
|
215
|
-
- app/helpers/rails_connector/display_helper.rb
|
216
|
-
- app/helpers/rails_connector/default_cms_helper.rb
|
217
|
-
- app/helpers/rails_connector/time_machine_helper.rb
|
218
|
-
- app/helpers/rails_connector/link_helper.rb
|
219
|
-
- app/helpers/rails_connector/cms_asset_helper.rb
|
220
|
-
- app/helpers/rails_connector/layout_helper.rb
|
221
|
-
- app/helpers/rails_connector/default_user_helper.rb
|
222
|
-
- app/helpers/rails_connector/table_of_contents_helper.rb
|
223
|
-
- app/helpers/rails_connector/menu_helper.rb
|
224
|
-
- app/helpers/rails_connector/seo_helper.rb
|
225
|
-
- app/helpers/rails_connector/default_crm_form_helper.rb
|
226
|
-
- app/helpers/rails_connector/default_ratings_helper.rb
|
227
|
-
- app/helpers/rails_connector/micronav_helper.rb
|
228
|
-
- app/helpers/rails_connector/tracking_helper.rb
|
229
|
-
- app/helpers/rails_connector/error_messages_helper.rb
|
230
|
-
- app/helpers/rails_connector/mandatory_label_helper.rb
|
231
|
-
- app/helpers/rails_connector/default_cms_routing_helper.rb
|
232
|
-
- app/controllers/rss_controller.rb
|
233
|
-
- app/controllers/search_controller.rb
|
234
|
-
- app/controllers/pdf_controller.rb
|
235
|
-
- app/controllers/ratings_controller.rb
|
236
|
-
- app/controllers/user_controller.rb
|
237
|
-
- app/controllers/cms_controller.rb
|
238
|
-
- app/controllers/seo_sitemap_controller.rb
|
239
|
-
- app/controllers/rails_connector/default_rss_controller.rb
|
240
|
-
- app/controllers/rails_connector/default_search_controller.rb
|
241
|
-
- app/controllers/rails_connector/time_machine_controller.rb
|
242
|
-
- app/controllers/rails_connector/default_comments_controller.rb
|
243
|
-
- app/controllers/rails_connector/default_pdf_controller.rb
|
244
|
-
- app/controllers/rails_connector/default_cms_controller.rb
|
245
|
-
- app/controllers/rails_connector/pdf_external_controller.rb
|
246
|
-
- app/controllers/rails_connector/default_crm_form_controller.rb
|
247
|
-
- app/controllers/rails_connector/default_ratings_controller.rb
|
248
|
-
- app/controllers/rails_connector/default_user_controller.rb
|
249
|
-
- app/controllers/comments_controller.rb
|
250
|
-
- app/controllers/crm_form_controller.rb
|
251
|
-
- app/models/crm_form.rb
|
252
|
-
- app/models/obj.rb
|
253
|
-
- app/models/named_link.rb
|
254
|
-
- app/models/rails_connector/default_comment.rb
|
255
|
-
- app/models/rails_connector/default_rating.rb
|
256
|
-
- app/models/rails_connector/link_list.rb
|
257
|
-
- app/mailers/confirmation_mailer.rb
|
258
|
-
- README
|
209
|
+
extra_rdoc_files: []
|
210
|
+
|
259
211
|
files:
|
212
|
+
- .yardopts
|
213
|
+
- README
|
260
214
|
- app/assets/images/admin/minus.gif
|
261
215
|
- app/assets/images/bg80.png
|
262
216
|
- app/assets/images/edit.png
|
@@ -438,18 +392,13 @@ files:
|
|
438
392
|
- lib/search_request.rb
|
439
393
|
- lib/tasks/check.rake
|
440
394
|
- lib/tasks/cms_license_check.rake
|
441
|
-
|
442
|
-
has_rdoc: true
|
395
|
+
has_rdoc: yard
|
443
396
|
homepage: http://www.infopark.de
|
444
397
|
licenses: []
|
445
398
|
|
446
399
|
post_install_message:
|
447
|
-
rdoc_options:
|
448
|
-
|
449
|
-
- --title
|
450
|
-
- Infopark Rails Connector
|
451
|
-
- --main
|
452
|
-
- README
|
400
|
+
rdoc_options: []
|
401
|
+
|
453
402
|
require_paths:
|
454
403
|
- lib
|
455
404
|
required_ruby_version: !ruby/object:Gem::Requirement
|