From 4be375ef36518d8fbdf61695d184ccf614e0b18f Mon Sep 17 00:00:00 2001 From: Nick Recobra Date: Fri, 12 Aug 2011 17:58:17 +0400 Subject: [PATCH] Drying AppsController more & recover flash class. --- app/controllers/apps_controller.rb | 17 +++++------------ config/initializers/inherited_resources.rb | 1 + config/locales/en.yml | 8 ++++++++ spec/controllers/apps_controller_spec.rb | 6 +++--- 4 files changed, 17 insertions(+), 15 deletions(-) create mode 100644 config/initializers/inherited_resources.rb diff --git a/app/controllers/apps_controller.rb b/app/controllers/apps_controller.rb index 3924f23..61db6b1 100644 --- a/app/controllers/apps_controller.rb +++ b/app/controllers/apps_controller.rb @@ -2,6 +2,7 @@ class AppsController < InheritedResources::Base before_filter :require_admin!, :except => [:index, :show] before_filter :parse_email_at_notices_or_set_default, :only => [:create, :update] + respond_to :html def show where_clause = {} @@ -35,23 +36,15 @@ class AppsController < InheritedResources::Base edit! end - def create - create! :success => 'Great success! Configure your app with the API key below' - end - - def update - update! :success => "Good news everyone! '#{resource.name}' was successfully updated." - end - - def destroy - destroy! :success => "'#{resource.name}' was successfully destroyed." - end - protected def begin_of_association_chain current_user unless current_user.admin? end + def interpolation_options + {:app_name => resource.name} + end + # email_at_notices is edited as a string, and stored as an array. def parse_email_at_notices_or_set_default if params[:app] && val = params[:app][:email_at_notices] diff --git a/config/initializers/inherited_resources.rb b/config/initializers/inherited_resources.rb new file mode 100644 index 0000000..d777518 --- /dev/null +++ b/config/initializers/inherited_resources.rb @@ -0,0 +1 @@ +InheritedResources.flash_keys = [:success, :error] diff --git a/config/locales/en.yml b/config/locales/en.yml index a747bfa..820f857 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -3,3 +3,11 @@ en: hello: "Hello world" + flash: + apps: + create: + success: Great success! Configure your app with the API key below + update: + success: "Good news everyone! '%{app_name}' was successfully updated." + destroy: + success: "'%{app_name}' was successfully destroyed." diff --git a/spec/controllers/apps_controller_spec.rb b/spec/controllers/apps_controller_spec.rb index 3eb78ec..25dc2a6 100644 --- a/spec/controllers/apps_controller_spec.rb +++ b/spec/controllers/apps_controller_spec.rb @@ -201,7 +201,7 @@ describe AppsController do it "should display a message" do post :create, :app => {} - request.flash[:notice].should match(/success/) + request.flash[:success].should match(/success/) end end end @@ -219,7 +219,7 @@ describe AppsController do it "should display a message" do put :update, :id => @app.id, :app => {} - request.flash[:notice].should match(/success/) + request.flash[:success].should match(/success/) end end @@ -424,7 +424,7 @@ describe AppsController do it "should display a message" do delete :destroy, :id => @app.id - request.flash[:notice].should match(/success/) + request.flash[:success].should match(/success/) end it "should redirect to the apps page" do -- libgit2 0.21.2