Sha256: a954a184666484ef4c01530c912ed80ffec0c88845cd2ad7afcf15738f68c5c3

Contents?: true

Size: 1.25 KB

Versions: 1

Compression:

Stored size: 1.25 KB

Contents

require 'wiserespond/rails' if defined?(Rails)

module Wiserespond
  module ActionController
    def respond_with_redirect(options={})
      options.reverse_merge!(
        :flash => nil,
        :status => :success
      )
      
      self.setup_flash_for_redirect(options)
      
      respond_to do |format|
        format.html { redirect_to options[:url] }
        format.js { render :template => 'wiserespond/redirect', :locals => options }        
      end
    end

    def respond_with_content(options={})
      options.reverse_merge!(
        :flash => nil,
        :status => :success,
        :locals => nil
      )
      
      self.setup_flash_for_content(options)
      
      respond_to do |format|
        format.html { render options[:action] }
        format.js { render :template => 'wiserespond/content', :locals => options }
      end
    end
    
    def setup_flash_for_redirect(options)
      message = options.delete(:flash)
      flash[options[:status]] = message if message.present?
    end
    protected :setup_flash_for_redirect   
    
    def setup_flash_for_content(options) 
      message = options.delete(:flash)
      options[:flash] = { options[:status] => message } if message.present?
    end
    protected :setup_flash_for_content   
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
wiserespond-1.0.1 lib/wiserespond.rb