zh_kostev_ext 0.1.6 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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: