From d1549220baa43c04c3c24dce6ffc1d710d658a68 Mon Sep 17 00:00:00 2001 From: Mac Siri Date: Fri, 3 May 2019 14:50:12 -0400 Subject: [PATCH] Change StackBlitz to utilize ActionController (#2664) --- app/liquid_tags/stackblitz_tag.rb | 25 ++++++++++++------------- app/views/liquids/_stackblitz.html.erb | 9 +++++++++ 2 files changed, 21 insertions(+), 13 deletions(-) create mode 100644 app/views/liquids/_stackblitz.html.erb diff --git a/app/liquid_tags/stackblitz_tag.rb b/app/liquid_tags/stackblitz_tag.rb index 99498c558..621f83643 100644 --- a/app/liquid_tags/stackblitz_tag.rb +++ b/app/liquid_tags/stackblitz_tag.rb @@ -1,4 +1,6 @@ class StackblitzTag < LiquidTagBase + PARTIAL = "liquids/stackblitz".freeze + def initialize(tag_name, id, tokens) super @id = parse_id(id) @@ -8,18 +10,15 @@ class StackblitzTag < LiquidTagBase end def render(_context) - html = <<-HTML - - HTML - finalize_html(html) + ActionController::Base.new.render_to_string( + partial: PARTIAL, + locals: { + id: @id, + view: @view, + file: @file, + height: @height + }, + ) end private @@ -42,7 +41,7 @@ class StackblitzTag < LiquidTagBase validated_views = input_split.map { |o| validator.call(o) }.reject(&:nil?) raise StandardError, "Invalid Options" unless validated_views.length.between?(0, 1) - validated_views.length.zero? ? "" : "&#{validated_views.join('')}" + validated_views.length.zero? ? "" : validated_views.join("").to_s end def valid_view?(option) diff --git a/app/views/liquids/_stackblitz.html.erb b/app/views/liquids/_stackblitz.html.erb new file mode 100644 index 000000000..3e04de130 --- /dev/null +++ b/app/views/liquids/_stackblitz.html.erb @@ -0,0 +1,9 @@ + \ No newline at end of file