diff --git a/app/helpers/asciicasts_helper.rb b/app/helpers/asciicasts_helper.rb index 7b494e2..9bb446f 100644 --- a/app/helpers/asciicasts_helper.rb +++ b/app/helpers/asciicasts_helper.rb @@ -1,17 +1,8 @@ module AsciicastsHelper def player(asciicast, options = PlaybackOptions.new) - render :partial => 'asciicasts/player', :locals => { - asciicast: serialized_asciicast(asciicast), - player_class: options.player_class, - speed: options.speed, - benchmark: options.benchmark, - container_width: options.max_width, - renderer_class: options.renderer_class, - auto_play: options.autoplay, - hud: !options.hide_hud, - size: options.size, - } + render 'asciicasts/player', asciicast: serialized_asciicast(asciicast), + options: options end # TODO: move to AsciicastDecorator diff --git a/app/views/asciicasts/_player.html.slim b/app/views/asciicasts/_player.html.slim index 4c3005c..e499ecc 100644 --- a/app/views/asciicasts/_player.html.slim +++ b/app/views/asciicasts/_player.html.slim @@ -1,18 +1,18 @@ -.player class="#{size}-font" +.player class="#{options.size}-font" javascript: $(function() { - var playerClass = #{player_class}; - var containerWidth = #{container_width || 'null'}; + var playerClass = #{options.player_class}; + var containerWidth = #{options.max_width || 'null'}; window.player = new playerClass({ - el: $('.player'), - speed: #{speed}, - benchmark: #{benchmark}, - model: new Asciinema.Asciicast(#{asciicast.html_safe}), + el: $('.player'), + speed: #{options.speed}, + benchmark: #{options.benchmark}, + model: new Asciinema.Asciicast(#{asciicast.html_safe}), containerWidth: containerWidth || $('.cinema .player').parent().width(), - rendererClass: #{renderer_class}, - autoPlay: #{auto_play}, - hud: #{hud} + rendererClass: #{options.renderer_class}, + autoPlay: #{options.autoplay}, + hud: #{!options.hide_hud} }); });