Sha256: 48fa3da3b5fc9e07a38b26fd4c68cb8141d174ef9314f99d7a0a03f19779e91a

Contents?: true

Size: 1 KB

Versions: 1

Compression:

Stored size: 1 KB

Contents

module SanitizeEmailController
  
  def self.included(base)
    base.send(:include, Actions)
  end

  module Actions
  
    def set_sanitize_email_address
      session[:sanitize_email_address] = params[:value]
      render :status => 200, :text => params[:value]
    end
  
    def unset_sanitize_email_address
      session[:sanitize_email_address] = nil
      render :status => 200, :text => "nil"
    end
  end
  
  module ActionControllerExtensions
    # def self.included(base)
    #   base.class_eval do
    #     around_filter :handle_sanitize_email
    #   end
    # end
    
    def handle_sanitize_email
      if session[:sanitize_email_address].nil?
        yield
        return
      end
      
      @original_sanitized_recipients = ActionMailer::Base.sanitized_recipients
      ActionMailer::Base.sanitized_recipients = session[:sanitize_email_address]
      yield
    ensure
      ActionMailer::Base.sanitized_recipients = @original_sanitized_recipients
    end
    
    private :handle_sanitize_email
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rails-caddy-0.0.8 lib/rails-caddy/controllers/sanitize_email_controller.rb