summaryrefslogtreecommitdiff
path: root/app/helpers
diff options
context:
space:
mode:
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/content_helper.rb28
1 files changed, 27 insertions, 1 deletions
diff --git a/app/helpers/content_helper.rb b/app/helpers/content_helper.rb
index 0e1df66..3cf3488 100644
--- a/app/helpers/content_helper.rb
+++ b/app/helpers/content_helper.rb
@@ -1,8 +1,34 @@
1module ContentHelper 1module ContentHelper
2 2
3 #
4 def date_for_page page 3 def date_for_page page
5 page.published_at.to_s(:db) rescue page.created_at.to_s(:db) 4 page.published_at.to_s(:db) rescue page.created_at.to_s(:db)
6 end 5 end
7 6
7 def aggregate? content
8 options = {}
9
10 begin
11 if content =~ /<aggregate([^<>]*)>/
12 tag = $~.to_s
13 matched_data = $1.scan(/\w+\=\"[a-zA-Z\s\/_\d]*\"/)
14
15 matched_data.each do |data|
16 splitted_data = data.split("=")
17 options[splitted_data[0].to_sym] = splitted_data[1].gsub(/\"/, "")
18 end
19
20 content.sub(tag, render_collection(options))
21 end
22
23 rescue
24 content
25 end
26 end
27
28 def render_collection options
29 render(
30 :partial => 'content/article',
31 :collection => Page.aggregate(options)
32 )
33 end
8end 34end