tb_blog 1.1.3 → 1.2.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.
Files changed (45) hide show
  1. checksums.yaml +4 -4
  2. data/Readme.md +23 -6
  3. data/app/controllers/admin/post_comments_controller.rb +21 -8
  4. data/app/controllers/admin/posts_controller.rb +17 -10
  5. data/app/controllers/concerns/blog_url_helpers.rb +60 -0
  6. data/app/controllers/posts_controller.rb +140 -0
  7. data/app/helpers/blog_helper.rb +6 -11
  8. data/app/models/spud/spud_post_model.rb +12 -38
  9. data/app/models/spud_blog_config.rb +26 -0
  10. data/app/models/spud_post_category.rb +0 -4
  11. data/app/models/spud_post_comment.rb +15 -0
  12. data/app/views/admin/post_comments/index.html.erb +1 -1
  13. data/app/views/admin/posts/_form.html.erb +9 -11
  14. data/app/views/admin/posts/index.html.erb +2 -2
  15. data/app/views/{blog → posts}/_comment_form.html.erb +1 -1
  16. data/app/views/{blog → posts}/index.html.erb +5 -5
  17. data/app/views/{blog → posts}/index.rss.builder +4 -4
  18. data/app/views/{blog → posts}/show.html.erb +9 -2
  19. data/config/routes.rb +30 -64
  20. data/db/migrate/20140808132950_add_blog_key_to_spud_posts.rb +6 -0
  21. data/db/migrate/20140811152252_add_blog_key_to_spud_post_comments.rb +6 -0
  22. data/lib/generators/spud/blog/blog_generator.rb +33 -0
  23. data/lib/generators/spud/blog/views_generator.rb +2 -3
  24. data/lib/spud_blog/configuration.rb +12 -12
  25. data/lib/spud_blog/engine.rb +37 -26
  26. data/lib/spud_blog/version.rb +1 -1
  27. data/lib/tasks/spud_blog_tasks.rake +14 -0
  28. data/spec/controllers/{blog_controller_spec.rb → posts_controller_spec.rb} +6 -6
  29. data/spec/dummy/db/migrate/20140811161502_add_blog_key_to_spud_posts.tb_blog.rb +7 -0
  30. data/spec/dummy/db/migrate/20140811161503_add_blog_key_to_spud_post_comments.tb_blog.rb +7 -0
  31. data/spec/dummy/db/schema.rb +5 -1
  32. data/spec/factories/spud_post_factories.rb +1 -0
  33. metadata +18 -20
  34. data/app/controllers/admin/news_posts_controller.rb +0 -69
  35. data/app/controllers/blog/sitemaps_controller.rb +0 -10
  36. data/app/controllers/blog_controller.rb +0 -129
  37. data/app/controllers/news_controller.rb +0 -69
  38. data/app/views/admin/news_posts/edit.html.erb +0 -3
  39. data/app/views/admin/news_posts/index.html.erb +0 -42
  40. data/app/views/admin/news_posts/new.html.erb +0 -3
  41. data/app/views/blog/_comment.html.erb +0 -6
  42. data/app/views/blog/sitemaps/show.xml.builder +0 -16
  43. data/app/views/news/index.html.erb +0 -37
  44. data/app/views/news/index.rss.builder +0 -18
  45. data/app/views/news/show.html.erb +0 -31
@@ -1,4 +1,4 @@
1
- <% @page_title = 'Blog' %>
1
+ <% @page_title = @config.name %>
2
2
 
3
3
  <% content_for :head do %>
4
4
  <%= spud_blog_rss_link %>
@@ -6,7 +6,7 @@
6
6
 
7
7
  <% cache(cache_key_for_spud_collection(@posts, :cache_params => [:category_url_name, :archive_date, :page], :for_user => true)) do %>
8
8
  <div id="spud_blog_filters">
9
- <%= form_tag blog_path, :class => 'spud_blog_filter_form' do %>
9
+ <%= form_tag posts_path, :class => 'spud_blog_filter_form' do %>
10
10
  <label>Category:</label>
11
11
  <%= spud_post_category_select %>
12
12
  <label>Month:</label>
@@ -20,7 +20,7 @@
20
20
  <% @posts.includes(:categories, :author).each do |post| %>
21
21
  <% cache(post) do %>
22
22
  <div class="spud_blog_post">
23
- <h3><%= link_to post.title, blog_post_path(post.url_name) %></h3>
23
+ <h3><%= link_to post.title, post_path(post.url_name) %></h3>
24
24
  <h4>Posted by <%= post.author.full_name %> on <%= post.display_date %></h4>
25
25
  <div class="spud_blog_post_content">
26
26
  <%= truncate_html post.content_processed.html_safe, :length => 250 %>
@@ -32,6 +32,6 @@
32
32
  <p>No posts were found in this category</p>
33
33
  <% end %>
34
34
  </div>
35
- <% end %>
36
35
 
37
- <%= will_paginate @posts %>
36
+ <%= will_paginate @posts %>
37
+ <% end %>
@@ -3,15 +3,15 @@ xml.rss :version => "2.0" do
3
3
  xml.channel do
4
4
  xml.title "#{Spud::Core.site_name} Blog Articles"
5
5
  xml.description "Blog articles for #{Spud::Core.site_name}"
6
- xml.link blog_url(:format => :rss)
6
+ xml.link posts_path(:format => :rss)
7
7
 
8
8
  for article in @posts
9
9
  xml.item do
10
10
  xml.title article.title
11
- xml.description strip_tags(article.content_truncated).truncate(250)
11
+ xml.description strip_tags(article.content_processed).truncate(250)
12
12
  xml.pubDate article.created_at.to_s(:rfc822)
13
- xml.link blog_post_url(article.url_name)
14
- xml.guid blog_post_url(article.url_name)
13
+ xml.link post_path(article.url_name)
14
+ xml.guid article.id
15
15
  end
16
16
  end
17
17
  end
@@ -19,7 +19,7 @@
19
19
  <% if @post.categories.any? %>
20
20
  <p id="spud_blog_post_categories">
21
21
  Filed under
22
- <%= raw(@post.categories.collect{ |c| link_to c.name, blog_category_path(c.url_name) }.join(', ')) %>
22
+ <%= raw(@post.categories.collect{ |c| link_to c.name, post_category_path(c.url_name) }.join(', ')) %>
23
23
  </p>
24
24
  <% end %>
25
25
  <div id="spud_blog_post_content">
@@ -34,7 +34,14 @@
34
34
  </div>
35
35
  <% cache(cache_key_for_spud_collection(@post.visible_comments, key:'comments')) do %>
36
36
  <ul id="spud_blog_post_comments">
37
- <%= render :partial => 'comment', :collection => @post.visible_comments %>
37
+ <% @post.visible_comments.each do |comment| %>
38
+ <% cache(comment) do %>
39
+ <li>
40
+ <h6>Posted by: <%= comment.author %></h6>
41
+ <p><%= comment.content %></p>
42
+ </li>
43
+ <% end %>
44
+ <% end %>
38
45
  </ul>
39
46
  <% end %>
40
47
  <% end %>
data/config/routes.rb CHANGED
@@ -1,11 +1,7 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
3
  namespace :admin do
4
- resources :posts do
5
- resources :post_comments, :path => 'comments', :only => :index
6
- end
7
- resources :news_posts
8
- resources :post_comments, :except => [:new, :create, :edit, :update] do
4
+ resources :post_comments, :only => :destroy do
9
5
  member do
10
6
  get 'approve'
11
7
  get 'spam'
@@ -13,80 +9,50 @@ Rails.application.routes.draw do
13
9
  end
14
10
  resources :post_categories
15
11
  end
16
-
17
- namespace :blog do
18
- resource :sitemap, :only => "show"
19
- end
20
12
 
21
- if Spud::Blog.config.blog_enabled
22
- scope Spud::Blog.config.blog_path do
13
+ SpudBlogConfig.each do |config|
14
+ blog_key = config.key
15
+
16
+ namespace :admin do
17
+ resources :posts, :path => blog_key, :blog_key => blog_key do
18
+ get 'comments' => 'post_comments#index', :path => 'comments', :on => :collection
19
+ resources :post_comments, :path => 'comments', :only => :index
20
+ end
21
+ end
22
+
23
+ scope config.path do
23
24
 
24
25
  # Blog Post Categories
25
- get 'category/:category_url_name(/page/:page)',
26
- :controller => 'blog',
27
- :action => 'category',
28
- :as => 'blog_category',
29
- :defaults => {:page => 1}
30
- get 'category/:category_url_name/:archive_date(/page/:page)',
31
- :controller => 'blog',
32
- :action => 'category',
33
- :as => 'blog_category_archive',
26
+ get 'category/:category_url_name(/page/:page)' => 'posts#category',
27
+ :as => "#{blog_key}_category",
28
+ :blog_key => blog_key,
34
29
  :defaults => {:page => 1}
35
30
 
36
31
  # Blog Post Archives
37
- get 'archive/:archive_date(/page/:page)',
38
- :controller => 'blog',
39
- :action => 'archive',
40
- :as => 'blog_archive',
32
+ get 'archive/:archive_date(/page/:page)' => 'posts#archive',
33
+ :as => "#{blog_key}_archive",
34
+ :blog_key => blog_key,
41
35
  :defaults => {:page => 1}
42
36
 
43
- # Category/Archive filtering
44
- post '/', :controller => 'blog', :action => 'filter'
45
-
46
- # Blog Posts
47
- get '/(page/:page)',
48
- :controller => 'blog',
49
- :action => 'index',
50
- :as => 'blog',
51
- :defaults => {:page => 1}
52
- resources :blog_posts, :path => '/', :controller => 'blog', :only => [:show] do
53
- post '/', :on => :member, :controller => 'blog', :action => 'create_comment'
54
- end
55
- end
56
- end
57
-
58
- if Spud::Blog.config.news_enabled
59
- scope Spud::Blog.config.news_path do
60
-
61
- # News Post Categories
62
- get 'category/:category_url_name(/page/:page)',
63
- :controller => 'news',
64
- :action => 'category',
65
- :as => 'news_category',
66
- :defaults => {:page => 1}
37
+ # Blog Post Category + Archive
67
38
  get 'category/:category_url_name/:archive_date(/page/:page)',
68
- :controller => 'news',
39
+ :controller => 'posts',
69
40
  :action => 'category',
70
- :as => 'news_category_archive',
71
- :defaults => {:page => 1}
72
-
73
- # News Post Archives
74
- get 'archive/:archive_date(/page/:page)',
75
- :controller => 'news',
76
- :action => 'archive',
77
- :as => 'news_archive',
41
+ :as => "#{blog_key}_category_archive",
42
+ :blog_key => blog_key,
78
43
  :defaults => {:page => 1}
79
44
 
80
45
  # Category/Archive filtering
81
- post '/', :controller => 'news', :action => 'filter'
46
+ post '/', :controller => 'posts', :action => 'filter', :blog_key => blog_key
82
47
 
83
- # News Posts
84
- get '/(page/:page)',
85
- :controller => 'news',
86
- :action => 'index',
87
- :as => 'news',
48
+ # Blog Posts
49
+ get '/(page/:page)' => 'posts#index',
50
+ :as => "#{blog_key}_posts",
51
+ :blog_key => blog_key,
88
52
  :defaults => {:page => 1}
89
- resources :news_posts, :path => '/', :controller => 'news', :only => [:show]
53
+
54
+ get ':id' => 'posts#show', :as => "#{blog_key}_post", :blog_key => blog_key
55
+ post ':id' => 'posts#create_comment', :blog_key => blog_key
90
56
  end
91
57
  end
92
58
 
@@ -0,0 +1,6 @@
1
+ class AddBlogKeyToSpudPosts < ActiveRecord::Migration
2
+ def change
3
+ add_column :spud_posts, :blog_key, :string
4
+ add_index :spud_posts, :blog_key
5
+ end
6
+ end
@@ -0,0 +1,6 @@
1
+ class AddBlogKeyToSpudPostComments < ActiveRecord::Migration
2
+ def change
3
+ add_column :spud_post_comments, :blog_key, :string
4
+ add_index :spud_post_comments, :blog_key
5
+ end
6
+ end
@@ -0,0 +1,33 @@
1
+ class Spud::Blog::BlogGenerator < ::Rails::Generators::Base
2
+
3
+ argument :blog_name, :type => :string
4
+
5
+ source_root File.join(Spud::Blog::Engine.root, 'app/views/posts')
6
+
7
+ def generate
8
+ @name = blog_name
9
+ @key = blog_name.parameterize.underscore
10
+ @path = ask("What is your blog path?", :default => '/'+@name.parameterize)
11
+ @layout = ask("What layout should your blog use?", :default => 'application')
12
+ environment(blog_config())
13
+ if ask("Do you want to use custom views?", :limited_to => ['y', 'n']) == 'y'
14
+ copy_file 'index.html.erb', Rails.root.join('app/views', @key, 'index.html.erb')
15
+ copy_file 'show.html.erb', Rails.root.join('app/views', @key, 'show.html.erb')
16
+ end
17
+ end
18
+
19
+ private
20
+
21
+ def blog_config
22
+ return <<EOF
23
+
24
+ Spud::Blog.config.blogs << {
25
+ :key => "#{@key}",
26
+ :name => "#{@name}",
27
+ :path => "#{@path}",
28
+ :layout => "#{@layout}"
29
+ }
30
+ EOF
31
+ end
32
+
33
+ end
@@ -2,11 +2,10 @@ require 'rails/generators/migration'
2
2
 
3
3
  class Spud::Blog::ViewsGenerator < ::Rails::Generators::Base
4
4
 
5
- source_root File.expand_path('../../../../../app/views', __FILE__)
5
+ source_root File.join(Spud::Blog::Engine.root, 'app/views')
6
6
 
7
7
  def install
8
8
  if Spud::Blog.config.blog_enabled
9
- copy_file 'blog/_comment.html.erb', 'app/views/blog/_comment.html.erb'
10
9
  copy_file 'blog/_comment_form.html.erb', 'app/views/blog/_comment_form.html.erb'
11
10
  copy_file 'blog/index.html.erb', 'app/views/blog/index.html.erb'
12
11
  copy_file 'blog/show.html.erb', 'app/views/blog/show.html.erb'
@@ -16,4 +15,4 @@ class Spud::Blog::ViewsGenerator < ::Rails::Generators::Base
16
15
  copy_file 'news/show.html.erb', 'app/views/news/show.html.erb'
17
16
  end
18
17
  end
19
- end
18
+ end
@@ -2,26 +2,26 @@ module Spud
2
2
  module Blog
3
3
  include ActiveSupport::Configurable
4
4
  config_accessor(
5
- :base_layout, :news_layout, :blog_enabled,
6
- :news_enabled, :posts_per_page, :blog_path,
7
- :news_path, :enable_sitemap, :has_custom_fields,
8
- :cache_mode, :permitted_attributes, :query_for_user,
9
- :enable_rakismet, :enable_markdown, :default_comment_approval
5
+ :base_layout, :news_layout, :blogs, :news_enabled, :blog_enabled, :blog_path, :news_path,
6
+ :posts_per_page, :has_custom_fields,
7
+ :permitted_attributes, :query_for_user,
8
+ :enable_rakismet, :default_comment_approval
10
9
  )
11
10
  self.base_layout = 'application'
12
- self.news_layout = nil
11
+ self.posts_per_page = 5
12
+
13
+ self.news_layout = 'application'
13
14
  self.news_enabled = false
14
15
  self.blog_enabled = true
15
- self.posts_per_page = 5
16
- self.blog_path = 'blog'
17
- self.news_path = 'news'
18
- self.enable_sitemap = true
16
+ self.blog_path = '/blog'
17
+ self.news_path = '/news'
18
+
19
19
  self.has_custom_fields = false
20
- self.cache_mode = nil #options :full_page, :action
21
20
  self.enable_rakismet = false
22
- self.enable_markdown = false
23
21
  self.default_comment_approval = true
24
22
  self.permitted_attributes = []
25
23
  self.query_for_user = nil
24
+
25
+ self.blogs = []
26
26
  end
27
27
  end
@@ -13,33 +13,50 @@ module Spud
13
13
 
14
14
  engine_name :tb_blog
15
15
 
16
- initializer :admin do
17
- if Spud::Blog.enable_sitemap == true
18
- Spud::Core.config.sitemap_urls += [:blog_sitemap_url]
16
+ initializer :set_up_blogs do
17
+ # Transform config hashes to SpudBlogConfig objects
18
+ Spud::Blog.config.blogs.collect! do |config|
19
+ if config.is_a?(SpudBlogConfig)
20
+ config
21
+ else
22
+ SpudBlogConfig.new(config)
23
+ end
19
24
  end
25
+ # This provides support for the legacy :blog_enabled and :news_enabled config options
26
+ # Blog and News handle 90% of the typical use cases
20
27
  if Spud::Blog.config.blog_enabled
28
+ SpudBlogConfig.push({
29
+ :key => 'blog',
30
+ :name => 'Blog',
31
+ :path => Spud::Blog.config.blog_path,
32
+ :layout => Spud::Blog.config.base_layout
33
+ })
34
+ end
35
+ if Spud::Blog.config.news_enabled
36
+ SpudBlogConfig.push({
37
+ :key => 'news',
38
+ :name => 'News',
39
+ :path => Spud::Blog.config.news_path,
40
+ :layout => Spud::Blog.config.news_layout
41
+ })
42
+ end
43
+ end
44
+
45
+ initializer :admin do
46
+ # Build admin modules for each configure blog
47
+ SpudBlogConfig.each do |config|
21
48
  blog_app = {
22
- :name => 'Blog Posts',
49
+ :name => "#{config.name} Posts",
50
+ :url => "admin/#{config.key}",
23
51
  :thumbnail => 'spud/admin/posts_thumb.png',
24
- :url => '/admin/posts',
25
- :order => 1
26
- }
27
- if Spud::Blog.config.default_comment_approval == false
28
- blog_app[:badge] = ->(user){
29
- SpudPostComment.where(:approved => false).count()
52
+ :badge => ->(user){
53
+ SpudPostComment.for_blog(config.key).pending_approval.count()
30
54
  }
31
- end
55
+ }
32
56
  Spud::Core.config.admin_applications += [blog_app]
33
- end
34
- if Spud::Blog.config.news_enabled
35
- Spud::Core.config.admin_applications += [{
36
- :name => 'News Posts',
37
- :thumbnail => 'spud/admin/news_thumb.png',
38
- :url => '/admin/news_posts',
39
- :order => 2
40
- }]
41
- end
57
+ end
42
58
  end
59
+
43
60
  initializer :assets do
44
61
  Spud::Core.append_admin_javascripts('admin/blog/application')
45
62
  Spud::Core.append_admin_stylesheets('admin/blog/application')
@@ -52,12 +69,6 @@ module Spud
52
69
  # end
53
70
  # end
54
71
 
55
- initializer :news_layout do
56
- if Spud::Core.config.news_layout.nil?
57
- Spud::Core.config.news_layout = Spud::Core.config.base_layout
58
- end
59
- end
60
-
61
72
  initializer :rakismet do
62
73
  if Spud::Blog.enable_rakismet
63
74
  require 'rakismet'
@@ -1,5 +1,5 @@
1
1
  module Spud
2
2
  module Blog
3
- VERSION = "1.1.3"
3
+ VERSION = "1.2.0"
4
4
  end
5
5
  end
@@ -2,3 +2,17 @@
2
2
  # task :spud_blog do
3
3
  # # Task goes here
4
4
  # end
5
+
6
+ namespace :tb_blog do
7
+
8
+ task :apply_blog_keys => :environment do
9
+ SpudPost.all.each do |post|
10
+ if post.is_news?
11
+ post.update_column(:blog_key, 'news')
12
+ else
13
+ post.update_column(:blog_key, 'blog')
14
+ end
15
+ end
16
+ end
17
+
18
+ end
@@ -1,6 +1,6 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe BlogController, :type => :controller do
3
+ describe PostsController, :type => :controller do
4
4
 
5
5
  before(:each) do
6
6
  activate_authlogic
@@ -9,7 +9,7 @@ describe BlogController, :type => :controller do
9
9
  describe :index do
10
10
  it "should display a list of posts" do
11
11
  2.times { |i| FactoryGirl.create(:spud_post) }
12
- get :index
12
+ get :index, {:blog_key => 'blog'}
13
13
  assigns(:posts).count.should be > 1
14
14
  end
15
15
 
@@ -21,7 +21,7 @@ describe BlogController, :type => :controller do
21
21
  {}
22
22
  end
23
23
  }
24
- get :index
24
+ get :index, {:blog_key => 'blog'}
25
25
  assigns(:posts).count.should be 0
26
26
  Spud::Blog.config.query_for_user = nil
27
27
  end
@@ -30,7 +30,7 @@ describe BlogController, :type => :controller do
30
30
  describe :create_comment do
31
31
  it "should create a comment" do
32
32
  @post = FactoryGirl.create(:spud_post)
33
- post :create_comment, :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
33
+ post :create_comment, :blog_key => 'blog', :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
34
34
  @post.comments.length.should be > 0
35
35
  end
36
36
 
@@ -39,7 +39,7 @@ describe BlogController, :type => :controller do
39
39
  config.default_comment_approval = true
40
40
  end
41
41
  @post = FactoryGirl.create(:spud_post)
42
- post :create_comment, :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
42
+ post :create_comment, :blog_key => 'blog', :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
43
43
  @post.comments.first.approved.should be_true
44
44
  end
45
45
 
@@ -48,7 +48,7 @@ describe BlogController, :type => :controller do
48
48
  config.default_comment_approval = false
49
49
  end
50
50
  @post = FactoryGirl.create(:spud_post)
51
- post :create_comment, :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
51
+ post :create_comment, :blog_key => 'blog', :id => @post.url_name, :spud_post_comment => {:author => "Test User", :content => "Lorem Ipsum"}
52
52
  @post.comments.first.approved.should be_false
53
53
  end
54
54
  end
@@ -0,0 +1,7 @@
1
+ # This migration comes from tb_blog (originally 20140808132950)
2
+ class AddBlogKeyToSpudPosts < ActiveRecord::Migration
3
+ def change
4
+ add_column :spud_posts, :blog_key, :string
5
+ add_index :spud_posts, :blog_key
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ # This migration comes from tb_blog (originally 20140811152252)
2
+ class AddBlogKeyToSpudPostComments < ActiveRecord::Migration
3
+ def change
4
+ add_column :spud_post_comments, :blog_key, :string
5
+ add_index :spud_post_comments, :blog_key
6
+ end
7
+ end
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20140730131550) do
14
+ ActiveRecord::Schema.define(version: 20140811161503) do
15
15
 
16
16
  create_table "spud_liquid_tags", force: true do |t|
17
17
  t.integer "attachment_id"
@@ -73,9 +73,11 @@ ActiveRecord::Schema.define(version: 20140730131550) do
73
73
  t.string "user_agent"
74
74
  t.string "referrer"
75
75
  t.string "permalink"
76
+ t.string "blog_key"
76
77
  end
77
78
 
78
79
  add_index "spud_post_comments", ["approved"], name: "index_spud_post_comments_on_approved", using: :btree
80
+ add_index "spud_post_comments", ["blog_key"], name: "index_spud_post_comments_on_blog_key", using: :btree
79
81
  add_index "spud_post_comments", ["spud_post_id"], name: "index_spud_post_comments_on_spud_post_id", using: :btree
80
82
 
81
83
  create_table "spud_post_sites", force: true do |t|
@@ -104,8 +106,10 @@ ActiveRecord::Schema.define(version: 20140730131550) do
104
106
  t.integer "comments_count", default: 0
105
107
  t.string "content_format", default: "HTML"
106
108
  t.text "content_processed"
109
+ t.string "blog_key"
107
110
  end
108
111
 
112
+ add_index "spud_posts", ["blog_key"], name: "index_spud_posts_on_blog_key", using: :btree
109
113
  add_index "spud_posts", ["is_news"], name: "index_spud_posts_on_is_news", using: :btree
110
114
  add_index "spud_posts", ["spud_user_id"], name: "index_spud_posts_on_spud_user_id", using: :btree
111
115
  add_index "spud_posts", ["url_name"], name: "index_spud_posts_on_url_name", using: :btree
@@ -12,6 +12,7 @@ FactoryGirl.define do
12
12
  visible true
13
13
  published_at DateTime.now
14
14
  content_format "HTML"
15
+ blog_key 'blog'
15
16
  end
16
17
 
17
18
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tb_blog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Westlake Design
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-07-30 00:00:00.000000000 Z
11
+ date: 2014-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -209,13 +209,11 @@ files:
209
209
  - app/assets/javascripts/admin/blog/post_comments.js
210
210
  - app/assets/javascripts/admin/blog/posts.js
211
211
  - app/assets/stylesheets/admin/blog/application.css.scss
212
- - app/controllers/admin/news_posts_controller.rb
213
212
  - app/controllers/admin/post_categories_controller.rb
214
213
  - app/controllers/admin/post_comments_controller.rb
215
214
  - app/controllers/admin/posts_controller.rb
216
- - app/controllers/blog/sitemaps_controller.rb
217
- - app/controllers/blog_controller.rb
218
- - app/controllers/news_controller.rb
215
+ - app/controllers/concerns/blog_url_helpers.rb
216
+ - app/controllers/posts_controller.rb
219
217
  - app/helpers/admin/news_posts_helper.rb
220
218
  - app/helpers/admin/post_categories_helper.rb
221
219
  - app/helpers/admin/post_comments_helper.rb
@@ -224,14 +222,12 @@ files:
224
222
  - app/helpers/blog_helper.rb
225
223
  - app/helpers/news_helper.rb
226
224
  - app/models/spud/spud_post_model.rb
225
+ - app/models/spud_blog_config.rb
227
226
  - app/models/spud_post.rb
228
227
  - app/models/spud_post_categories_post.rb
229
228
  - app/models/spud_post_category.rb
230
229
  - app/models/spud_post_comment.rb
231
230
  - app/models/spud_post_site.rb
232
- - app/views/admin/news_posts/edit.html.erb
233
- - app/views/admin/news_posts/index.html.erb
234
- - app/views/admin/news_posts/new.html.erb
235
231
  - app/views/admin/post_categories/_category.html.erb
236
232
  - app/views/admin/post_categories/_form.html.erb
237
233
  - app/views/admin/post_categories/edit.html.erb
@@ -244,15 +240,10 @@ files:
244
240
  - app/views/admin/posts/edit.html.erb
245
241
  - app/views/admin/posts/index.html.erb
246
242
  - app/views/admin/posts/new.html.erb
247
- - app/views/blog/_comment.html.erb
248
- - app/views/blog/_comment_form.html.erb
249
- - app/views/blog/index.html.erb
250
- - app/views/blog/index.rss.builder
251
- - app/views/blog/show.html.erb
252
- - app/views/blog/sitemaps/show.xml.builder
253
- - app/views/news/index.html.erb
254
- - app/views/news/index.rss.builder
255
- - app/views/news/show.html.erb
243
+ - app/views/posts/_comment_form.html.erb
244
+ - app/views/posts/index.html.erb
245
+ - app/views/posts/index.rss.builder
246
+ - app/views/posts/show.html.erb
256
247
  - config/routes.rb
257
248
  - db/migrate/20120125180945_create_spud_posts.rb
258
249
  - db/migrate/20120125181022_create_spud_post_categories.rb
@@ -270,6 +261,9 @@ files:
270
261
  - db/migrate/20130121130612_add_content_processed_to_spud_post.rb
271
262
  - db/migrate/20140406182651_add_primary_key_to_spud_post_categories_posts.rb
272
263
  - db/migrate/20140508200730_remove_awesome_nested_set_columns_from_spud_post_categories.rb
264
+ - db/migrate/20140808132950_add_blog_key_to_spud_posts.rb
265
+ - db/migrate/20140811152252_add_blog_key_to_spud_post_comments.rb
266
+ - lib/generators/spud/blog/blog_generator.rb
273
267
  - lib/generators/spud/blog/random_posts_generator.rb
274
268
  - lib/generators/spud/blog/views_generator.rb
275
269
  - lib/spud_blog/configuration.rb
@@ -278,7 +272,7 @@ files:
278
272
  - lib/tasks/spud_blog_tasks.rake
279
273
  - lib/tb_blog.rb
280
274
  - spec/controllers/admin/posts_controller_spec.rb
281
- - spec/controllers/blog_controller_spec.rb
275
+ - spec/controllers/posts_controller_spec.rb
282
276
  - spec/dummy/README.rdoc
283
277
  - spec/dummy/Rakefile
284
278
  - spec/dummy/app/assets/javascripts/application.js
@@ -331,6 +325,8 @@ files:
331
325
  - spec/dummy/db/migrate/20140113162805_create_tb_liquid_spud_liquid_tags.tb_liquid.rb
332
326
  - spec/dummy/db/migrate/20140730131549_add_primary_key_to_spud_post_categories_posts.tb_blog.rb
333
327
  - spec/dummy/db/migrate/20140730131550_remove_awesome_nested_set_columns_from_spud_post_categories.tb_blog.rb
328
+ - spec/dummy/db/migrate/20140811161502_add_blog_key_to_spud_posts.tb_blog.rb
329
+ - spec/dummy/db/migrate/20140811161503_add_blog_key_to_spud_post_comments.tb_blog.rb
334
330
  - spec/dummy/db/schema.rb
335
331
  - spec/dummy/public/404.html
336
332
  - spec/dummy/public/422.html
@@ -366,7 +362,7 @@ specification_version: 4
366
362
  summary: Twice Baked Blog Engine.
367
363
  test_files:
368
364
  - spec/controllers/admin/posts_controller_spec.rb
369
- - spec/controllers/blog_controller_spec.rb
365
+ - spec/controllers/posts_controller_spec.rb
370
366
  - spec/dummy/app/assets/javascripts/application.js
371
367
  - spec/dummy/app/assets/stylesheets/application.css
372
368
  - spec/dummy/app/controllers/application_controller.rb
@@ -417,6 +413,8 @@ test_files:
417
413
  - spec/dummy/db/migrate/20140113162805_create_tb_liquid_spud_liquid_tags.tb_liquid.rb
418
414
  - spec/dummy/db/migrate/20140730131549_add_primary_key_to_spud_post_categories_posts.tb_blog.rb
419
415
  - spec/dummy/db/migrate/20140730131550_remove_awesome_nested_set_columns_from_spud_post_categories.tb_blog.rb
416
+ - spec/dummy/db/migrate/20140811161502_add_blog_key_to_spud_posts.tb_blog.rb
417
+ - spec/dummy/db/migrate/20140811161503_add_blog_key_to_spud_post_comments.tb_blog.rb
420
418
  - spec/dummy/db/schema.rb
421
419
  - spec/dummy/public/404.html
422
420
  - spec/dummy/public/422.html