Commit 27ad4cb28a3fa0146e342908b3fb7fb8e5123712
1 parent
b1d29dcd
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
virtuoso: remove fixed for from template
Showing
2 changed files
with
15 additions
and
5 deletions
Show diff stats
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 < Article | @@ -28,7 +38,7 @@ class VirtuosoPlugin::TriplesTemplate < 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 < ActiveSupport::TestCase | @@ -12,7 +12,7 @@ class TriplesTemplateTest < 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 < ActiveSupport::TestCase | @@ -21,7 +21,7 @@ class TriplesTemplateTest < 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 < ActiveSupport::TestCase | @@ -30,7 +30,7 @@ class TriplesTemplateTest < 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 |