From 0d1da13914675790daaf8def26f27017bf2d2a44 Mon Sep 17 00:00:00 2001 From: Azul Date: Tue, 22 Jan 2013 13:07:03 +0100 Subject: render 404 if needed --- app/controllers/application_controller.rb | 4 +++ core/lib/extensions/couchrest.rb | 37 +++++++++++++++++---------- users/app/controllers/webfinger_controller.rb | 4 +-- 3 files changed, 29 insertions(+), 16 deletions(-) diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index be7aa1f..a1ea008 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -2,4 +2,8 @@ class ApplicationController < ActionController::Base protect_from_forgery ActiveSupport.run_load_hooks(:application_controller, self) + + def not_found + raise RECORD_NOT_FOUND.new('Not Found') + end end diff --git a/core/lib/extensions/couchrest.rb b/core/lib/extensions/couchrest.rb index 5938df4..ca4b608 100644 --- a/core/lib/extensions/couchrest.rb +++ b/core/lib/extensions/couchrest.rb @@ -1,23 +1,32 @@ -module CouchRest::Model::Designs +module CouchRest + module Model::Designs - class View + class View - # so we can called Ticket.method.descending or Ticket.method.ascending - def ascending - self + # so we can called Ticket.method.descending or Ticket.method.ascending + def ascending + self + end end - end - class DesignMapper - def load_views(dir) - Dir.glob("#{dir}/*.js") do |js| - name = File.basename(js, '.js') - file = File.open(js, 'r') - view name.to_sym, - :map => file.read, - :reduce => "function(key, values, rereduce) { return sum(values); }" + class DesignMapper + def load_views(dir) + Dir.glob("#{dir}/*.js") do |js| + name = File.basename(js, '.js') + file = File.open(js, 'r') + view name.to_sym, + :map => file.read, + :reduce => "function(key, values, rereduce) { return sum(values); }" + end end end + end + class ModelRailtie + config.action_dispatch.rescue_responses.merge!( + 'CouchRest::Model::DocumentNotFound' => :not_found, + 'RestClient::ResourceNotFound' => :not_found + ) + end end diff --git a/users/app/controllers/webfinger_controller.rb b/users/app/controllers/webfinger_controller.rb index e86cd2d..ac05934 100644 --- a/users/app/controllers/webfinger_controller.rb +++ b/users/app/controllers/webfinger_controller.rb @@ -8,8 +8,8 @@ class WebfingerController < ApplicationController def search username = params[:q].split('@')[0].to_s.downcase - - user = User.find_by_login(username) + user = User.find_by_login(username) || not_found @subject = Webfinger::UserPresenter.new(user, request) end + end -- cgit v1.2.3