From b42f63788f3c1d7a730f46c10ce9de575985de4a Mon Sep 17 00:00:00 2001 From: ccocchi Date: Thu, 26 Jul 2012 14:59:28 +0200 Subject: [PATCH] Raise error when template is not found --- lib/rabl-rails/renderer.rb | 3 +++ test/render_test.rb | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/lib/rabl-rails/renderer.rb b/lib/rabl-rails/renderer.rb index 6fb6efe..2a04493 100644 --- a/lib/rabl-rails/renderer.rb +++ b/lib/rabl-rails/renderer.rb @@ -3,6 +3,8 @@ require 'rabl-rails/renderers/json' module RablRails module Renderer + class TemplateNotFound < StandardError; end + mattr_reader :view_path @@view_path = 'app/views' @@ -71,6 +73,7 @@ module RablRails c.target_object = object t = c.lookup_context.find_template(template, [], false) + raise TemplateNotFound unless t Library.instance.get_rendered_template(t.source, c) end diff --git a/test/render_test.rb b/test/render_test.rb index f0b543e..c9dd417 100644 --- a/test/render_test.rb +++ b/test/render_test.rb @@ -31,6 +31,10 @@ class RenderTest < ActiveSupport::TestCase assert_equal %q({"user":{"id":1,"name":"Marty"}}), RablRails.render(@user, 'show', view_path: @tmp_path) end + + test "raise error if template is not found" do + assert_raises(RablRails::Renderer::TemplateNotFound) { RablRails.render(@user, 'show') } + end test "handle path for extends" do File.open(@tmp_path + "extend.json.rabl", "w") do |f|