spud_cms 0.4.0 → 0.4.3

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,5 +1,5 @@
1
1
  class PagesController < ApplicationController
2
- caches_page :show,:expires_in => Spud::Cms.page_cache_expires_in, :if => Proc.new { |c| Spud::Cms.enable_full_page_caching }
2
+ caches_action :show,:layout => false, :if => Proc.new { |c| Spud::Cms.enable_full_page_caching }
3
3
  def show
4
4
  url_name = !params[:id].blank? ? params[:id] : Spud::Cms.root_page_name
5
5
  @page = SpudPage.published_pages.where(:url_name => url_name).includes([:spud_template,:spud_page_partials]).first
@@ -20,6 +20,7 @@ class Spud::Admin::MenuItemsController < Spud::Admin::ApplicationController
20
20
  end
21
21
 
22
22
  def create
23
+ clear_action_cache
23
24
  add_breadcrumb "New", :new_spud_admin_page_path
24
25
  @page_name = "New Menu Item"
25
26
  @menu_item = SpudMenuItem.new(params[:spud_menu_item])
@@ -41,6 +42,8 @@ class Spud::Admin::MenuItemsController < Spud::Admin::ApplicationController
41
42
  end
42
43
  flash[:notice] = "Menu Created successfully!" if @menu_item.save
43
44
 
45
+
46
+
44
47
  respond_with @menu_item,:location => spud_admin_menu_menu_items_url
45
48
  end
46
49
 
@@ -54,6 +57,7 @@ class Spud::Admin::MenuItemsController < Spud::Admin::ApplicationController
54
57
  end
55
58
 
56
59
  def update
60
+ clear_action_cache
57
61
  add_breadcrumb "Edit #{@menu_item.name}", :edit_spud_admin_menu_menu_item_path
58
62
  @page_name = "Edit #{@menu_item.name}"
59
63
  if params[:spud_menu_item][:parent_id].blank?
@@ -70,7 +74,7 @@ class Spud::Admin::MenuItemsController < Spud::Admin::ApplicationController
70
74
  end
71
75
 
72
76
  def destroy
73
-
77
+ clear_action_cache
74
78
  flash[:notice] = "Menu Item removed!" if @menu_item.destroy
75
79
 
76
80
  respond_with @menu_item,:location => spud_admin_menu_menu_items_url
@@ -94,4 +98,18 @@ private
94
98
  end
95
99
  end
96
100
 
101
+ def clear_action_cache
102
+ if(Spud::Cms.enable_full_page_caching == false)
103
+ return
104
+ end
105
+ @pages = SpudPage.published_pages.all
106
+ if !@pages.blank?
107
+ @pages.each do |page|
108
+ expire_action page_url(:id => page.url_name)
109
+ end
110
+ end
111
+ end
112
+
113
+
114
+
97
115
  end
@@ -72,7 +72,7 @@ class Spud::Admin::PagesController < Spud::Admin::ApplicationController
72
72
  end
73
73
 
74
74
  def update
75
- expire_page page_path(:id => @page.url_name)
75
+ expire_action page_url(:id => @page.url_name)
76
76
  if @page.update_attributes(params[:spud_page])
77
77
  flash[:notice] = "Page updated successfully!"
78
78
  redirect_to spud_admin_pages_url() and return
@@ -85,8 +85,7 @@ class Spud::Admin::PagesController < Spud::Admin::ApplicationController
85
85
 
86
86
  def destroy
87
87
  status = 500
88
- expire_page page_path(:id => @page.url_name)
89
-
88
+ expire_action page_url(:id => @page.url_name)
90
89
  if @page.destroy
91
90
  flash[:notice] = "Page removed successfully!"
92
91
  status = 200
@@ -33,6 +33,7 @@ class Spud::Admin::TemplatesController < Spud::Admin::ApplicationController
33
33
  end
34
34
 
35
35
  def update
36
+ clear_action_cache
36
37
  add_breadcrumb "Edit #{@template.name}", :edit_spud_admin_template_path
37
38
  flash[:notice] = "Template updated successfully" if @template.update_attributes(params[:spud_template])
38
39
 
@@ -41,6 +42,7 @@ class Spud::Admin::TemplatesController < Spud::Admin::ApplicationController
41
42
 
42
43
 
43
44
  def destroy
45
+ clear_action_cache
44
46
  flash[:notice] = "Template removed" if @template.destroy
45
47
 
46
48
  respond_with @template, :location => spud_admin_templates_url
@@ -54,4 +56,16 @@ private
54
56
  redirect_to spud_admin_templates_url and return false
55
57
  end
56
58
  end
59
+
60
+ def clear_action_cache
61
+ if(Spud::Cms.enable_full_page_caching == false)
62
+ return
63
+ end
64
+ if !@template.spud_pages.blank?
65
+ @template.spud_pages.each do |page|
66
+ expire_action page_path(:id => page.url_name)
67
+ end
68
+ end
69
+ end
70
+
57
71
  end
@@ -2,7 +2,7 @@ module Spud
2
2
  module Cms
3
3
  include ActiveSupport::Configurable
4
4
 
5
- config_accessor :menus_enabled,:templates_enabled,:root_page_name,:default_page_parts,:yield_body_as_content_block,:default_page_layout,:enable_sitemap,:enable_full_page_caching,:page_cache_expires_in
5
+ config_accessor :menus_enabled,:templates_enabled,:root_page_name,:default_page_parts,:yield_body_as_content_block,:default_page_layout,:enable_sitemap,:enable_full_page_caching
6
6
 
7
7
  self.root_page_name = "home"
8
8
  self.menus_enabled = true
@@ -11,7 +11,6 @@ module Spud
11
11
  self.default_page_parts = ["Body"]
12
12
  self.yield_body_as_content_block = false
13
13
  self.enable_full_page_caching = false
14
- self.page_cache_expires_in = 10.minutes
15
14
  self.enable_sitemap = true
16
15
  end
17
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spud_cms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2012-02-24 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: spud_core
16
- requirement: &70189195378020 !ruby/object:Gem::Requirement
16
+ requirement: &70142195494420 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.6.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70189195378020
24
+ version_requirements: *70142195494420
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: codemirror-rails
27
- requirement: &70189195377540 !ruby/object:Gem::Requirement
27
+ requirement: &70142195510320 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70189195377540
35
+ version_requirements: *70142195510320
36
36
  description:
37
37
  email: destes@redwindsw.com
38
38
  executables: []