tanga_namespaced_helpers 0.0.4 → 0.0.5

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.
@@ -6,7 +6,7 @@ module TangaNamespacedHelpers
6
6
  def self.reset! controller
7
7
  @view = controller.view_context
8
8
  if controller.is_a?(ActionController::Base)
9
- @controller = controller
9
+ @original_context = @view
10
10
  end
11
11
 
12
12
  # Hack to get Haml helpers available
@@ -22,8 +22,8 @@ module TangaNamespacedHelpers
22
22
  @view
23
23
  end
24
24
 
25
- def self.controller
26
- @controller
25
+ def self.use_controller!
26
+ @view = @original_context
27
27
  end
28
28
 
29
29
  # TODO Gotta be a better way to do this.
@@ -31,25 +31,15 @@ module TangaNamespacedHelpers
31
31
  TangaNamespacedHelpers.view
32
32
  end
33
33
 
34
- def controller
35
- TangaNamespacedHelpers.controller
36
- end
37
-
38
34
  def method_missing *args, &block
39
- retry_count ||= 0
40
35
  view.send *args, &block
41
36
  rescue NoMethodError
42
37
  # This is pretty stupid. ActionMailer sometimes resets the current view context.
43
38
  # So, if there's a NoMethodError (i.e. access the session after ActionMailer
44
39
  # resets the context), we need to reset it to the original controller
45
40
  # for the request and try one more time.
46
- if retry_count == 0
47
- TangaNamespacedHelpers.reset!(controller)
48
- retry_count += 1
49
- retry
50
- else
51
- raise
52
- end
41
+ TangaNamespacedHelpers.use_controller!
42
+ view.send *args, &block
53
43
  end
54
44
 
55
45
  module ControllerMethods
@@ -1,3 +1,3 @@
1
1
  module TangaNamespacedHelpers
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tanga_namespaced_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: