zh_kostev_ext 0.1.6 → 0.1.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -2,6 +2,8 @@ module ControllerExtensions
2
2
  module GeneralMethods
3
3
  def self.included(base)
4
4
  base.class_eval do
5
+ const_set(:REDIRECT_DEFAULT_PATH, '/')
6
+ after_filter :store_location
5
7
  #Load resource or redirect to 404 if can't load resource. Used as before filter.
6
8
  #
7
9
  # Example:
@@ -36,6 +38,26 @@ module ControllerExtensions
36
38
  redirect_to '/404'
37
39
  end
38
40
  end
41
+
42
+ #redirects to back.
43
+ #You can specify REDIRECT_DEFAULT_PATH contant in ActionController::Base to setup default redirect path(by default REDIRECT_DEFAULT_PATH='/')
44
+ #
45
+ #You can also pass params to redirect to method
46
+ #example
47
+ # redirect_back_or_default :test_param => "test"
48
+ def redirect_back_or_default(options = {})
49
+ redirect_to (session[:return_to] || ::REDIRECT_DEFAULT_PATH) + "#{'?' unless options.blank?}"+options.map { |key, value| "#{key}=#{value}" }.join("&")
50
+ session[:return_to] = nil
51
+ end
52
+
53
+ private
54
+ #stores request path if request is get and not ajax
55
+ #
56
+ #example
57
+ # after_filter :store_location
58
+ def store_location
59
+ session[:return_to] = request.url if request.get? && !request.xhr? && controller_name != "sessions"
60
+ end
39
61
  end
40
62
  end
41
63
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zh_kostev_ext
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.6
4
+ version: 0.1.7
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-04 00:00:00.000000000 Z
12
+ date: 2012-10-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spreadsheet
@@ -136,7 +136,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
136
136
  version: '0'
137
137
  segments:
138
138
  - 0
139
- hash: -491197677
139
+ hash: 833124783
140
140
  required_rubygems_version: !ruby/object:Gem::Requirement
141
141
  none: false
142
142
  requirements: