comfy_blog 1.1.1 → 1.12.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 (61) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +2 -0
  3. data/README.md +3 -3
  4. data/app/controllers/{admin → comfy/admin}/blog/base_controller.rb +2 -2
  5. data/app/controllers/{admin → comfy/admin}/blog/blogs_controller.rb +1 -1
  6. data/app/controllers/{admin → comfy/admin}/blog/comments_controller.rb +1 -1
  7. data/app/controllers/{admin → comfy/admin}/blog/posts_controller.rb +2 -1
  8. data/app/controllers/{blog → comfy/blog}/base_controller.rb +1 -1
  9. data/app/controllers/{blog → comfy/blog}/comments_controller.rb +4 -4
  10. data/app/controllers/{blog → comfy/blog}/posts_controller.rb +1 -1
  11. data/app/models/{blog → comfy/blog}/blog.rb +4 -2
  12. data/app/models/{blog → comfy/blog}/comment.rb +2 -2
  13. data/app/models/{blog → comfy/blog}/post.rb +2 -2
  14. data/app/views/{admin → comfy/admin}/blog/blogs/_form.html.haml +2 -2
  15. data/app/views/{admin → comfy/admin}/blog/blogs/edit.html.haml +0 -0
  16. data/app/views/comfy/admin/blog/blogs/index.html.haml +26 -0
  17. data/app/views/{admin → comfy/admin}/blog/blogs/new.html.haml +0 -0
  18. data/app/views/comfy/admin/blog/comments/_comment.html.haml +17 -0
  19. data/app/views/{admin → comfy/admin}/blog/comments/index.html.haml +1 -1
  20. data/app/views/{admin → comfy/admin}/blog/comments/toggle_publish.js.erb +0 -0
  21. data/app/views/comfy/admin/blog/partials/_navigation.html.haml +6 -0
  22. data/app/views/{admin → comfy/admin}/blog/posts/_form.html.haml +4 -3
  23. data/app/views/{admin → comfy/admin}/blog/posts/edit.html.haml +0 -0
  24. data/app/views/comfy/admin/blog/posts/index.html.haml +32 -0
  25. data/app/views/{admin → comfy/admin}/blog/posts/new.html.haml +0 -0
  26. data/app/views/{blog → comfy/blog}/comments/_form.html.haml +1 -1
  27. data/app/views/{blog → comfy/blog}/posts/index.html.haml +1 -1
  28. data/app/views/{blog → comfy/blog}/posts/index.rss.builder +2 -2
  29. data/app/views/{blog → comfy/blog}/posts/show.html.haml +1 -1
  30. data/app/views/layouts/{blog → comfy/blog}/application.html.haml +0 -0
  31. data/comfy_blog.gemspec +2 -2
  32. data/config/application.rb +2 -0
  33. data/config/initializers/comfy_blog.rb +6 -3
  34. data/db/migrate/00_create_cms.rb +41 -39
  35. data/db/migrate/01_create_blog.rb +13 -13
  36. data/lib/comfy_blog/configuration.rb +7 -3
  37. data/lib/comfy_blog/engine.rb +2 -2
  38. data/lib/comfy_blog/routes/blog.rb +10 -8
  39. data/lib/comfy_blog/routes/blog_admin.rb +8 -6
  40. data/lib/comfy_blog/version.rb +1 -1
  41. data/lib/generators/comfy/blog/blog_generator.rb +1 -1
  42. data/test/controllers/{admin → comfy/admin}/blog/blogs_controller_test.rb +8 -8
  43. data/test/controllers/{admin → comfy/admin}/blog/comments_controller_test.rb +7 -7
  44. data/test/controllers/{admin → comfy/admin}/blog/posts_controller_test.rb +16 -8
  45. data/test/controllers/{blog → comfy/blog}/comments_controller_test.rb +8 -8
  46. data/test/controllers/{blog → comfy/blog}/posts_controller_test.rb +5 -5
  47. data/test/fixtures/{blog → comfy/blog}/blogs.yml +1 -1
  48. data/test/fixtures/{blog → comfy/blog}/comments.yml +0 -0
  49. data/test/fixtures/{blog → comfy/blog}/posts.yml +0 -0
  50. data/test/fixtures/{cms → comfy/cms}/sites.yml +0 -0
  51. data/test/generators/blog_generator_test.rb +1 -1
  52. data/test/lib/configuration_test.rb +4 -3
  53. data/test/models/{blog/blog_test.rb → blog_test.rb} +10 -10
  54. data/test/models/{blog/comments_test.rb → comments_test.rb} +9 -9
  55. data/test/models/{blog/posts_test.rb → posts_test.rb} +19 -19
  56. data/test/test_helper.rb +3 -2
  57. metadata +45 -46
  58. data/app/views/admin/blog/blogs/index.html.haml +0 -26
  59. data/app/views/admin/blog/comments/_comment.html.haml +0 -17
  60. data/app/views/admin/blog/partials/_navigation.html.haml +0 -6
  61. data/app/views/admin/blog/posts/index.html.haml +0 -32
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: abd49b6d87b69d002abd82c8374e2ace7207b492
4
- data.tar.gz: 787cc5bd928a9fa03e86a8af28f377386ebac53c
3
+ metadata.gz: 7395a14952fcacabf530dc7b573c72661a329114
4
+ data.tar.gz: 30faa016ab88ad1f66a553d3b1328b93cb58dcd4
5
5
  SHA512:
6
- metadata.gz: 9f8aef5424035099fe91454b9418a8a8bff61af599d48501c413212330824db7572354eb845acfc069bca399fa5f23c235c87fcdfe9b9cde6e0289a2ece4159b
7
- data.tar.gz: ca92bb012caadc2607d434f235b3b3aa4368abd21881fe527c3039b0fe64ebe2ab12ffebedb36eeb16ff6a16fb772d51dcaabfc3905924020b4f459909e4fe4b
6
+ metadata.gz: d3e34806a569da33f7f884925ed2a855714389ed274a5ec972a6e24c73120365409d49ac41b2cd568f21f3b0f1f63dc6e3d0330e5ac7b4c18ba9eead9293b697
7
+ data.tar.gz: 6ba09ab8175ccb2e036c120de7c29ac1b6a4091f5987920d790fda058aba2c65c276edffb393880b182298405987bd1bbd55e20914c897e0cd3bf3d8b8dcd042
data/Gemfile CHANGED
@@ -2,6 +2,8 @@ source 'http://rubygems.org'
2
2
 
3
3
  gemspec
4
4
 
5
+ gem 'comfortable_mexican_sofa', :github => 'comfy/comfortable-mexican-sofa'
6
+
5
7
  group :development do
6
8
  gem 'awesome_print'
7
9
  gem 'better_errors'
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # ComfyBlog
2
2
  [![Gem Version](https://badge.fury.io/rb/comfy_blog.png)](http://rubygems.org/gems/comfy_blog) [![Build Status](https://secure.travis-ci.org/comfy/comfy-blog.png)](http://travis-ci.org/comfy/comfy-blog) [![Dependency Status](https://gemnasium.com/comfy/comfy-blog.png)](https://gemnasium.com/comfy/comfy-blog) [![Code Climate](https://codeclimate.com/github/comfy/comfy-blog.png)](https://codeclimate.com/github/comfy/comfy-blog) [![Coverage Status](https://coveralls.io/repos/comfy/comfy-blog/badge.png?branch=master)](https://coveralls.io/r/comfy/comfy-blog)
3
3
 
4
- ComfyBlog is an simple blog management engine for [ComfortableMexicanSofa](https://github.com/comfy/comfortable-mexican-sofa) (for version >= 1.11).
4
+ ComfyBlog is an simple blog management engine for [ComfortableMexicanSofa](https://github.com/comfy/comfortable-mexican-sofa)
5
5
 
6
6
  ## Features
7
7
 
@@ -13,7 +13,7 @@ ComfyBlog is an simple blog management engine for [ComfortableMexicanSofa](https
13
13
  Add gem definition to your Gemfile:
14
14
 
15
15
  ```ruby
16
- gem 'comfy_blog', '~> 1.1.0'
16
+ gem 'comfy_blog', '~> 1.12.0'
17
17
  ```
18
18
 
19
19
  Then from the Rails project's root run:
@@ -33,4 +33,4 @@ You should also find view templates in `/app/views/blog` folder. Feel free to ad
33
33
 
34
34
  ---
35
35
 
36
- Copyright 2009-2013 Oleg Khabarov, [The Working Group Inc](http://www.twg.ca)
36
+ Copyright 2009-2014 Oleg Khabarov
@@ -1,4 +1,4 @@
1
- class Admin::Blog::BaseController < Admin::Cms::BaseController
1
+ class Comfy::Admin::Blog::BaseController < Comfy::Admin::Cms::BaseController
2
2
 
3
3
  protected
4
4
 
@@ -6,7 +6,7 @@ protected
6
6
  @blog = @site.blogs.find(params[:blog_id] || params[:id])
7
7
  rescue ActiveRecord::RecordNotFound
8
8
  flash[:error] = 'Blog not found'
9
- redirect_to admin_blogs_path(@site)
9
+ redirect_to comfy_admin_blogs_path(@site)
10
10
  end
11
11
 
12
12
  end
@@ -1,4 +1,4 @@
1
- class Admin::Blog::BlogsController < Admin::Blog::BaseController
1
+ class Comfy::Admin::Blog::BlogsController < Comfy::Admin::Blog::BaseController
2
2
 
3
3
  before_action :build_blog, :only => [:new, :create]
4
4
  before_action :load_blog, :only => [:edit, :update, :destroy]
@@ -1,4 +1,4 @@
1
- class Admin::Blog::CommentsController < Admin::Blog::BaseController
1
+ class Comfy::Admin::Blog::CommentsController < Comfy::Admin::Blog::BaseController
2
2
 
3
3
  before_action :load_blog
4
4
  before_action :load_comment, :only => [:destroy, :toggle_publish]
@@ -1,4 +1,4 @@
1
- class Admin::Blog::PostsController < Admin::Blog::BaseController
1
+ class Comfy::Admin::Blog::PostsController < Comfy::Admin::Blog::BaseController
2
2
 
3
3
  before_action :load_blog
4
4
  before_action :build_post, :only => [:new, :create]
@@ -9,6 +9,7 @@ class Admin::Blog::PostsController < Admin::Blog::BaseController
9
9
  end
10
10
 
11
11
  def new
12
+ @post.author = ComfyBlog.config.default_author
12
13
  render
13
14
  end
14
15
 
@@ -1,4 +1,4 @@
1
- class Blog::BaseController < Cms::BaseController
1
+ class Comfy::Blog::BaseController < Comfy::Cms::BaseController
2
2
 
3
3
  layout :set_blog_layout
4
4
 
@@ -1,4 +1,4 @@
1
- class Blog::CommentsController < Blog::BaseController
1
+ class Comfy::Blog::CommentsController < Comfy::Blog::BaseController
2
2
 
3
3
  before_action :load_post,
4
4
  :build_comment
@@ -7,11 +7,11 @@ class Blog::CommentsController < Blog::BaseController
7
7
  @comment.save!
8
8
 
9
9
  flash[:success] = 'Comment created'
10
- redirect_to blog_post_path(@cms_site.path, @blog.path, @post.slug)
10
+ redirect_to comfy_blog_post_path(@cms_site.path, @blog.path, @post.slug)
11
11
 
12
12
  rescue ActiveRecord::RecordInvalid
13
13
  flash[:error] = 'Failed to create Comment'
14
- render 'blog/posts/show'
14
+ render 'comfy/blog/posts/show'
15
15
  end
16
16
 
17
17
  protected
@@ -20,7 +20,7 @@ protected
20
20
  @post = @blog.posts.published.where(:slug => params[:slug]).first!
21
21
  rescue ActiveRecord::RecordNotFound
22
22
  flash[:error] = 'Blog Post not found'
23
- redirect_to blog_posts_path(@cms_site.path, @blog.path)
23
+ redirect_to comfy_blog_posts_path(@cms_site.path, @blog.path)
24
24
  end
25
25
 
26
26
  def build_comment
@@ -1,4 +1,4 @@
1
- class Blog::PostsController < Blog::BaseController
1
+ class Comfy::Blog::PostsController < Comfy::Blog::BaseController
2
2
 
3
3
  skip_before_action :load_blog, :only => [:serve]
4
4
 
@@ -1,7 +1,9 @@
1
- class Blog::Blog < ActiveRecord::Base
1
+ class Comfy::Blog::Blog < ActiveRecord::Base
2
+
3
+ self.table_name = 'comfy_blogs'
2
4
 
3
5
  # -- Relationhips ---------------------------------------------------------
4
- belongs_to :site, :class_name => 'Cms::Site'
6
+ belongs_to :site, :class_name => 'Comfy::Cms::Site'
5
7
 
6
8
  has_many :posts,
7
9
  :dependent => :destroy
@@ -1,6 +1,6 @@
1
- class Blog::Comment < ActiveRecord::Base
1
+ class Comfy::Blog::Comment < ActiveRecord::Base
2
2
 
3
- self.table_name = 'blog_comments'
3
+ self.table_name = 'comfy_blog_comments'
4
4
 
5
5
  # -- Relationships --------------------------------------------------------
6
6
  belongs_to :post
@@ -1,6 +1,6 @@
1
- class Blog::Post < ActiveRecord::Base
1
+ class Comfy::Blog::Post < ActiveRecord::Base
2
2
 
3
- self.table_name = 'blog_posts'
3
+ self.table_name = 'comfy_blog_posts'
4
4
 
5
5
  # -- Relationships --------------------------------------------------------
6
6
  belongs_to :blog
@@ -2,10 +2,10 @@
2
2
  = form.text_field :identifier, :data => {:slug => true}
3
3
  = form.text_field :path
4
4
 
5
- - if (options = Cms::Layout.app_layouts_for_select).present?
5
+ - if (options = Comfy::Cms::Layout.app_layouts_for_select).present?
6
6
  = form.select :app_layout, options
7
7
 
8
8
  = form.text_area :description, :class => 'short'
9
9
 
10
- .form-actions
10
+ = form.form_group :class => 'form-actions' do
11
11
  = form.submit :class => 'btn btn-primary'
@@ -0,0 +1,26 @@
1
+ .page-header
2
+ = link_to 'New Blog', new_comfy_admin_blog_path(@site), :class => 'btn btn-default pull-right'
3
+ %h2 Blogs
4
+
5
+ = paginate @blogs
6
+
7
+ %table.table.table-hover.table-bordered
8
+ - @blogs.each do |blog|
9
+ %tr
10
+ %td.main
11
+ = link_to blog.label, edit_comfy_admin_blog_path(@site, blog)
12
+ .item-meta
13
+ = blog.identifier
14
+ %br
15
+ - blog_path = comfy_blog_posts_url(@site.path, blog.path)
16
+ = link_to blog_path, blog_path, :target => '_blank'
17
+ %td
18
+ .btn-group
19
+ = link_to pluralize(blog.posts.count, 'Post'), comfy_admin_blog_posts_path(@site, blog), :class => 'btn btn-small btn-inverse'
20
+ = link_to pluralize(blog.comments.count, 'Comment'), comfy_admin_blog_comments_path(@site, blog), :class => 'btn btn-small btn-inverse'
21
+ %td
22
+ .btn-group
23
+ = link_to 'Edit', edit_comfy_admin_blog_path(@site, blog), :class => 'btn btn-small'
24
+ = link_to 'Delete', comfy_admin_blog_path(@site, blog), :method => :delete, :data => {:confirm => 'Are you sure?'}, :class => 'btn btn-small btn-danger'
25
+
26
+ = paginate @blogs
@@ -0,0 +1,17 @@
1
+ %tr{:id => dom_id(comment)}
2
+ %td
3
+ = link_to comment.post.title.truncate(25), comfy_admin_blog_comments_path(@site, @blog, :post_id => comment.post)
4
+ %td.main
5
+ = comment.author
6
+ .item-meta
7
+ = mail_to comment.email
8
+ %br
9
+ = comment.content
10
+ %td
11
+ = comment.created_at.to_s(:db)
12
+ %td
13
+ - label, css_class = comment.is_published?? ['Unpublish', 'btn-danger'] : ['Publish', 'btn-info']
14
+ = link_to label, toggle_publish_comfy_admin_blog_comment_path(@site, @blog, comment), :method => :patch, :remote => true, :class => "btn btn-small #{css_class}"
15
+ %td
16
+ .btn-group.btn-group-sm
17
+ = link_to 'Delete', comfy_admin_blog_comment_path(@site, @blog, comment), :method => :delete, :data => {:confirm => 'Are you sure?'}, :class => 'btn btn-danger'
@@ -3,7 +3,7 @@
3
3
 
4
4
  = paginate @comments
5
5
 
6
- %table.table.table-hover.table-bordered
6
+ %table.table.table-hover
7
7
  %tr
8
8
  %th Post
9
9
  %th.main Comment
@@ -0,0 +1,6 @@
1
+ - if @site.present? && @site.persisted?
2
+ %li= active_link_to 'Blogs', comfy_admin_blogs_path(@site)
3
+ - if @blog.present? && @blog.persisted?
4
+ %ul
5
+ %li= active_link_to 'Posts', comfy_admin_blog_posts_path(@site, @blog)
6
+ %li= active_link_to 'Comments', comfy_admin_blog_comments_path(@site, @blog)
@@ -1,5 +1,5 @@
1
1
  - content_for :right_column do
2
- = render :partial => 'admin/cms/files/index'
2
+ = render :partial => 'comfy/admin/cms/files/index'
3
3
 
4
4
  = form.text_field :title, :data => {:slugify => @post.new_record?}
5
5
  = form.text_field :slug, :data => {:slug => true}
@@ -7,7 +7,8 @@
7
7
  = form.text_area :content, :data => {'cms-rich-text' => true}
8
8
  = form.text_area :excerpt, :class => 'short'
9
9
  = form.text_field :published_at, :value => @post.published_at.try(:to_s, :db), :data => {'cms-datetime' => true}
10
- = form.check_box :is_published
10
+ = form.form_group :is_published do
11
+ = form.check_box :is_published
11
12
 
12
- .form-actions
13
+ = form.form_group :class => 'form-actions' do
13
14
  = form.submit :class => 'btn btn-primary'
@@ -0,0 +1,32 @@
1
+ .page-header
2
+ = link_to 'New Blog Post', new_comfy_admin_blog_post_path(@site, @blog), :class => 'btn btn-default pull-right'
3
+ %h2 Blog Posts
4
+
5
+ = paginate @posts
6
+
7
+ %table.table.table-hover
8
+ %tr
9
+ %th.main Title
10
+ %th Author
11
+ %th Published
12
+ %th Comments
13
+ %th
14
+
15
+ - @posts.each do |post|
16
+ %tr
17
+ %td.main
18
+ = link_to post.title, edit_comfy_admin_blog_post_path(@site, @blog, post)
19
+ .item-meta
20
+ = post.excerpt
21
+ %td
22
+ = post.author
23
+ %td
24
+ = post.published_at.try(:to_s, :db)
25
+ %td
26
+ = link_to pluralize(post.comments.count, 'Comment'), comfy_admin_blog_comments_path(@site, @blog, :post_id => post.id), :class => 'btn btn-sm btn-info'
27
+ %td
28
+ .btn-group.btn-group-sm
29
+ = link_to 'Edit', edit_comfy_admin_blog_post_path(@site, @blog, post), :class => 'btn btn-default'
30
+ = link_to 'Delete', comfy_admin_blog_post_path(@site, @blog, post), :method => :delete, :data => {:confirm => 'Are you sure?'}, :class => 'btn btn-danger'
31
+
32
+ = paginate @posts
@@ -1,4 +1,4 @@
1
- = formatted_form_for @comment, :as => :comment, :url => blog_comments_path(@cms_site.path, @blog.path, @post.slug) do |form|
1
+ = comfy_form_for @comment, :as => :comment, :url => comfy_blog_comments_path(@cms_site.path, @blog.path, @post.slug) do |form|
2
2
 
3
3
  -# don't need this when installed into your app
4
4
  = form.hidden_field :authenticity_token, :value => form_authenticity_token
@@ -2,7 +2,7 @@
2
2
 
3
3
  - @posts.each do |post|
4
4
 
5
- %h1= link_to post.title, blog_post_path(@cms_site.path, @blog.path, post.slug)
5
+ %h1= link_to post.title, comfy_blog_post_path(@cms_site.path, @blog.path, post.slug)
6
6
  .author
7
7
  = post.author
8
8
  .date
@@ -3,10 +3,10 @@ xml.rss :version => '2.0' do
3
3
  xml.channel do
4
4
  xml.title @blog.label
5
5
  xml.description @blog.description
6
- xml.link blog_posts_url(@cms_site.path, @blog.path)
6
+ xml.link comfy_blog_posts_url(@cms_site.path, @blog.path)
7
7
 
8
8
  @posts.each do |post|
9
- url = blog_post_url(@cms_site.path, @blog.path, post.slug)
9
+ url = comfy_blog_post_url(@cms_site.path, @blog.path, post.slug)
10
10
 
11
11
  xml.item do
12
12
  xml.title post.title
@@ -15,4 +15,4 @@
15
15
  .author= comment.author
16
16
  .content= comment.content
17
17
 
18
- = render :partial => 'blog/comments/form'
18
+ = render :partial => 'comfy/blog/comments/form'
@@ -6,7 +6,7 @@ require 'comfy_blog/version'
6
6
  Gem::Specification.new do |s|
7
7
  s.name = 'comfy_blog'
8
8
  s.version = ComfyBlog::VERSION
9
- s.authors = ["Oleg Khabarov", "The Working Group Inc"]
9
+ s.authors = ["Oleg Khabarov"]
10
10
  s.email = ["oleg@khabarov.ca"]
11
11
  s.homepage = "http://github.com/comfy/comfy-blog"
12
12
  s.summary = "Simple Blog Engine for ComfortableMexicanSofa"
@@ -17,5 +17,5 @@ Gem::Specification.new do |s|
17
17
  s.platform = Gem::Platform::RUBY
18
18
  s.require_paths = ['lib']
19
19
 
20
- s.add_dependency 'comfortable_mexican_sofa', '>= 1.11.0'
20
+ s.add_dependency 'comfortable_mexican_sofa', '~> 1.12.0'
21
21
  end
@@ -24,5 +24,7 @@ module ComfyBlog
24
24
 
25
25
  # Making sure we don't load our dev routes as part of the engine
26
26
  config.paths['config/routes.rb'] << 'config/blog_routes.rb'
27
+
28
+ config.i18n.enforce_available_locales = true
27
29
  end
28
30
  end
@@ -1,10 +1,13 @@
1
1
  ComfyBlog.configure do |config|
2
-
2
+
3
3
  # Number of posts per page. Default is 10
4
4
  # config.posts_per_page = 10
5
-
5
+
6
6
  # Comments can be automatically approved/published by changing this setting
7
7
  # Default is false.
8
8
  # config.auto_publish_comments = false
9
-
9
+
10
+ # A default author can be specified for posts
11
+ # config.default_author = 'Author Name'
12
+
10
13
  end
@@ -10,7 +10,7 @@ class CreateCms < ActiveRecord::Migration
10
10
  end
11
11
 
12
12
  # -- Sites --------------------------------------------------------------
13
- create_table :cms_sites do |t|
13
+ create_table :comfy_cms_sites do |t|
14
14
  t.string :label, :null => false
15
15
  t.string :identifier, :null => false
16
16
  t.string :hostname, :null => false
@@ -18,11 +18,11 @@ class CreateCms < ActiveRecord::Migration
18
18
  t.string :locale, :null => false, :default => 'en'
19
19
  t.boolean :is_mirrored, :null => false, :default => false
20
20
  end
21
- add_index :cms_sites, :hostname
22
- add_index :cms_sites, :is_mirrored
21
+ add_index :comfy_cms_sites, :hostname
22
+ add_index :comfy_cms_sites, :is_mirrored
23
23
 
24
24
  # -- Layouts ------------------------------------------------------------
25
- create_table :cms_layouts do |t|
25
+ create_table :comfy_cms_layouts do |t|
26
26
  t.integer :site_id, :null => false
27
27
  t.integer :parent_id
28
28
  t.string :app_layout
@@ -35,11 +35,11 @@ class CreateCms < ActiveRecord::Migration
35
35
  t.boolean :is_shared, :null => false, :default => false
36
36
  t.timestamps
37
37
  end
38
- add_index :cms_layouts, [:parent_id, :position]
39
- add_index :cms_layouts, [:site_id, :identifier], :unique => true
38
+ add_index :comfy_cms_layouts, [:parent_id, :position]
39
+ add_index :comfy_cms_layouts, [:site_id, :identifier], :unique => true
40
40
 
41
41
  # -- Pages --------------------------------------------------------------
42
- create_table :cms_pages do |t|
42
+ create_table :comfy_cms_pages do |t|
43
43
  t.integer :site_id, :null => false
44
44
  t.integer :layout_id
45
45
  t.integer :parent_id
@@ -47,27 +47,28 @@ class CreateCms < ActiveRecord::Migration
47
47
  t.string :label, :null => false
48
48
  t.string :slug
49
49
  t.string :full_path, :null => false
50
- t.text :content, text_limit
50
+ t.text :content_cache, text_limit
51
51
  t.integer :position, :null => false, :default => 0
52
52
  t.integer :children_count, :null => false, :default => 0
53
53
  t.boolean :is_published, :null => false, :default => true
54
54
  t.boolean :is_shared, :null => false, :default => false
55
55
  t.timestamps
56
56
  end
57
- add_index :cms_pages, [:site_id, :full_path]
58
- add_index :cms_pages, [:parent_id, :position]
57
+ add_index :comfy_cms_pages, [:site_id, :full_path]
58
+ add_index :comfy_cms_pages, [:parent_id, :position]
59
59
 
60
60
  # -- Page Blocks --------------------------------------------------------
61
- create_table :cms_blocks do |t|
62
- t.integer :page_id, :null => false
63
- t.string :identifier, :null => false
64
- t.text :content, text_limit
61
+ create_table :comfy_cms_blocks do |t|
62
+ t.string :identifier, :null => false
63
+ t.text :content, text_limit
64
+ t.references :blockable, :polymorphic => true
65
65
  t.timestamps
66
66
  end
67
- add_index :cms_blocks, [:page_id, :identifier]
67
+ add_index :comfy_cms_blocks, [:identifier]
68
+ add_index :comfy_cms_blocks, [:blockable_id, :blockable_type]
68
69
 
69
70
  # -- Snippets -----------------------------------------------------------
70
- create_table :cms_snippets do |t|
71
+ create_table :comfy_cms_snippets do |t|
71
72
  t.integer :site_id, :null => false
72
73
  t.string :label, :null => false
73
74
  t.string :identifier, :null => false
@@ -76,11 +77,11 @@ class CreateCms < ActiveRecord::Migration
76
77
  t.boolean :is_shared, :null => false, :default => false
77
78
  t.timestamps
78
79
  end
79
- add_index :cms_snippets, [:site_id, :identifier], :unique => true
80
- add_index :cms_snippets, [:site_id, :position]
80
+ add_index :comfy_cms_snippets, [:site_id, :identifier], :unique => true
81
+ add_index :comfy_cms_snippets, [:site_id, :position]
81
82
 
82
83
  # -- Files --------------------------------------------------------------
83
- create_table :cms_files do |t|
84
+ create_table :comfy_cms_files do |t|
84
85
  t.integer :site_id, :null => false
85
86
  t.integer :block_id
86
87
  t.string :label, :null => false
@@ -91,47 +92,48 @@ class CreateCms < ActiveRecord::Migration
91
92
  t.integer :position, :null => false, :default => 0
92
93
  t.timestamps
93
94
  end
94
- add_index :cms_files, [:site_id, :label]
95
- add_index :cms_files, [:site_id, :file_file_name]
96
- add_index :cms_files, [:site_id, :position]
97
- add_index :cms_files, [:site_id, :block_id]
95
+ add_index :comfy_cms_files, [:site_id, :label]
96
+ add_index :comfy_cms_files, [:site_id, :file_file_name]
97
+ add_index :comfy_cms_files, [:site_id, :position]
98
+ add_index :comfy_cms_files, [:site_id, :block_id]
98
99
 
99
100
  # -- Revisions -----------------------------------------------------------
100
- create_table :cms_revisions, :force => true do |t|
101
+ create_table :comfy_cms_revisions, :force => true do |t|
101
102
  t.string :record_type, :null => false
102
103
  t.integer :record_id, :null => false
103
104
  t.text :data, text_limit
104
105
  t.datetime :created_at
105
106
  end
106
- add_index :cms_revisions, [:record_type, :record_id, :created_at],
107
+ add_index :comfy_cms_revisions, [:record_type, :record_id, :created_at],
107
108
  :name => 'index_cms_revisions_on_rtype_and_rid_and_created_at'
108
109
 
109
110
  # -- Categories ---------------------------------------------------------
110
- create_table :cms_categories, :force => true do |t|
111
+ create_table :comfy_cms_categories, :force => true do |t|
111
112
  t.integer :site_id, :null => false
112
113
  t.string :label, :null => false
113
114
  t.string :categorized_type, :null => false
114
115
  end
115
- add_index :cms_categories, [:site_id, :categorized_type, :label], :unique => true
116
+ add_index :comfy_cms_categories, [:site_id, :categorized_type, :label], :unique => true,
117
+ :name => 'index_cms_categories_on_site_id_and_cat_type_and_label'
116
118
 
117
- create_table :cms_categorizations, :force => true do |t|
119
+ create_table :comfy_cms_categorizations, :force => true do |t|
118
120
  t.integer :category_id, :null => false
119
121
  t.string :categorized_type, :null => false
120
122
  t.integer :categorized_id, :null => false
121
123
  end
122
- add_index :cms_categorizations, [:category_id, :categorized_type, :categorized_id], :unique => true,
124
+ add_index :comfy_cms_categorizations, [:category_id, :categorized_type, :categorized_id], :unique => true,
123
125
  :name => 'index_cms_categorizations_on_cat_id_and_catd_type_and_catd_id'
124
126
  end
125
127
 
126
128
  def self.down
127
- drop_table :cms_sites
128
- drop_table :cms_layouts
129
- drop_table :cms_pages
130
- drop_table :cms_snippets
131
- drop_table :cms_blocks
132
- drop_table :cms_files
133
- drop_table :cms_revisions
134
- drop_table :cms_categories
135
- drop_table :cms_categorizations
129
+ drop_table :comfy_cms_sites
130
+ drop_table :comfy_cms_layouts
131
+ drop_table :comfy_cms_pages
132
+ drop_table :comfy_cms_snippets
133
+ drop_table :comfy_cms_blocks
134
+ drop_table :comfy_cms_files
135
+ drop_table :comfy_cms_revisions
136
+ drop_table :comfy_cms_categories
137
+ drop_table :comfy_cms_categorizations
136
138
  end
137
- end
139
+ end