diff --git a/plugins/virtuoso/lib/virtuoso_plugin/triples_template.rb b/plugins/virtuoso/lib/virtuoso_plugin/triples_template.rb index 006efed..e541f57 100644 --- a/plugins/virtuoso/lib/virtuoso_plugin/triples_template.rb +++ b/plugins/virtuoso/lib/virtuoso_plugin/triples_template.rb @@ -8,8 +8,18 @@ class VirtuosoPlugin::TriplesTemplate < Article _('Triples template') end + def self.initial_template + ' + {% for row in results %} +
+ {{row}} +
+ {% endfor %} + ' + end + settings_items :query, :type => :string - settings_items :template, :type => :string + settings_items :template, :type => :string, :default => initial_template settings_items :stylesheet, :type => :string attr_accessible :query, :template, :stylesheet @@ -28,7 +38,7 @@ class VirtuosoPlugin::TriplesTemplate < Article def template_content begin results = plugin.virtuoso_client.query(query) - liquid_template = Liquid::Template.parse("{% for row in results %}#{template}{% endfor %}") + liquid_template = Liquid::Template.parse(template) page = liquid_template.render('results' => results) transform_html(page) rescue => ex diff --git a/plugins/virtuoso/test/unit/triples_template_test.rb b/plugins/virtuoso/test/unit/triples_template_test.rb index 138cee7..f35be7d 100644 --- a/plugins/virtuoso/test/unit/triples_template_test.rb +++ b/plugins/virtuoso/test/unit/triples_template_test.rb @@ -12,7 +12,7 @@ class TriplesTemplateTest < ActiveSupport::TestCase article.stubs(:plugin).returns(mock) article.plugin.expects(:virtuoso_client).at_least_once.returns(mock) article.plugin.virtuoso_client.expects(:query).returns([{'var' => 'Hello '}, {'var' => 'World'}]) - article.template = "{{row.var}}" + article.template = "{% for row in results %}{{row.var}}{% endfor %}" assert_match /Hello World/, article.template_content end @@ -21,7 +21,7 @@ class TriplesTemplateTest < ActiveSupport::TestCase article.stubs(:plugin).returns(mock) article.plugin.expects(:virtuoso_client).at_least_once.returns(mock) article.plugin.virtuoso_client.expects(:query).raises(RuntimeError.new) - article.template = "{{row.var}}" + article.template = "{% for row in results %}{{row.var}}{% endfor %}" assert_equal "Failed to process the template", article.template_content end @@ -30,7 +30,7 @@ class TriplesTemplateTest < ActiveSupport::TestCase article.stubs(:plugin).returns(mock) article.plugin.expects(:virtuoso_client).at_least_once.returns(mock) article.plugin.virtuoso_client.expects(:query).returns([{'var' => 'Hello '}, {'var' => 'World'}]) - article.template = "

{{row.var}}

" + article.template = "{% for row in results %}

{{row.var}}

{% endfor %}" article.stylesheet = "p {color: red}" content = article.template_content -- libgit2 0.21.2