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 _('Triples template')
9 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 21 settings_items :query, :type => :string
12   - settings_items :template, :type => :string
  22 + settings_items :template, :type => :string, :default => initial_template
13 23 settings_items :stylesheet, :type => :string
14 24  
15 25 attr_accessible :query, :template, :stylesheet
... ... @@ -28,7 +38,7 @@ class VirtuosoPlugin::TriplesTemplate &lt; Article
28 38 def template_content
29 39 begin
30 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 42 page = liquid_template.render('results' => results)
33 43 transform_html(page)
34 44 rescue => ex
... ...
plugins/virtuoso/test/unit/triples_template_test.rb
... ... @@ -12,7 +12,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase
12 12 article.stubs(:plugin).returns(mock)
13 13 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock)
14 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 17 assert_match /Hello World/, article.template_content
18 18 end
... ... @@ -21,7 +21,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase
21 21 article.stubs(:plugin).returns(mock)
22 22 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock)
23 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 26 assert_equal "Failed to process the template", article.template_content
27 27 end
... ... @@ -30,7 +30,7 @@ class TriplesTemplateTest &lt; ActiveSupport::TestCase
30 30 article.stubs(:plugin).returns(mock)
31 31 article.plugin.expects(:virtuoso_client).at_least_once.returns(mock)
32 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 34 article.stylesheet = "p {color: red}"
35 35  
36 36 content = article.template_content
... ...