Commit 27ad4cb28a3fa0146e342908b3fb7fb8e5123712

Authored by Victor Costa
1 parent b1d29dcd

virtuoso: remove fixed for from template

plugins/virtuoso/lib/virtuoso_plugin/triples_template.rb
@@ -8,8 +8,18 @@ class VirtuosoPlugin::TriplesTemplate < Article @@ -8,8 +8,18 @@ class VirtuosoPlugin::TriplesTemplate < Article
8 _('Triples template') 8 _('Triples template')
9 end 9 end
10 10
  11 + def self.initial_template
  12 + '
  13 + {% for row in results %}
  14 + <div>
  15 + {{row}}
  16 + </div>
  17 + {% endfor %}
  18 + '
  19 + end
  20 +
11 settings_items :query, :type => :string 21 settings_items :query, :type => :string
12 - settings_items :template, :type => :string 22 + settings_items :template, :type => :string, :default => initial_template
13 settings_items :stylesheet, :type => :string 23 settings_items :stylesheet, :type => :string
14 24
15 attr_accessible :query, :template, :stylesheet 25 attr_accessible :query, :template, :stylesheet
@@ -28,7 +38,7 @@ class VirtuosoPlugin::TriplesTemplate &lt; Article @@ -28,7 +38,7 @@ class VirtuosoPlugin::TriplesTemplate &lt; Article
28 def template_content 38 def template_content
29 begin 39 begin
30 results = plugin.virtuoso_client.query(query) 40 results = plugin.virtuoso_client.query(query)
31 - liquid_template = Liquid::Template.parse("{% for row in results %}#{template}{% endfor %}") 41 + liquid_template = Liquid::Template.parse(template)
32 page = liquid_template.render('results' => results) 42 page = liquid_template.render('results' => results)
33 transform_html(page) 43 transform_html(page)
34 rescue => ex 44 rescue => ex
plugins/virtuoso/test/unit/triples_template_test.rb
@@ -12,7 +12,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase @@ -12,7 +12,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase
12 article.stubs(:plugin).returns(mock) 12 article.stubs(:plugin).returns(mock)
13 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock) 13 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock)
14 article.plugin.virtuoso_client.expects(:query).returns([{'var' => 'Hello '}, {'var' => 'World'}]) 14 article.plugin.virtuoso_client.expects(:query).returns([{'var' => 'Hello '}, {'var' => 'World'}])
15 - article.template = "{{row.var}}" 15 + article.template = "{% for row in results %}{{row.var}}{% endfor %}"
16 16
17 assert_match /Hello World/, article.template_content 17 assert_match /Hello World/, article.template_content
18 end 18 end
@@ -21,7 +21,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase @@ -21,7 +21,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase
21 article.stubs(:plugin).returns(mock) 21 article.stubs(:plugin).returns(mock)
22 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock) 22 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock)
23 article.plugin.virtuoso_client.expects(:query).raises(RuntimeError.new) 23 article.plugin.virtuoso_client.expects(:query).raises(RuntimeError.new)
24 - article.template = "{{row.var}}" 24 + article.template = "{% for row in results %}{{row.var}}{% endfor %}"
25 25
26 assert_equal "Failed to process the template", article.template_content 26 assert_equal "Failed to process the template", article.template_content
27 end 27 end
@@ -30,7 +30,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase @@ -30,7 +30,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase
30 article.stubs(:plugin).returns(mock) 30 article.stubs(:plugin).returns(mock)
31 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock) 31 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock)
32 article.plugin.virtuoso_client.expects(:query).returns([{'var' => 'Hello '}, {'var' => 'World'}]) 32 article.plugin.virtuoso_client.expects(:query).returns([{'var' => 'Hello '}, {'var' => 'World'}])
33 - article.template = "<p>{{row.var}}</p>" 33 + article.template = "{% for row in results %}<p>{{row.var}}</p>{% endfor %}"
34 article.stylesheet = "p {color: red}" 34 article.stylesheet = "p {color: red}"
35 35
36 content = article.template_content 36 content = article.template_content