From ac54ebbb1d43d1fb76ee9516c5aa683c750c73b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Nie=C5=82acny?= Date: Sun, 3 Jun 2012 14:16:10 +0200 Subject: [PATCH] [#3] Respect default_format for rabl response --- lib/grape-rabl/formatter.rb | 1 + spec/grape_rabl_spec.rb | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/lib/grape-rabl/formatter.rb b/lib/grape-rabl/formatter.rb index 62b43af..a1f4f38 100644 --- a/lib/grape-rabl/formatter.rb +++ b/lib/grape-rabl/formatter.rb @@ -13,6 +13,7 @@ def after rabl(current_endpoint) do |template| engine = ::Tilt.new(view_path(template)) rendered = engine.render(current_endpoint, {}) + headers['Content-Type'] = content_types[env['api.format']] Rack::Response.new(rendered, status, headers).to_a end end diff --git a/spec/grape_rabl_spec.rb b/spec/grape_rabl_spec.rb index f6d1359..4dec59d 100644 --- a/spec/grape_rabl_spec.rb +++ b/spec/grape_rabl_spec.rb @@ -16,11 +16,18 @@ def app; subject end lambda{ get "/home" }.should raise_error("Use Rack::Config to set 'api.tilt.root' in config.ru") end + context "titl root is setup" do before do subject.before { env["api.tilt.root"] = "#{File.dirname(__FILE__)}/views" } end + it "should respond with proper content-type" do + subject.get("/home", :rabl => "user"){} + get("/home") + last_response.headers["Content-Type"].should == "application/json" + end + it "should not raise error about root directory" do subject.get("/home", :rabl => true){} lambda{ get "/home" }.should_not raise_error("Use Rack::Config to set 'api.tilt.root' in config.ru")