summaryrefslogtreecommitdiff
path: root/app/helpers
diff options
context:
space:
mode:
authorhukl <hukl@eight.local>2009-02-01 21:32:44 +0100
committerhukl <hukl@eight.local>2009-02-01 21:32:44 +0100
commitc1854b8b518bde82b80429636f73496a537c3ad5 (patch)
tree59492d905ba5edf4cb7f344ca68a98d8861ff3e0 /app/helpers
parenta660a7ee62e44314c12440d376166ccb0cf60d80 (diff)
added first careful steps for aggregation
Diffstat (limited to 'app/helpers')
-rw-r--r--app/helpers/content_helper.rb23
1 files changed, 22 insertions, 1 deletions
diff --git a/app/helpers/content_helper.rb b/app/helpers/content_helper.rb
index 0e1df66f..046a2dbd 100644
--- a/app/helpers/content_helper.rb
+++ b/app/helpers/content_helper.rb
@@ -1,8 +1,29 @@
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 if content =~ /<aggregate([^<>]*)>/
11 tag = $~.to_s
12 matched_data = $1.scan(/\w+\=\"[a-zA-Z\s\/_\d]*\"/)
13
14 matched_data.each do |data|
15 splitted_data = data.split("=")
16 options[splitted_data[0].to_sym] = splitted_data[1].gsub(/\"/, "")
17 end
18 end
19
20 content.sub(tag, render_collection(options))
21 end
22
23 def render_collection options
24 render(
25 :partial => 'content/article',
26 :collection => Page.aggregate(options)
27 )
28 end
8end 29end