comfortable_mexican_sofa 1.5.3 → 1.5.4

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,12 +2,13 @@ rvm:
2
2
  - 1.8.7
3
3
  - 1.9.2
4
4
  # - 1.9.3
5
- # - rbx-2.0
5
+ - rbx-2.0
6
6
  - ree
7
7
  # - jruby
8
8
  gemfile:
9
9
  - test/gemfiles/Gemfile.rails-3.0.x
10
10
  - test/gemfiles/Gemfile.rails-3.1.x
11
+ - test/gemfiles/Gemfile.rails-3.1.stable
11
12
  notifications:
12
13
  recipients:
13
14
  - oleg@twg.ca
data/Gemfile CHANGED
@@ -2,7 +2,7 @@ source 'http://rubygems.org'
2
2
 
3
3
  gem 'rails', '>=3.0.0'
4
4
  gem 'active_link_to', '~>1.0.0'
5
- gem 'paperclip', '~>2.4.1'
5
+ gem 'paperclip', '~>2.3.0'
6
6
 
7
7
  group :test do
8
8
  gem 'sqlite3'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.3
1
+ 1.5.4
@@ -23,10 +23,10 @@ class Cms::Page < ActiveRecord::Base
23
23
 
24
24
  # -- Callbacks ------------------------------------------------------------
25
25
  before_validation :assigns_label,
26
- :assign_parent,
27
- :assign_full_path
26
+ :assign_parent
28
27
  before_create :assign_position
29
- before_save :set_cached_content
28
+ before_save :assign_full_path,
29
+ :set_cached_content
30
30
  after_save :sync_child_pages
31
31
 
32
32
  # -- Validations ----------------------------------------------------------
@@ -37,12 +37,10 @@ class Cms::Page < ActiveRecord::Base
37
37
  validates :slug,
38
38
  :presence => true,
39
39
  :format => /^\w[a-z0-9_-]*$/i,
40
+ :uniqueness => { :scope => :parent_id },
40
41
  :unless => lambda{ |p| p.site && (p.site.pages.count == 0 || p.site.pages.root == self) }
41
42
  validates :layout,
42
43
  :presence => true
43
- validates :full_path,
44
- :presence => true,
45
- :uniqueness => { :scope => :site_id }
46
44
  validate :validate_target_page
47
45
 
48
46
  # -- Scopes ---------------------------------------------------------------
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "comfortable_mexican_sofa"
8
- s.version = "1.5.3"
8
+ s.version = "1.5.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Oleg Khabarov", "The Working Group Inc"]
12
- s.date = "2011-09-30"
12
+ s.date = "2011-10-03"
13
13
  s.description = ""
14
14
  s.email = "oleg@theworkinggroup.ca"
15
15
  s.extra_rdoc_files = [
@@ -206,7 +206,6 @@ Gem::Specification.new do |s|
206
206
  "lib/comfortable_mexican_sofa/authentication/dummy_auth.rb",
207
207
  "lib/comfortable_mexican_sofa/authentication/http_auth.rb",
208
208
  "lib/comfortable_mexican_sofa/configuration.rb",
209
- "lib/comfortable_mexican_sofa/controller_methods.rb",
210
209
  "lib/comfortable_mexican_sofa/engine.rb",
211
210
  "lib/comfortable_mexican_sofa/error.rb",
212
211
  "lib/comfortable_mexican_sofa/extensions/acts_as_tree.rb",
@@ -216,6 +215,7 @@ Gem::Specification.new do |s|
216
215
  "lib/comfortable_mexican_sofa/extensions/rails.rb",
217
216
  "lib/comfortable_mexican_sofa/fixtures.rb",
218
217
  "lib/comfortable_mexican_sofa/form_builder.rb",
218
+ "lib/comfortable_mexican_sofa/render_methods.rb",
219
219
  "lib/comfortable_mexican_sofa/tag.rb",
220
220
  "lib/comfortable_mexican_sofa/tags/asset.rb",
221
221
  "lib/comfortable_mexican_sofa/tags/collection.rb",
@@ -254,6 +254,8 @@ Gem::Specification.new do |s|
254
254
  "test/fixtures/files/valid_image.jpg",
255
255
  "test/fixtures/views/_nav_hook.html.erb",
256
256
  "test/fixtures/views/_nav_hook_2.html.erb",
257
+ "test/fixtures/views/render_test/_test.html.erb",
258
+ "test/fixtures/views/render_test/render_layout.html.erb",
257
259
  "test/functional/cms_admin/base_controller_test.rb",
258
260
  "test/functional/cms_admin/categories_controller_test.rb",
259
261
  "test/functional/cms_admin/files_controller_test.rb",
@@ -264,6 +266,7 @@ Gem::Specification.new do |s|
264
266
  "test/functional/cms_admin/snippets_controller_test.rb",
265
267
  "test/functional/cms_content_controller_test.rb",
266
268
  "test/gemfiles/Gemfile.rails-3.0.x",
269
+ "test/gemfiles/Gemfile.rails-3.1.stable",
267
270
  "test/gemfiles/Gemfile.rails-3.1.x",
268
271
  "test/integration/authentication_test.rb",
269
272
  "test/integration/fixtures_test.rb",
@@ -317,16 +320,16 @@ Gem::Specification.new do |s|
317
320
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
318
321
  s.add_runtime_dependency(%q<rails>, [">= 3.0.0"])
319
322
  s.add_runtime_dependency(%q<active_link_to>, ["~> 1.0.0"])
320
- s.add_runtime_dependency(%q<paperclip>, ["~> 2.4.1"])
323
+ s.add_runtime_dependency(%q<paperclip>, ["~> 2.3.0"])
321
324
  else
322
325
  s.add_dependency(%q<rails>, [">= 3.0.0"])
323
326
  s.add_dependency(%q<active_link_to>, ["~> 1.0.0"])
324
- s.add_dependency(%q<paperclip>, ["~> 2.4.1"])
327
+ s.add_dependency(%q<paperclip>, ["~> 2.3.0"])
325
328
  end
326
329
  else
327
330
  s.add_dependency(%q<rails>, [">= 3.0.0"])
328
331
  s.add_dependency(%q<active_link_to>, ["~> 1.0.0"])
329
- s.add_dependency(%q<paperclip>, ["~> 2.4.1"])
332
+ s.add_dependency(%q<paperclip>, ["~> 2.3.0"])
330
333
  end
331
334
  end
332
335
 
@@ -8,7 +8,7 @@ end
8
8
  'comfortable_mexican_sofa/configuration',
9
9
  'comfortable_mexican_sofa/authentication/http_auth',
10
10
  'comfortable_mexican_sofa/authentication/dummy_auth',
11
- 'comfortable_mexican_sofa/controller_methods',
11
+ 'comfortable_mexican_sofa/render_methods',
12
12
  'comfortable_mexican_sofa/view_hooks',
13
13
  'comfortable_mexican_sofa/view_methods',
14
14
  'comfortable_mexican_sofa/form_builder',
@@ -8,4 +8,10 @@ module ComfortableMexicanSofa
8
8
  super "Cannot find CMS page at #{path}"
9
9
  end
10
10
  end
11
+
12
+ class MissingLayout < ComfortableMexicanSofa::Error
13
+ def initialize(slug)
14
+ super "Cannot find CMS layout with slug: #{slug}"
15
+ end
16
+ end
11
17
  end
@@ -0,0 +1,72 @@
1
+ module ComfortableMexicanSofa::RenderMethods
2
+
3
+ def self.included(base)
4
+
5
+ # If application controller doesn't have template associated with it
6
+ # CMS will attempt to find one. This is so you don't have to explicitly
7
+ # call render :cms_page => '/something'
8
+ base.rescue_from 'ActionView::MissingTemplate' do |e|
9
+ begin
10
+ render :cms_page => request.path
11
+ rescue ComfortableMexicanSofa::MissingPage
12
+ raise e
13
+ end
14
+ end
15
+
16
+ # Now you can render cms_page simply by calling:
17
+ # render :cms_page => '/path/to/page'
18
+ # This way application controllers can use CMS content while populating
19
+ # instance variables that can be used in partials (that are included by
20
+ # by the cms page and/or layout)
21
+ #
22
+ # Or how about not worrying about setting up CMS pages and rendering
23
+ # application view using a CMS layout?
24
+ # render :cms_layout => 'layout_slug', :cms_blocks => {
25
+ # :block_label_a => 'content text',
26
+ # :block_label_b => { :template => 'path/to/template' },
27
+ # :block_label_c => { :partial => 'path/to/partial' }
28
+ # }
29
+ # This way you are populating page block content and rendering
30
+ # an instantialized CMS page.
31
+ def render(options = {}, locals = {}, &block)
32
+ if options.is_a?(Hash) && path = options.delete(:cms_page)
33
+ @cms_site = Cms::Site.find_site(request.host.downcase, request.fullpath)
34
+ if @cms_page = @cms_site && @cms_site.pages.find_by_full_path(path)
35
+ @cms_layout = @cms_page.layout
36
+ cms_app_layout = @cms_layout.try(:app_layout)
37
+ options[:layout] ||= cms_app_layout.blank?? nil : cms_app_layout
38
+ options[:inline] = @cms_page.content
39
+ super(options, locals, &block)
40
+ else
41
+ raise ComfortableMexicanSofa::MissingPage.new(path)
42
+ end
43
+
44
+ elsif options.is_a?(Hash) && slug = options.delete(:cms_layout)
45
+ @cms_site = Cms::Site.find_site(request.host.downcase, request.fullpath)
46
+ if @cms_layout = @cms_site && @cms_site.layouts.find_by_slug(slug)
47
+ cms_app_layout = @cms_layout.try(:app_layout)
48
+ cms_page = @cms_site.pages.build(:layout => @cms_layout)
49
+ cms_blocks = options.delete(:cms_blocks) || { :content => render_to_string }
50
+ cms_blocks.each do |block_label, value|
51
+ content = if value.is_a?(Hash)
52
+ render_to_string(value.keys.first.to_sym => value[value.keys.first])
53
+ else
54
+ value.to_s
55
+ end
56
+ cms_page.blocks.build(:label => block_label.to_s, :content => content)
57
+ end
58
+ options[:layout] ||= cms_app_layout.blank?? nil : cms_app_layout
59
+ options[:inline] = cms_page.content(true)
60
+ super(options, locals, &block)
61
+ else
62
+ raise ComfortableMexicanSofa::MissingLayout.new(slug)
63
+ end
64
+
65
+ else
66
+ super(options, locals, &block)
67
+ end
68
+ end
69
+ end
70
+ end
71
+
72
+ ActionController::Base.send :include, ComfortableMexicanSofa::RenderMethods
@@ -0,0 +1 @@
1
+ TestPartial <%= @test_value %>
@@ -0,0 +1 @@
1
+ TestTemplate <%= @test_value %>
@@ -2,7 +2,7 @@ source 'http://rubygems.org'
2
2
 
3
3
  gem 'rails', '~>3.0.10'
4
4
  gem 'active_link_to', '~>1.0.0'
5
- gem 'paperclip', '~>2.4.2'
5
+ gem 'paperclip', '~>2.3.0'
6
6
 
7
7
  group :test do
8
8
  gem 'sqlite3'
@@ -0,0 +1,10 @@
1
+ source 'http://rubygems.org'
2
+
3
+ gem 'rails', :git => 'git://github.com/rails/rails.git', :branch => '3-1-stable'
4
+ gem 'active_link_to', '~>1.0.0'
5
+ gem 'paperclip', '~>2.3.0'
6
+
7
+ group :test do
8
+ gem 'sqlite3'
9
+ gem 'jeweler'
10
+ end
@@ -2,7 +2,7 @@ source 'http://rubygems.org'
2
2
 
3
3
  gem 'rails', '~>3.1.0'
4
4
  gem 'active_link_to', '~>1.0.0'
5
- gem 'paperclip', '~>2.4.2'
5
+ gem 'paperclip', '~>2.3.0'
6
6
 
7
7
  group :test do
8
8
  gem 'sqlite3'
@@ -4,11 +4,14 @@ class RenderCmsTest < ActionDispatch::IntegrationTest
4
4
 
5
5
  def setup
6
6
  Rails.application.routes.draw do
7
- get '/render-implicit' => 'render_test#implicit'
8
- get '/render-explicit' => 'render_test#explicit'
9
- get '/render-text' => 'render_test#render_text'
10
- get '/render-update' => 'render_test#render_update'
7
+ get '/render-basic' => 'render_test#render_basic'
8
+ get '/render-page' => 'render_test#render_page'
9
+ get '/render-layout' => 'render_test#render_layout'
11
10
  end
11
+ cms_layouts(:default).update_attribute(:content, '{{cms:page:content}}')
12
+ cms_pages(:child).update_attribute(:blocks_attributes, [
13
+ { :label => 'content', :content => 'TestBlockContent' }
14
+ ])
12
15
  super
13
16
  end
14
17
 
@@ -17,68 +20,152 @@ class RenderCmsTest < ActionDispatch::IntegrationTest
17
20
  end
18
21
 
19
22
  class ::RenderTestController < ApplicationController
20
- def implicit
21
- render
22
- end
23
- def explicit
24
- render :cms_page => '/render-explicit-page'
23
+ append_view_path(File.expand_path('../fixtures/views', File.dirname(__FILE__)))
24
+
25
+ def render_basic
26
+ case params[:type]
27
+ when 'text'
28
+ render :text => 'TestText'
29
+ when 'update'
30
+ render :update do |page|
31
+ page.alert('rendered text')
32
+ end
33
+ else
34
+ render
35
+ end
25
36
  end
26
- def render_text
27
- render :text => 'rendered text'
37
+
38
+ def render_page
39
+ case params[:type]
40
+ when 'page_implicit'
41
+ render
42
+ when 'page_explicit'
43
+ render :cms_page => '/test-page'
44
+ when 'page_explicit_with_status'
45
+ render :cms_page => '/test-page', :status => 404
46
+ else
47
+ raise 'Invalid or no param[:type] provided'
48
+ end
28
49
  end
29
- def render_update
30
- render :update do |page|
31
- page.alert('rendered text')
50
+
51
+ def render_layout
52
+ @test_value = 'TestValue'
53
+ case params[:type]
54
+ when 'layout_defaults'
55
+ render :cms_layout => 'default'
56
+ when 'layout'
57
+ render :cms_layout => 'default', :cms_blocks => {
58
+ :content => 'TestText',
59
+ :content_b => { :partial => 'render_test/test' },
60
+ :content_c => { :template => 'render_test/render_layout' }
61
+ }
62
+ when 'layout_with_status'
63
+ render :cms_layout => 'default', :status => 404
64
+ when 'layout_invalid'
65
+ render :cms_layout => 'invalid'
66
+ else
67
+ raise 'Invalid or no param[:type] provided'
32
68
  end
33
69
  end
34
70
  end
35
71
 
36
- def test_get_with_no_template
72
+ # -- Basic Render Tests ---------------------------------------------------
73
+ def test_text
74
+ get '/render-basic?type=text'
75
+ assert_response :success
76
+ assert_equal 'TestText', response.body
77
+ end
78
+
79
+ def test_update
80
+ return 'Not supported in >= 3.1' if Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR >= 1
81
+ get '/render-basic?type=update'
82
+ assert_response :success
83
+ end
84
+
85
+ def test_implicit_cms_page_failure
37
86
  assert_exception_raised ActionView::MissingTemplate do
38
- get '/render-implicit'
87
+ get '/render-basic'
39
88
  end
40
89
  end
41
90
 
42
- def test_get_with_implicit_cms_template
91
+ # -- Page Render Test -----------------------------------------------------
92
+ def test_implicit_cms_page
43
93
  page = cms_pages(:child)
44
- page.slug = 'render-implicit'
45
- page.save!
46
- get '/render-implicit'
94
+ page.update_attribute(:slug, 'render-basic')
95
+ get '/render-basic?type=page_implicit'
47
96
  assert_response :success
48
97
  assert assigns(:cms_site)
49
98
  assert assigns(:cms_layout)
50
99
  assert assigns(:cms_page)
100
+ assert_equal page, assigns(:cms_page)
101
+ assert_equal 'TestBlockContent', response.body
51
102
  end
52
103
 
53
- def test_get_with_explicit_cms_template
104
+ def test_explicit_cms_page
54
105
  page = cms_pages(:child)
55
- page.slug = 'render-explicit-page'
56
- page.save!
57
- get '/render-explicit'
106
+ page.update_attribute(:slug, 'test-page')
107
+ get '/render-page?type=page_explicit'
58
108
  assert_response :success
59
109
  assert assigns(:cms_site)
60
110
  assert assigns(:cms_layout)
61
111
  assert assigns(:cms_page)
112
+ assert_equal page, assigns(:cms_page)
113
+ assert_equal 'TestBlockContent', response.body
114
+ end
115
+
116
+ def test_explicit_cms_page_with_status
117
+ page = cms_pages(:child)
118
+ page.update_attribute(:slug, 'test-page')
119
+ get '/render-page?type=page_explicit_with_status'
120
+ assert_response 404
121
+ assert assigns(:cms_site)
122
+ assert assigns(:cms_layout)
123
+ assert assigns(:cms_page)
124
+ assert_equal page, assigns(:cms_page)
125
+ assert_equal 'TestBlockContent', response.body
62
126
  end
63
127
 
64
- def test_get_with_explicit_cms_template_failure
128
+ def test_explicit_cms_page_failure
65
129
  page = cms_pages(:child)
66
- page.slug = 'render-explicit-404'
67
- page.save!
130
+ page.update_attribute(:slug, 'invalid')
68
131
  assert_exception_raised ComfortableMexicanSofa::MissingPage do
69
- get '/render-explicit'
132
+ get '/render-page?type=page_explicit'
70
133
  end
71
134
  end
72
135
 
73
- def test_get_render_text
74
- get '/render-text'
136
+ # -- Layout Render Tests --------------------------------------------------
137
+ def test_cms_layout_defaults
138
+ get '/render-layout?type=layout_defaults'
75
139
  assert_response :success
140
+ assert_equal 'TestTemplate TestValue', response.body
141
+ assert assigns(:cms_site)
142
+ assert assigns(:cms_layout)
143
+ assert_equal cms_layouts(:default), assigns(:cms_layout)
76
144
  end
77
145
 
78
- def test_get_render_update
79
- return 'Not supported >= 3.1' if Rails::VERSION::MAJOR == 3 && Rails::VERSION::MINOR >= 1
80
- get '/render-update'
146
+ def test_cms_layout
147
+ cms_layouts(:default).update_attribute(:content, '{{cms:page:content}} {{cms:page:content_b}} {{cms:page:content_c}}')
148
+ get '/render-layout?type=layout'
81
149
  assert_response :success
150
+ assert_equal 'TestText TestPartial TestValue TestTemplate TestValue', response.body
151
+ assert assigns(:cms_site)
152
+ assert assigns(:cms_layout)
153
+ assert_equal cms_layouts(:default), assigns(:cms_layout)
154
+ end
155
+
156
+ def test_cms_layout_with_status
157
+ get '/render-layout?type=layout_with_status'
158
+ assert_response 404
159
+ assert_equal 'TestTemplate TestValue', response.body
160
+ assert assigns(:cms_site)
161
+ assert assigns(:cms_layout)
162
+ assert_equal cms_layouts(:default), assigns(:cms_layout)
163
+ end
164
+
165
+ def test_cms_layout_failure
166
+ assert_exception_raised ComfortableMexicanSofa::MissingLayout do
167
+ get '/render-layout?type=layout_invalid'
168
+ end
82
169
  end
83
170
 
84
171
  end
@@ -1,9 +1,8 @@
1
1
  require File.expand_path('../test_helper', File.dirname(__FILE__))
2
2
 
3
3
  class ViewMethodsTest < ActionView::TestCase
4
- include ComfortableMexicanSofa::ViewMethods
5
4
 
6
- class HelpersTestController < ActionController::Base
5
+ class ::HelpersTestController < ActionController::Base
7
6
  helper { def hello; 'hello' end }
8
7
  def test_cms_snippet_content
9
8
  render :inline => '<%= cms_snippet_content(:default) %>'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comfortable_mexican_sofa
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.3
4
+ version: 1.5.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -10,11 +10,11 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2011-09-30 00:00:00.000000000Z
13
+ date: 2011-10-03 00:00:00.000000000Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &70194576315620 !ruby/object:Gem::Requirement
17
+ requirement: &70223424480860 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ! '>='
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.0.0
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *70194576315620
25
+ version_requirements: *70223424480860
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: active_link_to
28
- requirement: &70194576314720 !ruby/object:Gem::Requirement
28
+ requirement: &70223424480280 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,18 +33,18 @@ dependencies:
33
33
  version: 1.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *70194576314720
36
+ version_requirements: *70223424480280
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: paperclip
39
- requirement: &70194576313600 !ruby/object:Gem::Requirement
39
+ requirement: &70223424479600 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ~>
43
43
  - !ruby/object:Gem::Version
44
- version: 2.4.1
44
+ version: 2.3.0
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *70194576313600
47
+ version_requirements: *70223424479600
48
48
  description: ''
49
49
  email: oleg@theworkinggroup.ca
50
50
  executables: []
@@ -242,7 +242,6 @@ files:
242
242
  - lib/comfortable_mexican_sofa/authentication/dummy_auth.rb
243
243
  - lib/comfortable_mexican_sofa/authentication/http_auth.rb
244
244
  - lib/comfortable_mexican_sofa/configuration.rb
245
- - lib/comfortable_mexican_sofa/controller_methods.rb
246
245
  - lib/comfortable_mexican_sofa/engine.rb
247
246
  - lib/comfortable_mexican_sofa/error.rb
248
247
  - lib/comfortable_mexican_sofa/extensions/acts_as_tree.rb
@@ -252,6 +251,7 @@ files:
252
251
  - lib/comfortable_mexican_sofa/extensions/rails.rb
253
252
  - lib/comfortable_mexican_sofa/fixtures.rb
254
253
  - lib/comfortable_mexican_sofa/form_builder.rb
254
+ - lib/comfortable_mexican_sofa/render_methods.rb
255
255
  - lib/comfortable_mexican_sofa/tag.rb
256
256
  - lib/comfortable_mexican_sofa/tags/asset.rb
257
257
  - lib/comfortable_mexican_sofa/tags/collection.rb
@@ -290,6 +290,8 @@ files:
290
290
  - test/fixtures/files/valid_image.jpg
291
291
  - test/fixtures/views/_nav_hook.html.erb
292
292
  - test/fixtures/views/_nav_hook_2.html.erb
293
+ - test/fixtures/views/render_test/_test.html.erb
294
+ - test/fixtures/views/render_test/render_layout.html.erb
293
295
  - test/functional/cms_admin/base_controller_test.rb
294
296
  - test/functional/cms_admin/categories_controller_test.rb
295
297
  - test/functional/cms_admin/files_controller_test.rb
@@ -300,6 +302,7 @@ files:
300
302
  - test/functional/cms_admin/snippets_controller_test.rb
301
303
  - test/functional/cms_content_controller_test.rb
302
304
  - test/gemfiles/Gemfile.rails-3.0.x
305
+ - test/gemfiles/Gemfile.rails-3.1.stable
303
306
  - test/gemfiles/Gemfile.rails-3.1.x
304
307
  - test/integration/authentication_test.rb
305
308
  - test/integration/fixtures_test.rb
@@ -355,7 +358,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
355
358
  version: '0'
356
359
  segments:
357
360
  - 0
358
- hash: -4239594918956687847
361
+ hash: 1060939018448966854
359
362
  required_rubygems_version: !ruby/object:Gem::Requirement
360
363
  none: false
361
364
  requirements:
@@ -1,41 +0,0 @@
1
- module ComfortableMexicanSofa::ControllerMethods
2
-
3
- def self.included(base)
4
-
5
- # If application controller doesn't have template associated with it
6
- # CMS will attempt to find one. This is so you don't have to explicitly
7
- # call render :cms_page => '/something'
8
- base.rescue_from 'ActionView::MissingTemplate' do |e|
9
- begin
10
- render :cms_page => request.path
11
- rescue ComfortableMexicanSofa::MissingPage
12
- raise e
13
- end
14
- end
15
-
16
- # Now you can render cms_page simply by calling:
17
- # render :cms_page => '/path/to/page'
18
- # This way application controllers can use CMS content while populating
19
- # instance variables that can be used in partials (that are included by
20
- # by the cms page and/or layout)
21
- def render(options = {}, locals = {}, &block)
22
- if options.is_a?(Hash) && path = options.delete(:cms_page)
23
- @cms_site = Cms::Site.find_site(request.host.downcase, request.fullpath)
24
- @cms_page = @cms_site && @cms_site.pages.find_by_full_path(path)
25
- if @cms_page
26
- @cms_layout = @cms_page.layout
27
- cms_app_layout = @cms_layout.try(:app_layout)
28
- options[:layout] ||= cms_app_layout.blank?? nil : cms_app_layout
29
- options[:inline] = @cms_page.content
30
- super(options, locals, &block)
31
- else
32
- raise ComfortableMexicanSofa::MissingPage.new(path)
33
- end
34
- else
35
- super(options, locals, &block)
36
- end
37
- end
38
- end
39
- end
40
-
41
- ActionController::Base.send :include, ComfortableMexicanSofa::ControllerMethods