cells 3.3.5 → 3.3.6

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile.lock CHANGED
@@ -1,33 +1,61 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cells (3.6.2)
5
+ actionpack (~> 3.0)
6
+ railties (~> 3.0)
7
+
1
8
  GEM
2
9
  remote: http://rubygems.org/
3
10
  specs:
4
- actionmailer (2.3.9)
5
- actionpack (= 2.3.9)
6
- actionpack (2.3.9)
7
- activesupport (= 2.3.9)
8
- rack (~> 1.1.0)
9
- active_helper (0.2.2)
10
- activesupport (>= 2.3.0)
11
- activerecord (2.3.9)
12
- activesupport (= 2.3.9)
13
- activeresource (2.3.9)
14
- activesupport (= 2.3.9)
15
- activesupport (2.3.9)
16
- rack (1.1.0)
17
- rails (2.3.9)
18
- actionmailer (= 2.3.9)
19
- actionpack (= 2.3.9)
20
- activerecord (= 2.3.9)
21
- activeresource (= 2.3.9)
22
- activesupport (= 2.3.9)
23
- rake (>= 0.8.3)
24
- rake (0.8.7)
11
+ abstract (1.0.0)
12
+ actionpack (3.0.8)
13
+ activemodel (= 3.0.8)
14
+ activesupport (= 3.0.8)
15
+ builder (~> 2.1.2)
16
+ erubis (~> 2.6.6)
17
+ i18n (~> 0.5.0)
18
+ rack (~> 1.2.1)
19
+ rack-mount (~> 0.6.14)
20
+ rack-test (~> 0.5.7)
21
+ tzinfo (~> 0.3.23)
22
+ activemodel (3.0.8)
23
+ activesupport (= 3.0.8)
24
+ builder (~> 2.1.2)
25
+ i18n (~> 0.5.0)
26
+ activesupport (3.0.8)
27
+ builder (2.1.2)
28
+ erubis (2.6.6)
29
+ abstract (>= 1.0.0)
30
+ haml (3.1.2)
31
+ i18n (0.5.0)
32
+ rack (1.2.3)
33
+ rack-mount (0.6.14)
34
+ rack (>= 1.0.0)
35
+ rack-test (0.5.7)
36
+ rack (>= 1.0)
37
+ railties (3.0.8)
38
+ actionpack (= 3.0.8)
39
+ activesupport (= 3.0.8)
40
+ rake (>= 0.8.7)
41
+ thor (~> 0.14.4)
42
+ rake (0.9.2)
25
43
  shoulda (2.11.3)
44
+ slim (0.9.4)
45
+ temple (~> 0.3.0)
46
+ tilt (~> 1.2)
47
+ temple (0.3.1)
48
+ thor (0.14.6)
49
+ tilt (1.3.2)
50
+ tzinfo (0.3.28)
26
51
 
27
52
  PLATFORMS
28
53
  ruby
29
54
 
30
55
  DEPENDENCIES
31
- active_helper
32
- rails (~> 2.3)
56
+ actionpack (~> 3.0)
57
+ cells!
58
+ haml
59
+ railties (~> 3.0)
33
60
  shoulda
61
+ slim
@@ -230,6 +230,11 @@ module Cells
230
230
  end
231
231
  end
232
232
 
233
+ class MissingTemplate < ActionView::ActionViewError
234
+ def initialize(message, possible_paths)
235
+ super(message + " and possible paths #{possible_paths}")
236
+ end
237
+ end
233
238
 
234
239
  class_inheritable_accessor :allow_forgery_protection
235
240
  self.allow_forgery_protection = true
@@ -395,8 +400,9 @@ module Cells
395
400
  ### DISCUSS: moved to Cell::View#find_template in rainhead's fork:
396
401
  def find_family_view_for_state(state, action_view)
397
402
  missing_template_exception = nil
398
-
399
- possible_paths_for_state(state).each do |template_path|
403
+ possible_paths = possible_paths_for_state(state)
404
+
405
+ possible_paths.each do |template_path|
400
406
  # we need to catch MissingTemplate, since we want to try for all possible
401
407
  # family views.
402
408
  begin
@@ -407,7 +413,7 @@ module Cells
407
413
  end
408
414
  end
409
415
 
410
- raise missing_template_exception
416
+ raise MissingTemplate.new(missing_template_exception.message, possible_paths)
411
417
  end
412
418
 
413
419
  # In production mode, the view for a state/template_format is cached.
@@ -121,7 +121,7 @@ module Cells
121
121
  end
122
122
 
123
123
  def read_fragment(key, cache_options = nil) #:nodoc:
124
- returning self.class.cache_store.read(key, cache_options) do |content|
124
+ self.class.cache_store.read(key, cache_options).tap do |content|
125
125
  log "Cell Cache hit: #{key}" unless content.blank?
126
126
  end
127
127
  end
@@ -68,6 +68,7 @@ module Cell
68
68
  @controller.request = @request
69
69
  @controller.response = @response
70
70
  @controller.params = {}
71
+ @controller.send(:initialize_current_url)
71
72
  end
72
73
 
73
74
  # Use this for functional tests of your application cells.
data/lib/cells/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Cells
4
- VERSION = '3.3.5'
4
+ VERSION = '3.3.6'
5
5
  end
data/rails/init.rb CHANGED
@@ -5,7 +5,13 @@ require 'cells'
5
5
  #
6
6
  # * +app/cells+
7
7
  #
8
- ActiveSupport::Dependencies.load_paths << Rails.root.join(*%w[app cells])
8
+ dep = ::ActiveSupport::Dependencies
9
+
10
+ if dep.respond_to?(:autoload_paths)
11
+ dep.autoload_paths << Rails.root.join(*%w[app cells])
12
+ else
13
+ dep.load_paths << Rails.root.join(*%w[app cells])
14
+ end
9
15
 
10
16
  # Rails initialization hook.
11
17
  if defined?(Rails)
@@ -16,15 +22,23 @@ if defined?(Rails)
16
22
  if plugin.engine? && File.exists?(engine_cells_dir)
17
23
  # propagate the view- and code path of this engine-cell:
18
24
  ::Cell::Base.view_paths << engine_cells_dir
19
- ::ActiveSupport::Dependencies.load_paths << engine_cells_dir
20
-
25
+ if dep.respond_to?(:autoload_paths)
26
+ dep.autoload_paths << engine_cells_dir
27
+ else
28
+ dep.load_paths << engine_cells_dir
29
+ end
30
+
21
31
  # if a path is in +load_once_path+ it won't be reloaded between requests.
22
32
  unless config.reload_plugins?
23
- ::ActiveSupport::Dependencies.load_once_paths << engine_cells_dir
33
+ if dep.respond_to?(:autoload_once_paths)
34
+ dep.autoload_once_paths << engine_cells_dir
35
+ else
36
+ dep.load_once_paths << engine_cells_dir
37
+ end
24
38
  end
25
39
  end
26
40
  end
27
41
  end
28
42
  else
29
43
  puts "[cells:] NOTE: Rails environment not available. Running isolated."
30
- end
44
+ end
data/test/cells_test.rb CHANGED
@@ -174,7 +174,7 @@ class CellsTest < ActionController::TestCase
174
174
  cell = MyTestCell.new(@controller)
175
175
  ### TODO: production <-> development/test context.
176
176
 
177
- assert_raises ActionView::MissingTemplate do
177
+ assert_raises Cell::Base::MissingTemplate do
178
178
  c = cell.render_state(:missing_view)
179
179
  end
180
180
  end
@@ -0,0 +1,7 @@
1
+ class Blog::PostCell < Cell::Rails
2
+
3
+ def latest
4
+ render
5
+ end
6
+
7
+ end
data/test/render_test.rb CHANGED
@@ -44,12 +44,15 @@ class RenderTest < ActiveSupport::TestCase
44
44
  end
45
45
 
46
46
  def test_render_with_not_existing_view
47
- assert_raises ActionView::MissingTemplate do
47
+ assert_raises Cell::Base::MissingTemplate do
48
48
  render_cell(:a, :not_existing_view)
49
49
  end
50
- assert_raises ActionView::MissingTemplate do
50
+
51
+ e = assert_raise Cell::Base::MissingTemplate do
51
52
  render_cell(:b, :not_existing_view)
52
53
  end
54
+
55
+ assert_equal "Missing template a/not_existing_view.erb in view path app/cells:app/cells/layouts:/home/nick/projects/cells/test/app/cells:/home/nick/projects/cells/test/app/cells/layouts and possible paths [\"b/not_existing_view\", \"a/not_existing_view\"]", e.message
53
56
  end
54
57
 
55
58
  def test_render_without_arguments_with_locally_existing_view
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cells
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
5
4
  prerelease: false
6
5
  segments:
7
6
  - 3
8
7
  - 3
9
- - 5
10
- version: 3.3.5
8
+ - 6
9
+ version: 3.3.6
11
10
  platform: ruby
12
11
  authors:
13
12
  - Nick Sutterer
@@ -15,10 +14,49 @@ autorequire:
15
14
  bindir: bin
16
15
  cert_chain: []
17
16
 
18
- date: 2010-10-06 00:00:00 +02:00
17
+ date: 2011-06-29 00:00:00 +02:00
19
18
  default_executable:
20
- dependencies: []
21
-
19
+ dependencies:
20
+ - !ruby/object:Gem::Dependency
21
+ name: rails
22
+ requirement: &id001 !ruby/object:Gem::Requirement
23
+ none: false
24
+ requirements:
25
+ - - ~>
26
+ - !ruby/object:Gem::Version
27
+ segments:
28
+ - 2
29
+ - 3
30
+ version: "2.3"
31
+ type: :runtime
32
+ prerelease: false
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: shoulda
36
+ requirement: &id002 !ruby/object:Gem::Requirement
37
+ none: false
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ segments:
42
+ - 0
43
+ version: "0"
44
+ type: :runtime
45
+ prerelease: false
46
+ version_requirements: *id002
47
+ - !ruby/object:Gem::Dependency
48
+ name: active_helper
49
+ requirement: &id003 !ruby/object:Gem::Requirement
50
+ none: false
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ segments:
55
+ - 0
56
+ version: "0"
57
+ type: :runtime
58
+ prerelease: false
59
+ version_requirements: *id003
22
60
  description: Cells are lightweight controllers for Rails and can be rendered in controllers and views, providing an elegant and fast way for encapsulation and component-orientation.
23
61
  email: apotonick@gmail.com
24
62
  executables: []
@@ -50,7 +88,6 @@ files:
50
88
  - lib/cells/rails/action_view.rb
51
89
  - lib/cells/version.rb
52
90
  - rails/init.rb
53
- - rails/tasks/log.rake
54
91
  - rails_generators/cell/USAGE
55
92
  - rails_generators/cell/cell_generator.rb
56
93
  - rails_generators/cell/templates/cell.rb
@@ -61,35 +98,36 @@ files:
61
98
  - rails_generators/cells_install/cells_install_generator.rb
62
99
  - rails_generators/cells_install/templates/initializer.rb
63
100
  - rails_generators/cells_install/templates/tasks.rake
64
- - test/rails_test.rb
65
101
  - test/active_helper_test.rb
66
- - test/capture_helper_test.rb
67
- - test/assertions_helper_test.rb
68
- - test/cell_generator_test.rb
69
- - test/test_helper.rb
70
- - test/support/internal_assertions_helper.rb
71
- - test/bugs_test.rb
72
- - test/render_test.rb
73
- - test/test_case_test.rb
74
- - test/cells_test.rb
75
- - test/helper_test.rb
76
- - test/caching_test.rb
77
- - test/app/controllers/cells_test_controller.rb
78
102
  - test/app/cells/bassist_cell.rb
79
- - test/app/cells/really_module/nested_cell.rb
80
103
  - test/app/cells/cells_test_one_cell.rb
81
104
  - test/app/cells/cells_test_two_cell.rb
105
+ - test/app/cells/really_module/nested_cell.rb
82
106
  - test/app/cells/simple_cell.rb
83
107
  - test/app/cells/test_cell.rb
108
+ - test/app/controllers/cells_test_controller.rb
84
109
  - test/app/helpers/application_helper.rb
85
110
  - test/app/helpers/helper_using_cell_helper.rb
111
+ - test/assertions_helper_test.rb
112
+ - test/bugs_test.rb
113
+ - test/caching_test.rb
114
+ - test/capture_helper_test.rb
115
+ - test/cell_generator_test.rb
116
+ - test/cells_test.rb
117
+ - test/dummy/tmp/app/cells/blog/post_cell.rb
118
+ - test/helper_test.rb
119
+ - test/rails_test.rb
120
+ - test/render_test.rb
121
+ - test/support/internal_assertions_helper.rb
122
+ - test/test_case_test.rb
123
+ - test/test_helper.rb
86
124
  has_rdoc: true
87
125
  homepage: http://cells.rubyforge.org
88
126
  licenses: []
89
127
 
90
128
  post_install_message:
91
- rdoc_options:
92
- - --charset=UTF-8
129
+ rdoc_options: []
130
+
93
131
  require_paths:
94
132
  - lib
95
133
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -97,7 +135,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
97
135
  requirements:
98
136
  - - ">="
99
137
  - !ruby/object:Gem::Version
100
- hash: 3
101
138
  segments:
102
139
  - 0
103
140
  version: "0"
@@ -106,7 +143,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
106
143
  requirements:
107
144
  - - ">="
108
145
  - !ruby/object:Gem::Version
109
- hash: 3
110
146
  segments:
111
147
  - 0
112
148
  version: "0"
@@ -118,25 +154,26 @@ signing_key:
118
154
  specification_version: 3
119
155
  summary: Cells are lightweight controllers for Rails and can be rendered in controllers and views, providing an elegant and fast way for encapsulation and component-orientation.
120
156
  test_files:
121
- - test/rails_test.rb
122
157
  - test/active_helper_test.rb
123
- - test/capture_helper_test.rb
124
- - test/assertions_helper_test.rb
125
- - test/cell_generator_test.rb
126
- - test/test_helper.rb
127
- - test/support/internal_assertions_helper.rb
128
- - test/bugs_test.rb
129
- - test/render_test.rb
130
- - test/test_case_test.rb
131
- - test/cells_test.rb
132
- - test/helper_test.rb
133
- - test/caching_test.rb
134
- - test/app/controllers/cells_test_controller.rb
135
158
  - test/app/cells/bassist_cell.rb
136
- - test/app/cells/really_module/nested_cell.rb
137
159
  - test/app/cells/cells_test_one_cell.rb
138
160
  - test/app/cells/cells_test_two_cell.rb
161
+ - test/app/cells/really_module/nested_cell.rb
139
162
  - test/app/cells/simple_cell.rb
140
163
  - test/app/cells/test_cell.rb
164
+ - test/app/controllers/cells_test_controller.rb
141
165
  - test/app/helpers/application_helper.rb
142
166
  - test/app/helpers/helper_using_cell_helper.rb
167
+ - test/assertions_helper_test.rb
168
+ - test/bugs_test.rb
169
+ - test/caching_test.rb
170
+ - test/capture_helper_test.rb
171
+ - test/cell_generator_test.rb
172
+ - test/cells_test.rb
173
+ - test/dummy/tmp/app/cells/blog/post_cell.rb
174
+ - test/helper_test.rb
175
+ - test/rails_test.rb
176
+ - test/render_test.rb
177
+ - test/support/internal_assertions_helper.rb
178
+ - test/test_case_test.rb
179
+ - test/test_helper.rb
data/rails/tasks/log.rake DELETED
@@ -1,9 +0,0 @@
1
- namespace :log do
2
- desc "Truncates all *.log files in log/ to zero bytes"
3
- task :cleeeeear do
4
- FileList["log/*.log"].each do |log_file|
5
- f = File.open(log_file, "w")
6
- f.close
7
- end
8
- end
9
- end