Sha256: 2acf9d18649611e3f16fb5b2a65c30b6f63577d1bd617f5a8ea2e1cf18cd7a16

Contents?: true

Size: 664 Bytes

Versions: 2

Compression:

Stored size: 664 Bytes

Contents

require 'jump_back/referer_interpreter'
require 'jump_back/redirection_determiner'

module JumpBack
  
  def redirect_back(path=root_path, options={})
    parsed_args = parse_jump_back_arguments(path, options)
    redirect_to RedirectionDeterminer.new(request, parsed_args[:path], parsed_args[:jump_back_options]).path, parsed_args[:redirect_options]
  end
  
  def parse_jump_back_arguments(path, options)
    if path.is_a? Hash
      options = path
      path = root_path
    end
    
    jump_back_options = { offsite: options.delete(:offsite) }
    {
      redirect_options: options,
      jump_back_options: jump_back_options,
      path: path
    }
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
jump_back-0.2.1 lib/jump_back/redirect_back.rb
jump_back-0.1.1 lib/jump_back/redirect_back.rb