active_decorator 0.2.1 → 0.3.0

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.
@@ -1,4 +1,3 @@
1
1
  require 'active_decorator/version'
2
2
  require 'active_decorator/decorator'
3
3
  require 'active_decorator/railtie'
4
-
@@ -1,5 +1,3 @@
1
- require 'action_view'
2
-
3
1
  module ActiveDecorator
4
2
  module Helpers
5
3
  def method_missing(method, *args, &block)
@@ -7,15 +5,10 @@ module ActiveDecorator
7
5
  #TODO need to make sure who raised the error?
8
6
  rescue NoMethodError => no_method_error
9
7
  begin
10
- @@_decorator_view_proxy ||= DecoratorViewProxy.new
11
- @@_decorator_view_proxy.send method, *args, &block
8
+ ActiveDecorator::ViewContext.current.send method, *args, &block
12
9
  rescue NoMethodError
13
10
  raise no_method_error
14
11
  end
15
12
  end
16
-
17
- class DecoratorViewProxy
18
- include ::ActionView::Helpers
19
- end
20
13
  end
21
14
  end
@@ -1,3 +1,4 @@
1
+ require 'active_decorator/view_context'
1
2
  require 'rails'
2
3
 
3
4
  module ActiveDecorator
@@ -8,6 +9,7 @@ module ActiveDecorator
8
9
  end
9
10
  ActiveSupport.on_load(:action_controller) do
10
11
  require 'active_decorator/monkey/abstract_controller/rendering'
12
+ ActionController::Base.send :include, ActiveDecorator::ViewContext::Filter
11
13
  end
12
14
  ActiveSupport.on_load(:action_mailer) do
13
15
  require 'active_decorator/monkey/abstract_controller/rendering'
@@ -1,3 +1,3 @@
1
1
  module ActiveDecorator
2
- VERSION = '0.2.1'
2
+ VERSION = '0.3.0'
3
3
  end
@@ -0,0 +1,23 @@
1
+ module ActiveDecorator
2
+ module ViewContext
3
+ class << self
4
+ def current
5
+ Thread.current[:view_context]
6
+ end
7
+
8
+ def current=(view_context)
9
+ Thread.current[:view_context] = view_context
10
+ end
11
+ end
12
+
13
+ module Filter
14
+ extend ActiveSupport::Concern
15
+
16
+ included do
17
+ before_filter do |controller|
18
+ ActiveDecorator::ViewContext.current = controller.view_context
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -1 +1,2 @@
1
1
  <%= @book.link %>
2
+ <%= @book.cover_image %>
@@ -54,6 +54,10 @@ module BookDecorator
54
54
  def link
55
55
  link_to title, 'http://example.com'
56
56
  end
57
+
58
+ def cover_image
59
+ image_tag 'cover.png'
60
+ end
57
61
  end
58
62
 
59
63
  # controllers
@@ -11,5 +11,6 @@ feature 'fallback to helpers' do
11
11
  within 'a' do
12
12
  page.should have_content 'RHG'
13
13
  end
14
+ page.should have_css('img')
14
15
  end
15
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_decorator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-12-21 00:00:00.000000000 Z
12
+ date: 2012-02-26 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &2153458080 !ruby/object:Gem::Requirement
16
+ requirement: &70226630611740 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *2153458080
24
+ version_requirements: *70226630611740
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: rspec-rails
27
- requirement: &2153457640 !ruby/object:Gem::Requirement
27
+ requirement: &70226630609000 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: '0'
33
33
  type: :development
34
34
  prerelease: false
35
- version_requirements: *2153457640
35
+ version_requirements: *70226630609000
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: capybara
38
- requirement: &2153457200 !ruby/object:Gem::Requirement
38
+ requirement: &70226630606920 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *2153457200
46
+ version_requirements: *70226630606920
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: sqlite3
49
- requirement: &2153456780 !ruby/object:Gem::Requirement
49
+ requirement: &70226630605800 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,7 +54,7 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *2153456780
57
+ version_requirements: *70226630605800
58
58
  description: A simple and Rubyish view helper for Rails 3
59
59
  email:
60
60
  - ronnie@dio.jp
@@ -77,6 +77,7 @@ files:
77
77
  - lib/active_decorator/monkey/action_view/partial_renderer.rb
78
78
  - lib/active_decorator/railtie.rb
79
79
  - lib/active_decorator/version.rb
80
+ - lib/active_decorator/view_context.rb
80
81
  - lib/generators/rails/decorator_generator.rb
81
82
  - lib/generators/rails/templates/decorator.rb
82
83
  - lib/generators/rspec/decorator_generator.rb
@@ -105,21 +106,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
105
106
  - - ! '>='
106
107
  - !ruby/object:Gem::Version
107
108
  version: '0'
108
- segments:
109
- - 0
110
- hash: -1770381626412442444
111
109
  required_rubygems_version: !ruby/object:Gem::Requirement
112
110
  none: false
113
111
  requirements:
114
112
  - - ! '>='
115
113
  - !ruby/object:Gem::Version
116
114
  version: '0'
117
- segments:
118
- - 0
119
- hash: -1770381626412442444
120
115
  requirements: []
121
116
  rubyforge_project: active_decorator
122
- rubygems_version: 1.8.10
117
+ rubygems_version: 1.8.17
123
118
  signing_key:
124
119
  specification_version: 3
125
120
  summary: A simple and Rubyish view helper for Rails 3