spud_blog 0.9.11 → 1.0.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/app/assets/javascripts/spud/admin/posts.js +1 -1
- data/app/controllers/blog_controller.rb +19 -16
- data/app/controllers/spud/admin/news_posts_controller.rb +6 -3
- data/app/controllers/spud/admin/post_categories_controller.rb +10 -5
- data/app/controllers/spud/admin/post_comments_controller.rb +1 -0
- data/app/controllers/spud/admin/posts_controller.rb +10 -4
- data/app/controllers/spud/blog/sitemaps_controller.rb +0 -2
- data/app/models/spud_post.rb +8 -11
- data/app/models/spud_post_categories_post.rb +3 -4
- data/app/models/spud_post_category.rb +2 -2
- data/app/models/spud_post_comment.rb +2 -2
- data/app/models/spud_post_site.rb +3 -3
- data/app/views/blog/_comment.html.erb +1 -1
- data/app/views/blog/_post.html.erb +9 -0
- data/app/views/blog/index.html.erb +1 -9
- data/app/views/blog/show.html.erb +23 -21
- data/app/views/news/_post.html.erb +9 -0
- data/app/views/news/index.html.erb +1 -9
- data/app/views/news/show.html.erb +14 -12
- data/app/views/spud/admin/posts/_form.html.erb +2 -4
- data/app/views/spud/admin/posts/index.html.erb +1 -1
- data/config/routes.rb +7 -2
- data/lib/spud_blog/configuration.rb +3 -4
- data/lib/spud_blog/version.rb +1 -1
- metadata +82 -91
- data/app/models/spud_post_category_sweeper.rb +0 -41
- data/app/models/spud_post_comment_sweeper.rb +0 -33
- data/app/models/spud_post_sweeper.rb +0 -47
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 77a728504b7102e5895987df422949e3bead587b
|
4
|
+
data.tar.gz: 2f0b881a34f6c85002262f1fefac96c6cab7d4e8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 8bfd01e3fd6a66af57ce7020627196353e4e602c7e8bc0fe2c75a6883aed05407b1067b2587584dbd770c08f0cae5dd97201762b4976f8d7002440fcd0f61914
|
7
|
+
data.tar.gz: f41987a796f9fe647814ca7d5a0cd6df19bdabaee85de4c2f59f3943d516d875644755db82be3b8461864b3e09f3eb5ff810e48cfce3e80a894ba7e9e7a90b4c
|
@@ -8,7 +8,7 @@ spud.admin.posts = new function(){
|
|
8
8
|
var self = this;
|
9
9
|
|
10
10
|
this.edit = function(){
|
11
|
-
|
11
|
+
spud.admin.date_picker.init()
|
12
12
|
|
13
13
|
$('body').on('click', '.spud_post_add_category', self.clickedPostAddCategory);
|
14
14
|
$('body').on('click', '.save_post_category_button', self.submittedPostCategoryForm);
|
@@ -1,25 +1,24 @@
|
|
1
1
|
class BlogController < ApplicationController
|
2
|
-
|
2
|
+
# include ActionController::Caching::Sweeping
|
3
3
|
respond_to :html, :xml, :json, :rss
|
4
4
|
layout Spud::Blog.base_layout
|
5
5
|
|
6
6
|
before_filter :find_post, :only => :show
|
7
7
|
|
8
|
-
caches_action :show, :index,
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
# caches_action :show, :index,
|
9
|
+
# :expires => Spud::Blog.config.action_caching_duration,
|
10
|
+
# :if => Proc.new{ |c|
|
11
|
+
# Spud::Blog.cache_mode == :action && !(c.params[:page] && c.params[:page].to_i > 1) && (SpudPost.where(:is_news => false).future_posts.count == 0)
|
12
|
+
# }
|
13
13
|
|
14
|
-
after_filter :only => [:show, :index] do |c|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
end
|
14
|
+
# after_filter :only => [:show, :index] do |c|
|
15
|
+
# if Spud::Blog.cache_mode == :full_page && !(c.params[:page] && c.params[:page].to_i > 1)
|
16
|
+
# if (SpudPost.where(:is_news => false).future_posts.count == 0)
|
17
|
+
# c.cache_page(nil, nil, false)
|
18
|
+
# end
|
19
|
+
# end
|
20
|
+
# end
|
21
21
|
|
22
|
-
cache_sweeper :spud_post_comment_sweeper, :only => [:create_comment]
|
23
22
|
|
24
23
|
def index
|
25
24
|
page = 1
|
@@ -110,7 +109,7 @@ class BlogController < ApplicationController
|
|
110
109
|
flash[:error] = "Post not found!"
|
111
110
|
redirect_to blog_path and return false
|
112
111
|
end
|
113
|
-
@comment = @post.comments.new(
|
112
|
+
@comment = @post.comments.new(comment_params)
|
114
113
|
@comment.user_agent = request.env["HTTP_USER_AGENT"]
|
115
114
|
@comment.user_ip = request.remote_ip
|
116
115
|
@comment.referrer = request.referrer
|
@@ -122,7 +121,7 @@ class BlogController < ApplicationController
|
|
122
121
|
end
|
123
122
|
end
|
124
123
|
|
125
|
-
|
124
|
+
private
|
126
125
|
|
127
126
|
def find_post
|
128
127
|
@post = SpudPost.find_by_url_name(params[:id])
|
@@ -132,4 +131,8 @@ class BlogController < ApplicationController
|
|
132
131
|
end
|
133
132
|
end
|
134
133
|
|
134
|
+
def comment_params
|
135
|
+
params.require(:spud_post_comment).permit(:author,:content)
|
136
|
+
end
|
137
|
+
|
135
138
|
end
|
@@ -5,7 +5,6 @@ class Spud::Admin::NewsPostsController < Spud::Admin::ApplicationController
|
|
5
5
|
before_filter :find_post, :only => [:show, :edit, :update, :destroy]
|
6
6
|
add_breadcrumb 'News Posts', :spud_admin_news_posts_path
|
7
7
|
belongs_to_spud_app :news_posts
|
8
|
-
cache_sweeper :spud_post_sweeper, :only => [:create, :update, :destroy]
|
9
8
|
|
10
9
|
def index
|
11
10
|
@posts = SpudPost.where(:is_news => true).order('published_at desc').includes(:comments).paginate(:page => params[:page], :per_page => 15)
|
@@ -20,7 +19,7 @@ class Spud::Admin::NewsPostsController < Spud::Admin::ApplicationController
|
|
20
19
|
def update
|
21
20
|
@categories = SpudPostCategory.grouped
|
22
21
|
params[:spud_post][:spud_site_ids] ||= []
|
23
|
-
if @post.update_attributes(
|
22
|
+
if @post.update_attributes(post_params)
|
24
23
|
flash[:notice] = 'News Post was successfully updated.'
|
25
24
|
end
|
26
25
|
respond_with @post, :location => spud_admin_news_posts_path
|
@@ -35,7 +34,7 @@ class Spud::Admin::NewsPostsController < Spud::Admin::ApplicationController
|
|
35
34
|
def create
|
36
35
|
@categories = SpudPostCategory.grouped
|
37
36
|
params[:spud_post][:spud_site_ids] ||= []
|
38
|
-
@post = SpudPost.new(
|
37
|
+
@post = SpudPost.new(post_params)
|
39
38
|
if @post.save
|
40
39
|
flash[:notice] = 'News Post was successfully created.'
|
41
40
|
end
|
@@ -59,4 +58,8 @@ class Spud::Admin::NewsPostsController < Spud::Admin::ApplicationController
|
|
59
58
|
end
|
60
59
|
end
|
61
60
|
|
61
|
+
def post_params
|
62
|
+
params.require(:spud_post).permit(:is_news,:published_at,:title,:content,:spud_user_id,:url_name,:visible,:comments_enabled,:meta_keywords,:meta_description,{:category_ids => []}, {:spud_site_ids => []}, :content_format)
|
63
|
+
end
|
64
|
+
|
62
65
|
end
|
@@ -1,10 +1,13 @@
|
|
1
|
+
require 'actionpack/action_caching'
|
2
|
+
require 'actionpack/page_caching'
|
3
|
+
|
1
4
|
class Spud::Admin::PostCategoriesController < Spud::Admin::ApplicationController
|
2
5
|
|
3
6
|
layout false
|
4
7
|
respond_to :html, :json
|
5
8
|
|
6
9
|
before_filter :find_category, :only => [:show, :edit, :update, :destroy]
|
7
|
-
cache_sweeper :spud_post_category_sweeper, :only => [:create, :update, :destroy]
|
10
|
+
# cache_sweeper :spud_post_category_sweeper, :only => [:create, :update, :destroy]
|
8
11
|
|
9
12
|
def index
|
10
13
|
@post_categories = SpudPostCategory.grouped
|
@@ -16,7 +19,7 @@ class Spud::Admin::PostCategoriesController < Spud::Admin::ApplicationController
|
|
16
19
|
end
|
17
20
|
|
18
21
|
def update
|
19
|
-
if @post_category.update_attributes(
|
22
|
+
if @post_category.update_attributes(category_params)
|
20
23
|
flash[:notice] = 'Post Category was successfully updated'
|
21
24
|
respond_with @post_category, :location => spud_admin_post_categories_path
|
22
25
|
else
|
@@ -30,7 +33,7 @@ class Spud::Admin::PostCategoriesController < Spud::Admin::ApplicationController
|
|
30
33
|
end
|
31
34
|
|
32
35
|
def create
|
33
|
-
@post_category = SpudPostCategory.new(
|
36
|
+
@post_category = SpudPostCategory.new(category_params)
|
34
37
|
if @post_category.save
|
35
38
|
flash[:notice] = 'Post Category was successfully created'
|
36
39
|
respond_with @post_category, :location => spud_admin_post_categories_path
|
@@ -49,11 +52,13 @@ class Spud::Admin::PostCategoriesController < Spud::Admin::ApplicationController
|
|
49
52
|
end
|
50
53
|
end
|
51
54
|
|
52
|
-
|
55
|
+
private
|
53
56
|
|
54
57
|
def find_category
|
55
58
|
@post_category = SpudPostCategory.find(params[:id])
|
56
59
|
end
|
57
60
|
|
58
|
-
|
61
|
+
def category_params
|
62
|
+
params.require(:spud_post_category).permit(:name, :url_name, :parent_id)
|
63
|
+
end
|
59
64
|
end
|
@@ -1,3 +1,5 @@
|
|
1
|
+
|
2
|
+
|
1
3
|
class Spud::Admin::PostsController < Spud::Admin::ApplicationController
|
2
4
|
|
3
5
|
layout 'spud/admin/detail'
|
@@ -5,7 +7,6 @@ class Spud::Admin::PostsController < Spud::Admin::ApplicationController
|
|
5
7
|
before_filter :find_post, :only => [:show, :edit, :update, :destroy]
|
6
8
|
add_breadcrumb 'Blog Posts', :spud_admin_posts_path
|
7
9
|
belongs_to_spud_app :blog_posts
|
8
|
-
cache_sweeper :spud_post_sweeper, :only => [:create, :update, :destroy]
|
9
10
|
|
10
11
|
def index
|
11
12
|
@posts = SpudPost.where(:is_news => false).order('published_at desc').includes(:visible_comments, :spam_comments, :author).paginate(:page => params[:page], :per_page => 15)
|
@@ -20,7 +21,7 @@ class Spud::Admin::PostsController < Spud::Admin::ApplicationController
|
|
20
21
|
def update
|
21
22
|
@categories = SpudPostCategory.grouped
|
22
23
|
params[:spud_post][:spud_site_ids] ||= []
|
23
|
-
if @post.update_attributes(
|
24
|
+
if @post.update_attributes(post_params)
|
24
25
|
flash[:notice] = 'Post was successfully updated.'
|
25
26
|
end
|
26
27
|
respond_with @post, :location => spud_admin_posts_path
|
@@ -35,7 +36,7 @@ class Spud::Admin::PostsController < Spud::Admin::ApplicationController
|
|
35
36
|
def create
|
36
37
|
@categories = SpudPostCategory.grouped
|
37
38
|
params[:spud_post][:spud_site_ids] ||= []
|
38
|
-
@post = SpudPost.new(
|
39
|
+
@post = SpudPost.new(post_params)
|
39
40
|
if @post.save
|
40
41
|
flash[:notice] = 'Post was successfully created.'
|
41
42
|
end
|
@@ -49,7 +50,7 @@ class Spud::Admin::PostsController < Spud::Admin::ApplicationController
|
|
49
50
|
respond_with @post, :location => spud_admin_posts_path
|
50
51
|
end
|
51
52
|
|
52
|
-
|
53
|
+
private
|
53
54
|
|
54
55
|
def find_post
|
55
56
|
@post = SpudPost.find(params[:id])
|
@@ -59,4 +60,9 @@ class Spud::Admin::PostsController < Spud::Admin::ApplicationController
|
|
59
60
|
end
|
60
61
|
end
|
61
62
|
|
63
|
+
|
64
|
+
def post_params
|
65
|
+
params.require(:spud_post).permit(:is_news,:published_at,:title,:content,:spud_user_id,:url_name,:visible,:comments_enabled,:meta_keywords,:meta_description,{:category_ids => []}, {:spud_site_ids => []}, :content_format)
|
66
|
+
end
|
67
|
+
|
62
68
|
end
|
@@ -1,7 +1,5 @@
|
|
1
1
|
class Spud::Blog::SitemapsController < Spud::ApplicationController
|
2
2
|
respond_to :xml
|
3
|
-
caches_action :show, :expires_in => 1.day, :if => Proc.new{ |c| Spud::Blog.cache_mode == :action }
|
4
|
-
caches_page :show, :if => Proc.new{ |c| Spud::Blog.cache_mode == :full_page }
|
5
3
|
def show
|
6
4
|
@posts = SpudPost.publicly.all
|
7
5
|
respond_with @pages
|
data/app/models/spud_post.rb
CHANGED
@@ -7,13 +7,13 @@ class SpudPost < ActiveRecord::Base
|
|
7
7
|
:foreign_key => 'spud_post_id'
|
8
8
|
belongs_to :author, :class_name => 'SpudUser', :foreign_key => 'spud_user_id'
|
9
9
|
has_many :comments, :class_name => 'SpudPostComment'
|
10
|
-
has_many :visible_comments,
|
11
|
-
has_many :spam_comments,
|
10
|
+
has_many :visible_comments, -> { where spam: [nil,false]}, :class_name => 'SpudPostComment'
|
11
|
+
has_many :spam_comments, -> { where spam: true }, :class_name => "SpudPostComment"
|
12
12
|
has_many :spud_permalinks,:as => :attachment
|
13
13
|
has_many :spud_post_sites, :dependent => :destroy
|
14
14
|
|
15
|
-
scope :publicly, where('visible = true AND published_at <= ?', Time.now.utc).order('published_at desc')
|
16
|
-
scope :future_posts, where('visible = true AND published_at > ?', Time.now.utc)
|
15
|
+
scope :publicly, -> { where('visible = true AND published_at <= ?', Time.now.utc).order('published_at desc') }
|
16
|
+
scope :future_posts, -> { where('visible = true AND published_at > ?', Time.now.utc) }
|
17
17
|
validates_presence_of :title, :content, :published_at, :spud_user_id, :url_name
|
18
18
|
validates_uniqueness_of :url_name
|
19
19
|
before_validation :set_url_name
|
@@ -21,7 +21,6 @@ class SpudPost < ActiveRecord::Base
|
|
21
21
|
|
22
22
|
after_save :set_spud_site_ids
|
23
23
|
|
24
|
-
attr_accessible :is_news,:published_at,:title,:content,:spud_user_id,:url_name,:visible,:comments_enabled,:meta_keywords,:meta_description,:category_ids, :spud_site_ids, :content_format
|
25
24
|
attr_accessor :spud_site_ids
|
26
25
|
|
27
26
|
def self.for_spud_site(spud_site_id)
|
@@ -101,12 +100,10 @@ class SpudPost < ActiveRecord::Base
|
|
101
100
|
end
|
102
101
|
|
103
102
|
def postprocess_content
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
redcarpet = Redcarpet::Markdown.new(renderer, extensions)
|
109
|
-
self.content_processed = redcarpet.render self.content
|
103
|
+
rendererClass = Spud::Core.renderer(self.content_format)
|
104
|
+
if rendererClass
|
105
|
+
renderer = rendererClass.new()
|
106
|
+
self.content_processed = renderer.render self.content
|
110
107
|
else
|
111
108
|
self.content_processed = content
|
112
109
|
end
|
@@ -1,7 +1,8 @@
|
|
1
1
|
class SpudPostCategory < ActiveRecord::Base
|
2
2
|
spud_searchable
|
3
3
|
acts_as_nested_set
|
4
|
-
|
4
|
+
has_many :spud_post_categories_posts
|
5
|
+
# has_many :posts, :class_name => "SpudPost", :through => :spud_post_categories_posts
|
5
6
|
has_and_belongs_to_many :posts,
|
6
7
|
:class_name => 'SpudPost',
|
7
8
|
:join_table => 'spud_post_categories_posts',
|
@@ -13,7 +14,6 @@ class SpudPostCategory < ActiveRecord::Base
|
|
13
14
|
|
14
15
|
before_destroy :update_child_categories
|
15
16
|
|
16
|
-
attr_accessible :name, :url_name, :parent_id
|
17
17
|
|
18
18
|
# tell awesome_nested_set not to destroy descendants
|
19
19
|
def skip_before_destroy
|
@@ -6,9 +6,9 @@ class SpudPostComment < ActiveRecord::Base
|
|
6
6
|
|
7
7
|
|
8
8
|
validates_presence_of :author, :content
|
9
|
-
belongs_to :post, :class_name => 'SpudPost', :foreign_key => 'spud_post_id', :counter_cache => :comments_count
|
9
|
+
belongs_to :post, :class_name => 'SpudPost', :foreign_key => 'spud_post_id', :counter_cache => :comments_count, :touch => true
|
10
10
|
|
11
|
-
attr_accessible :author,:content,:spud_post_id,:referrer,:spam,:user_agent,:user_ip,:permalink
|
11
|
+
# attr_accessible :author,:content,:spud_post_id,:referrer,:spam,:user_agent,:user_ip,:permalink
|
12
12
|
|
13
13
|
|
14
14
|
def rakismet_check_for_spam
|
@@ -1,9 +1,9 @@
|
|
1
1
|
class SpudPostSite < ActiveRecord::Base
|
2
|
-
attr_accessible :spud_post_id, :spud_site_id
|
3
|
-
belongs_to :spud_post
|
2
|
+
# attr_accessible :spud_post_id, :spud_site_id
|
3
|
+
belongs_to :spud_post, :touch => :true
|
4
4
|
|
5
5
|
def spud_site
|
6
6
|
return Spud::Core.site_config_for_id(spud_site_id)
|
7
7
|
end
|
8
|
-
|
8
|
+
|
9
9
|
end
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% cache ["blog/index",post] do%>
|
2
|
+
<div class="spud_blog_post">
|
3
|
+
<h3><%= link_to post.title, blog_post_path(post.url_name) %></h3>
|
4
|
+
<h4>Posted by <%= post.author.full_name %> on <%= post.display_date %></h4>
|
5
|
+
<div class="spud_blog_post_content">
|
6
|
+
<%= truncate_html post.content_processed.html_safe, :length => 250 %>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
<%end%>
|
@@ -18,15 +18,7 @@
|
|
18
18
|
|
19
19
|
<div id="spud_blog_posts">
|
20
20
|
<% if @posts.any? %>
|
21
|
-
|
22
|
-
<div class="spud_blog_post">
|
23
|
-
<h3><%= link_to post.title, blog_post_path(post.url_name) %></h3>
|
24
|
-
<h4>Posted by <%= post.author.full_name %> on <%= post.display_date %></h4>
|
25
|
-
<div class="spud_blog_post_content">
|
26
|
-
<%= truncate_html post.content_processed.html_safe, :length => 250 %>
|
27
|
-
</div>
|
28
|
-
</div>
|
29
|
-
<% end %>
|
21
|
+
<%= render :partial => "post", :collection => @posts %>
|
30
22
|
<% else %>
|
31
23
|
<p>No posts were found in this category</p>
|
32
24
|
<% end %>
|
@@ -12,26 +12,28 @@
|
|
12
12
|
<% end %>
|
13
13
|
<% end %>
|
14
14
|
|
15
|
-
|
16
|
-
<
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
15
|
+
<%cache ['blog/show', @post] do%>
|
16
|
+
<div class="spud_blog_post">
|
17
|
+
<h3><%= @post.title %></h3>
|
18
|
+
<h4>Posted by <%= @post.author.full_name %> on <%= @post.display_date %></h4>
|
19
|
+
<% if @post.categories.any? %>
|
20
|
+
<p id="spud_blog_post_categories">
|
21
|
+
Filed under
|
22
|
+
<%= raw(@post.categories.collect{ |c| link_to c.name, blog_category_path(c.url_name) }.join(', ')) %>
|
23
|
+
</p>
|
24
|
+
<% end %>
|
25
|
+
<div id="spud_blog_post_content">
|
26
|
+
<%= raw @post.content_processed %>
|
27
|
+
</div>
|
26
28
|
</div>
|
27
|
-
</div>
|
28
29
|
|
29
|
-
<% if @post.comments_enabled %>
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
<% end %>
|
30
|
+
<% if @post.comments_enabled %>
|
31
|
+
<div class="spud_blog_post_comment">
|
32
|
+
<h5>Post a Comment:</h5>
|
33
|
+
<%= render 'comment_form' %>
|
34
|
+
</div>
|
35
|
+
<ul id="spud_blog_post_comments">
|
36
|
+
<%= render :partial => 'comment', :collection => @post.visible_comments %>
|
37
|
+
</ul>
|
38
|
+
<% end %>
|
39
|
+
<%end%>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% cache ["news/index",post] do%>
|
2
|
+
<div class="spud_news_post">
|
3
|
+
<h3><%= link_to post.title, news_post_path(post.url_name) %></h3>
|
4
|
+
<h4>Posted by <%= post.author.full_name %> on <%= post.display_date %></h4>
|
5
|
+
<div class="spud_news_post_content">
|
6
|
+
<%= truncate_html post.content_processed.html_safe, :length => 250 %>
|
7
|
+
</div>
|
8
|
+
</div>
|
9
|
+
<%end%>
|
@@ -18,15 +18,7 @@
|
|
18
18
|
|
19
19
|
<div id="spud_news_posts">
|
20
20
|
<% if @posts.any? %>
|
21
|
-
|
22
|
-
<div class="spud_news_post">
|
23
|
-
<h3><%= link_to post.title, news_post_path(post.url_name) %></h3>
|
24
|
-
<h4>Posted by <%= post.author.full_name %> on <%= post.display_date %></h4>
|
25
|
-
<div class="spud_news_post_content">
|
26
|
-
<%= truncate_html post.content_processed.html_safe, :length => 250 %>
|
27
|
-
</div>
|
28
|
-
</div>
|
29
|
-
<% end %>
|
21
|
+
<%= render :partial => "post", :collection => @posts %>
|
30
22
|
<% else %>
|
31
23
|
<p>No posts were found in this category</p>
|
32
24
|
<% end %>
|
@@ -12,16 +12,18 @@
|
|
12
12
|
<% end %>
|
13
13
|
<% end %>
|
14
14
|
|
15
|
-
|
16
|
-
<
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
15
|
+
<%cache ['news/show', @post] do%>
|
16
|
+
<div class="spud_news_post">
|
17
|
+
<h3><%= @post.title %></h3>
|
18
|
+
<h4>Posted by <%= @post.author.full_name %> on <%= @post.display_date %></h4>
|
19
|
+
<% if @post.categories.any? %>
|
20
|
+
<p id="spud_news_post_categories">
|
21
|
+
Filed under
|
22
|
+
<%= raw(@post.categories.collect{ |c| link_to c.name, news_category_path(c.url_name) }.join(', ')) %>
|
23
|
+
</p>
|
24
|
+
<% end %>
|
25
|
+
<div id="spud_news_post_content">
|
26
|
+
<%= raw @post.content_processed %>
|
27
|
+
</div>
|
26
28
|
</div>
|
27
|
-
|
29
|
+
<%end%>
|
@@ -6,15 +6,13 @@
|
|
6
6
|
<%= f.text_field :title, :class => "full-width",:placeholder=>"Enter title here" %>
|
7
7
|
</div>
|
8
8
|
</fieldset>
|
9
|
-
<%if Spud::Blog.config.enable_markdown%>
|
10
9
|
<div class="control-group">
|
11
10
|
<div class="controls">
|
12
|
-
<%=f.select :content_format,[[
|
11
|
+
<%=f.select :content_format,Spud::Core.renderers.collect { |k,v| [v[:description] || k, k]}, {:include_blank => false}, :class => "pull-right", "data-formatter" => "spud_post_content"%>
|
13
12
|
</div>
|
14
13
|
</div>
|
15
|
-
<%end%>
|
16
14
|
<div style="clear:both;">
|
17
|
-
<%= f.text_area :content,:style => "width:100%;", :class => '
|
15
|
+
<%= f.text_area :content,:style => "width:100%;", :class => 'spud-formatted-editor full-width', "data-format" => f.object.content_format %>
|
18
16
|
</div>
|
19
17
|
|
20
18
|
<% if Spud::Blog.config.has_custom_fields %>
|
@@ -34,7 +34,7 @@
|
|
34
34
|
Spam: <%=link_to post.spam_comments.count, spud_admin_post_post_comments_path(:post_id => post.id) %>
|
35
35
|
</td>
|
36
36
|
<td align="right">
|
37
|
-
<%= link_to 'Delete', spud_admin_post_path(post), :method => :delete, :confirm => 'Are you sure you want to delete this post?', :class => 'btn btn-danger' %>
|
37
|
+
<%= link_to 'Delete', spud_admin_post_path(post), :method => :delete, :data => {:confirm => 'Are you sure you want to delete this post?'}, :class => 'btn btn-danger' %>
|
38
38
|
</td>
|
39
39
|
</tr>
|
40
40
|
<%end%>
|
data/config/routes.rb
CHANGED
@@ -20,7 +20,7 @@ Rails.application.routes.draw do
|
|
20
20
|
end
|
21
21
|
|
22
22
|
if Spud::Blog.config.blog_enabled
|
23
|
-
scope Spud::Blog.config.blog_path do
|
23
|
+
scope (Spud::Blog.config.blog_path == '/' ? 'blog' : Spud::Blog.config.blog_path) do
|
24
24
|
|
25
25
|
# Blog Post Categories
|
26
26
|
get 'category/:category_url_name(/page/:page)',
|
@@ -57,7 +57,7 @@ Rails.application.routes.draw do
|
|
57
57
|
end
|
58
58
|
|
59
59
|
if Spud::Blog.config.news_enabled
|
60
|
-
scope Spud::Blog.config.news_path do
|
60
|
+
scope (Spud::Blog.config.news_path == '/' ? 'news' : Spud::Blog.config.news_path) do
|
61
61
|
|
62
62
|
# News Post Categories
|
63
63
|
get 'category/:category_url_name(/page/:page)',
|
@@ -91,4 +91,9 @@ Rails.application.routes.draw do
|
|
91
91
|
end
|
92
92
|
end
|
93
93
|
|
94
|
+
if Spud::Blog.config.blog_path == '/'
|
95
|
+
root 'blog#index'
|
96
|
+
elsif Spud::Blog.config.news_path == '/'
|
97
|
+
root 'news#index'
|
98
|
+
end
|
94
99
|
end
|
@@ -5,8 +5,8 @@ module Spud
|
|
5
5
|
:base_layout, :news_layout, :blog_enabled,
|
6
6
|
:news_enabled, :posts_per_page, :blog_path,
|
7
7
|
:news_path, :enable_sitemap, :has_custom_fields,
|
8
|
-
:
|
9
|
-
:enable_rakismet
|
8
|
+
:action_caching_duration,
|
9
|
+
:enable_rakismet
|
10
10
|
)
|
11
11
|
self.base_layout = 'application'
|
12
12
|
self.news_layout = nil
|
@@ -17,9 +17,8 @@ module Spud
|
|
17
17
|
self.news_path = 'news'
|
18
18
|
self.enable_sitemap = true
|
19
19
|
self.has_custom_fields = false
|
20
|
-
self.cache_mode = nil #options :full_page, :action
|
20
|
+
# self.cache_mode = nil #options :full_page, :action #deprecated
|
21
21
|
self.action_caching_duration = 3600
|
22
22
|
self.enable_rakismet = false
|
23
|
-
self.enable_markdown = false
|
24
23
|
end
|
25
24
|
end
|
data/lib/spud_blog/version.rb
CHANGED
metadata
CHANGED
@@ -1,164 +1,186 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spud_blog
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0.rc1
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Greg Woods
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-01-05 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version:
|
19
|
+
version: 4.0.0
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version:
|
26
|
+
version: 4.0.0
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: spud_core
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - ~>
|
36
32
|
- !ruby/object:Gem::Version
|
37
|
-
version: 0.
|
33
|
+
version: 1.0.0.rc1
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - ~>
|
44
39
|
- !ruby/object:Gem::Version
|
45
|
-
version: 0.
|
40
|
+
version: 1.0.0.rc1
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: spud_permalinks
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
45
|
- - ~>
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: 0.
|
47
|
+
version: 1.0.0.rc1
|
54
48
|
type: :runtime
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
52
|
- - ~>
|
60
53
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.
|
54
|
+
version: 1.0.0.rc1
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: truncate_html
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :runtime
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: awesome_nested_set
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :runtime
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: redcarpet
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - '>='
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: actionpack-page_caching
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '>='
|
100
102
|
- !ruby/object:Gem::Version
|
101
103
|
version: '0'
|
102
104
|
type: :runtime
|
103
105
|
prerelease: false
|
104
106
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
107
|
requirements:
|
107
|
-
- -
|
108
|
+
- - '>='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: actionpack-action_caching
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '>='
|
108
123
|
- !ruby/object:Gem::Version
|
109
124
|
version: '0'
|
110
125
|
- !ruby/object:Gem::Dependency
|
111
126
|
name: mysql2
|
112
127
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
128
|
requirements:
|
115
129
|
- - '='
|
116
130
|
- !ruby/object:Gem::Version
|
117
|
-
version: 0.3.
|
131
|
+
version: 0.3.14
|
118
132
|
type: :development
|
119
133
|
prerelease: false
|
120
134
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
135
|
requirements:
|
123
136
|
- - '='
|
124
137
|
- !ruby/object:Gem::Version
|
125
|
-
version: 0.3.
|
138
|
+
version: 0.3.14
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: simplecov
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ~>
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 0.6.4
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - ~>
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 0.6.4
|
126
153
|
- !ruby/object:Gem::Dependency
|
127
154
|
name: rspec
|
128
155
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
156
|
requirements:
|
131
157
|
- - '='
|
132
158
|
- !ruby/object:Gem::Version
|
133
|
-
version: 2.
|
159
|
+
version: 2.14.0
|
134
160
|
type: :development
|
135
161
|
prerelease: false
|
136
162
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
163
|
requirements:
|
139
164
|
- - '='
|
140
165
|
- !ruby/object:Gem::Version
|
141
|
-
version: 2.
|
166
|
+
version: 2.14.0
|
142
167
|
- !ruby/object:Gem::Dependency
|
143
168
|
name: rspec-rails
|
144
169
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
170
|
requirements:
|
147
171
|
- - '='
|
148
172
|
- !ruby/object:Gem::Version
|
149
|
-
version: 2.
|
173
|
+
version: 2.14.0
|
150
174
|
type: :development
|
151
175
|
prerelease: false
|
152
176
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
177
|
requirements:
|
155
178
|
- - '='
|
156
179
|
- !ruby/object:Gem::Version
|
157
|
-
version: 2.
|
180
|
+
version: 2.14.0
|
158
181
|
- !ruby/object:Gem::Dependency
|
159
182
|
name: shoulda
|
160
183
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
184
|
requirements:
|
163
185
|
- - ~>
|
164
186
|
- !ruby/object:Gem::Version
|
@@ -166,7 +188,6 @@ dependencies:
|
|
166
188
|
type: :development
|
167
189
|
prerelease: false
|
168
190
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
191
|
requirements:
|
171
192
|
- - ~>
|
172
193
|
- !ruby/object:Gem::Version
|
@@ -174,67 +195,45 @@ dependencies:
|
|
174
195
|
- !ruby/object:Gem::Dependency
|
175
196
|
name: factory_girl
|
176
197
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
198
|
requirements:
|
179
|
-
- -
|
199
|
+
- - ~>
|
180
200
|
- !ruby/object:Gem::Version
|
181
|
-
version:
|
201
|
+
version: '3.0'
|
182
202
|
type: :development
|
183
203
|
prerelease: false
|
184
204
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
205
|
requirements:
|
187
|
-
- -
|
206
|
+
- - ~>
|
188
207
|
- !ruby/object:Gem::Version
|
189
|
-
version:
|
208
|
+
version: '3.0'
|
190
209
|
- !ruby/object:Gem::Dependency
|
191
|
-
name:
|
210
|
+
name: database_cleaner
|
192
211
|
requirement: !ruby/object:Gem::Requirement
|
193
|
-
none: false
|
194
212
|
requirements:
|
195
213
|
- - '='
|
196
214
|
- !ruby/object:Gem::Version
|
197
|
-
version: 0.
|
215
|
+
version: 1.0.0.RC1
|
198
216
|
type: :development
|
199
217
|
prerelease: false
|
200
218
|
version_requirements: !ruby/object:Gem::Requirement
|
201
|
-
none: false
|
202
219
|
requirements:
|
203
220
|
- - '='
|
204
221
|
- !ruby/object:Gem::Version
|
205
|
-
version: 0.
|
222
|
+
version: 1.0.0.RC1
|
206
223
|
- !ruby/object:Gem::Dependency
|
207
|
-
name:
|
224
|
+
name: mocha
|
208
225
|
requirement: !ruby/object:Gem::Requirement
|
209
|
-
none: false
|
210
226
|
requirements:
|
211
227
|
- - '='
|
212
228
|
- !ruby/object:Gem::Version
|
213
|
-
version: 0.
|
229
|
+
version: 0.14.0
|
214
230
|
type: :development
|
215
231
|
prerelease: false
|
216
232
|
version_requirements: !ruby/object:Gem::Requirement
|
217
|
-
none: false
|
218
233
|
requirements:
|
219
234
|
- - '='
|
220
235
|
- !ruby/object:Gem::Version
|
221
|
-
version: 0.
|
222
|
-
- !ruby/object:Gem::Dependency
|
223
|
-
name: simplecov
|
224
|
-
requirement: !ruby/object:Gem::Requirement
|
225
|
-
none: false
|
226
|
-
requirements:
|
227
|
-
- - ~>
|
228
|
-
- !ruby/object:Gem::Version
|
229
|
-
version: 0.6.4
|
230
|
-
type: :development
|
231
|
-
prerelease: false
|
232
|
-
version_requirements: !ruby/object:Gem::Requirement
|
233
|
-
none: false
|
234
|
-
requirements:
|
235
|
-
- - ~>
|
236
|
-
- !ruby/object:Gem::Version
|
237
|
-
version: 0.6.4
|
236
|
+
version: 0.14.0
|
238
237
|
description: Spud blogging/news and rss engine.
|
239
238
|
email:
|
240
239
|
- greg@westlakedesign.com
|
@@ -270,16 +269,15 @@ files:
|
|
270
269
|
- app/models/spud_post.rb
|
271
270
|
- app/models/spud_post_categories_post.rb
|
272
271
|
- app/models/spud_post_category.rb
|
273
|
-
- app/models/spud_post_category_sweeper.rb
|
274
272
|
- app/models/spud_post_comment.rb
|
275
|
-
- app/models/spud_post_comment_sweeper.rb
|
276
273
|
- app/models/spud_post_site.rb
|
277
|
-
- app/models/spud_post_sweeper.rb
|
278
274
|
- app/views/blog/_comment.html.erb
|
279
275
|
- app/views/blog/_comment_form.html.erb
|
276
|
+
- app/views/blog/_post.html.erb
|
280
277
|
- app/views/blog/index.html.erb
|
281
278
|
- app/views/blog/index.rss.builder
|
282
279
|
- app/views/blog/show.html.erb
|
280
|
+
- app/views/news/_post.html.erb
|
283
281
|
- app/views/news/index.html.erb
|
284
282
|
- app/views/news/index.rss.builder
|
285
283
|
- app/views/news/show.html.erb
|
@@ -327,33 +325,26 @@ files:
|
|
327
325
|
- test/unit/spud_post_site_test.rb
|
328
326
|
homepage: http://github.com/davydotcom/spud_blog
|
329
327
|
licenses: []
|
328
|
+
metadata: {}
|
330
329
|
post_install_message:
|
331
330
|
rdoc_options: []
|
332
331
|
require_paths:
|
333
332
|
- lib
|
334
333
|
required_ruby_version: !ruby/object:Gem::Requirement
|
335
|
-
none: false
|
336
334
|
requirements:
|
337
|
-
- -
|
335
|
+
- - '>='
|
338
336
|
- !ruby/object:Gem::Version
|
339
337
|
version: '0'
|
340
|
-
segments:
|
341
|
-
- 0
|
342
|
-
hash: -3315726289214796166
|
343
338
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
344
|
-
none: false
|
345
339
|
requirements:
|
346
|
-
- -
|
340
|
+
- - '>'
|
347
341
|
- !ruby/object:Gem::Version
|
348
|
-
version:
|
349
|
-
segments:
|
350
|
-
- 0
|
351
|
-
hash: -3315726289214796166
|
342
|
+
version: 1.3.1
|
352
343
|
requirements: []
|
353
344
|
rubyforge_project:
|
354
|
-
rubygems_version:
|
345
|
+
rubygems_version: 2.0.5
|
355
346
|
signing_key:
|
356
|
-
specification_version:
|
347
|
+
specification_version: 4
|
357
348
|
summary: Spud Blog Engine.
|
358
349
|
test_files:
|
359
350
|
- test/fixtures/spud_post_sites.yml
|
@@ -1,41 +0,0 @@
|
|
1
|
-
class SpudPostCategorySweeper < ActionController::Caching::Sweeper
|
2
|
-
|
3
|
-
observe SpudPostCategory
|
4
|
-
|
5
|
-
def after_save(record)
|
6
|
-
expire_cache_for(record)
|
7
|
-
end
|
8
|
-
|
9
|
-
def after_destroy(record)
|
10
|
-
expire_cache_for(record)
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def expire_cache_for(record)
|
16
|
-
if Spud::Blog.config.cache_mode = :action
|
17
|
-
SpudPost.find_each do |p|
|
18
|
-
if p.is_news && Spud::Blog.config.news_enabled
|
19
|
-
expire_action news_post_url(p.url_name)
|
20
|
-
elsif Spud::Blog.config.blog_enabled
|
21
|
-
expire_action blog_post_url(p.url_name)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
expire_action news_url if Spud::Blog.config.news_enabled
|
25
|
-
expire_action blog_url if Spud::Blog.config.blog_enabled
|
26
|
-
expire_action spud_blog_sitemap_url
|
27
|
-
end
|
28
|
-
if Spud::Blog.config.cache_mode = :full_page
|
29
|
-
SpudPost.find_each do |p|
|
30
|
-
if p.is_news && Spud::Blog.config.news_enabled
|
31
|
-
expire_page news_post_path(p.url_name)
|
32
|
-
elsif Spud::Blog.config.blog_enabled
|
33
|
-
expire_page blog_post_path(p.url_name)
|
34
|
-
end
|
35
|
-
end
|
36
|
-
expire_page news_path if Spud::Blog.config.news_enabled
|
37
|
-
expire_page blog_path if Spud::Blog.config.blog_enabled
|
38
|
-
expire_page spud_blog_sitemap_path(:format => :xml)
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
@@ -1,33 +0,0 @@
|
|
1
|
-
class SpudPostCommentSweeper < ActionController::Caching::Sweeper
|
2
|
-
|
3
|
-
observe SpudPostComment
|
4
|
-
|
5
|
-
def after_save(record)
|
6
|
-
expire_cache_for(record)
|
7
|
-
end
|
8
|
-
|
9
|
-
def after_destroy(record)
|
10
|
-
expire_cache_for(record)
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def expire_cache_for(record)
|
16
|
-
unless record.post.nil?
|
17
|
-
if Spud::Blog.config.cache_mode == :action
|
18
|
-
if record.post.is_news
|
19
|
-
expire_action news_post_url(record.post.url_name)
|
20
|
-
else
|
21
|
-
expire_action blog_post_url(record.post.url_name)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
if Spud::Blog.config.cache_mode == :full_page
|
25
|
-
if record.post.is_news
|
26
|
-
expire_page news_post_path(record.post.url_name)
|
27
|
-
else
|
28
|
-
expire_page blog_post_path(record.post.url_name)
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
33
|
-
end
|
@@ -1,47 +0,0 @@
|
|
1
|
-
class SpudPostSweeper < ActionController::Caching::Sweeper
|
2
|
-
|
3
|
-
observe SpudPost
|
4
|
-
|
5
|
-
def after_create(record)
|
6
|
-
expire_cache_for(record)
|
7
|
-
end
|
8
|
-
|
9
|
-
def before_update(record)
|
10
|
-
expire_cache_for(record)
|
11
|
-
end
|
12
|
-
|
13
|
-
def after_destroy(record)
|
14
|
-
expire_cache_for(record)
|
15
|
-
end
|
16
|
-
|
17
|
-
private
|
18
|
-
|
19
|
-
def expire_cache_for(record)
|
20
|
-
if Spud::Blog.config.cache_mode == :action
|
21
|
-
expire_action spud_blog_sitemap_url
|
22
|
-
if !record.is_news && Spud::Blog.config.blog_enabled
|
23
|
-
expire_action blog_url
|
24
|
-
expire_action blog_url(:format => :rss)
|
25
|
-
expire_action blog_post_url(record.url_name)
|
26
|
-
elsif Spud::Blog.config.news_enabled
|
27
|
-
expire_action news_url
|
28
|
-
expire_action news_url(:format => :rss)
|
29
|
-
expire_action news_post_url(record.url_name)
|
30
|
-
end
|
31
|
-
end
|
32
|
-
if Spud::Blog.config.cache_mode == :full_page
|
33
|
-
expire_page spud_blog_sitemap_path(:format => :xml)
|
34
|
-
if record.is_news && Spud::Blog.config.news_enabled
|
35
|
-
expire_page news_path
|
36
|
-
expire_page news_path(:format => :rss)
|
37
|
-
expire_page news_post_path(record.url_name)
|
38
|
-
elsif Spud::Blog.config.blog_enabled
|
39
|
-
expire_page blog_path
|
40
|
-
expire_page blog_path(:format => :rss)
|
41
|
-
expire_page blog_post_path(record.url_name)
|
42
|
-
end
|
43
|
-
end
|
44
|
-
# expire_page spud_sitemap_path(:format => :xml)
|
45
|
-
end
|
46
|
-
|
47
|
-
end
|