diff options
22 files changed, 152 insertions, 78 deletions
diff --git a/app/models/blog_comment.rb b/app/models/blog_comment.rb index b888e35..9b84ece 100644 --- a/app/models/blog_comment.rb +++ b/app/models/blog_comment.rb @@ -60,11 +60,16 @@ class BlogComment < ActiveRecord::Base end def toggle! - RefinerySetting[:comment_moderation] = { - :value => !self.enabled?, + new_value = { + :value => !BlogComment::Moderation.enabled?, :scoping => :blog, :restricted => false } + if RefinerySetting.respond_to?(:set) + RefinerySetting.set(:comment_moderation, new_value) + else + RefinerySetting[:comment_moderation] = new_value + end end end end @@ -80,11 +85,16 @@ class BlogComment < ActiveRecord::Base end def recipients=(emails) - RefinerySetting[:comment_notification_recipients] = { + new_value = { :value => emails, :scoping => :blog, :restricted => false } + if RefinerySetting.respond_to?(:set) + RefinerySetting.set(:comment_notification_recipients, new_value) + else + RefinerySetting[:comment_notification_recipients] = new_value + end end def subject @@ -95,11 +105,16 @@ class BlogComment < ActiveRecord::Base end def subject=(subject_line) - RefinerySetting[:comment_notification_subject] = { + new_value = { :value => subject_line, :scoping => :blog, :restricted => false } + if RefinerySetting.respond_to?(:set) + RefinerySetting.set(:comment_notification_subject, new_value) + else + RefinerySetting[:comment_notification_subject] = new_value + end end end end diff --git a/app/views/admin/blog/_submenu.html.erb b/app/views/admin/blog/_submenu.html.erb index 5db96cf..a966f5b 100644 --- a/app/views/admin/blog/_submenu.html.erb +++ b/app/views/admin/blog/_submenu.html.erb @@ -78,9 +78,12 @@ </ul> </nav> -<% content_for :stylesheets do -%> - <%= stylesheet_link_tag 'refinery/refinerycms-blog' %> -<% end -%> -<% content_for :javascripts do -%> - <%= javascript_include_tag 'refinery/refinerycms-blog' %> -<% end -%>
\ No newline at end of file +<% if Refinery.version < '0.9.9' %> + <% content_for :head do %> + <%= stylesheet_link_tag('refinery/refinerycms-blog') %> + <%# this javascript is not even required in >= 0.9.9 because we made this sort of menu core. %> + <%= javascript_link_tag('refinery/refinerycms-blog') %> + <% end %> +<% else %> + <% content_for :stylesheets, stylesheet_link_tag('refinery/refinerycms-blog')%> +<% end %>
\ No newline at end of file diff --git a/app/views/admin/blog/comments/show.html.erb b/app/views/admin/blog/comments/show.html.erb index d4c2186..82a5f6f 100644 --- a/app/views/admin/blog/comments/show.html.erb +++ b/app/views/admin/blog/comments/show.html.erb @@ -59,5 +59,8 @@ </tr> </table> </div> - -<% content_for :stylesheets, stylesheet_link_tag('refinery/refinerycms-blog') %> +<% if Refinery.version < '0.9.9' %> + <% content_for :head, stylesheet_link_tag('refinery/refinerycms-blog') %> +<% else %> + <% content_for :stylesheets, stylesheet_link_tag('refinery/refinerycms-blog') %> +<% end %>
\ No newline at end of file diff --git a/app/views/admin/blog/posts/_form.css.erb b/app/views/admin/blog/posts/_form.css.erb new file mode 100644 index 0000000..d6f2c20 --- /dev/null +++ b/app/views/admin/blog/posts/_form.css.erb @@ -0,0 +1,7 @@ +<style type='text/css'> + ul.blog_categories, ul.blog_categories li { + list-style: none; + margin: 0px; + padding: 0px; + } +</style>
\ No newline at end of file diff --git a/app/views/admin/blog/posts/_form.html.erb b/app/views/admin/blog/posts/_form.html.erb index de46afc..5779e4c 100644 --- a/app/views/admin/blog/posts/_form.html.erb +++ b/app/views/admin/blog/posts/_form.html.erb @@ -57,27 +57,13 @@ :delete_title => t('admin.blog.posts.post.delete') } %> <% end -%> -<% content_for :stylesheets do -%> - <style type='text/css'> - ul.blog_categories, ul.blog_categories li { - list-style: none; - margin: 0px; - padding: 0px; - } - </style> -<% end -%> -<% content_for :after_javascript_libraries do %> - <script type='text/javascript'> - $(document).ready(function(){ - $('#toggle_advanced_options').click(function(e){ - e.preventDefault(); - - $('#more_options').animate({opacity: 'toggle', height: 'toggle'}, 250); - $('html,body').animate({ - scrollTop: $('#toggle_advanced_options').parent().offset().top - }, 250); - }); - }); - </script> -<% end %>
\ No newline at end of file +<% if Refinery.version < '0.9.9' %> + <% content_for :head do %> + <%= render :partial => 'form.css' %> + <%= render :partial => 'form.js' %> + <% end %> +<% else %> + <% content_for :stylesheets, render(:partial => 'form.css') -%> + <% content_for :javascripts, render(:partial => 'form.js') -%> +<% end %> diff --git a/app/views/admin/blog/posts/_form.js.erb b/app/views/admin/blog/posts/_form.js.erb new file mode 100644 index 0000000..394975f --- /dev/null +++ b/app/views/admin/blog/posts/_form.js.erb @@ -0,0 +1,13 @@ +<script> + $(document).ready(function(){ + $('#toggle_advanced_options').click(function(e){ + e.preventDefault(); + + $('#more_options').animate({opacity: 'toggle', height: 'toggle'}, 250); + + $('html,body').animate({ + scrollTop: $('#toggle_advanced_options').parent().offset().top + }, 250); + }); + }); +</script>
\ No newline at end of file diff --git a/app/views/blog/posts/show.html.erb b/app/views/blog/posts/show.html.erb index 1c725d5..603a44f 100644 --- a/app/views/blog/posts/show.html.erb +++ b/app/views/blog/posts/show.html.erb @@ -1,17 +1,8 @@ -<% content_for :after_javascript_libraries do %> - <% if BlogPost::ShareThis.enabled? %> - <script src="http://w.sharethis.com/button/buttons.js"></script> - <script> - stLight.options({publisher:'<%= BlogPost::ShareThis.key %>'}); - </script> - <% end %> -<% end %> - <% content_for :body_content_left do %> <div id="show_blog_post"> <%= render 'post' %> </div> - + <% if BlogPost.comments_allowed? %> <aside id="comments"> <h2><%= t('.comments.title') %></h2> @@ -73,5 +64,22 @@ <% end %> <%= render :partial => "/shared/content_page", :locals => { :remove_automatic_sections => true } %> -<% content_for :stylesheets, stylesheet_link_tag('refinerycms-blog') %> -<% content_for :javascripts, javascript_include_tag('jquery','refinerycms-blog') %>
\ No newline at end of file + +<% if Refinery.version < '0.9.9' %> + <% content_for :head_libraries, jquery_include_tags(:jquery_ui => false) %> + <% content_for :head do %> + <%= stylesheet_link_tag 'refinerycms-blog' %> + <%= javascript_include_tag('refinerycms-blog') %> + <% if BlogPost::ShareThis.enabled? %> + <script src="http://w.sharethis.com/button/buttons.js"></script> + <script>stLight.options({publisher:'<%= BlogPost::ShareThis.key %>'});</script> + <% end %> +<% else %> + <% content_for :stylesheets, stylesheet_link_tag('refinerycms-blog') %> + <% content_for :before_javascript_libraries, jquery_include_tags(:jquery_ui => false) %> + <% content_for :javascripts do %> + <%= javascript_include_tag 'refinerycms-blog' %> + <script src="http://w.sharethis.com/button/buttons.js"></script> + <script>stLight.options({publisher:'<%= BlogPost::ShareThis.key %>'});</script> + <% end if BlogPost::ShareThis.enabled? %> +<% end %>
\ No newline at end of file diff --git a/spec/factories/blog_categories.rb b/features/support/factories/blog_categories.rb index 590e5b5..be28d88 100644 --- a/spec/factories/blog_categories.rb +++ b/features/support/factories/blog_categories.rb @@ -1,4 +1,4 @@ Factory.define(:blog_category) do |f| f.title "Shopping" - f.posts {|p| [p.association :post]} + f.posts {|p| [p.association(:post)]} end
\ No newline at end of file diff --git a/spec/factories/blog_comments.rb b/features/support/factories/blog_comments.rb index 93beaf3..93beaf3 100644 --- a/spec/factories/blog_comments.rb +++ b/features/support/factories/blog_comments.rb diff --git a/spec/factories/blog_posts.rb b/features/support/factories/blog_posts.rb index 6947e81..6947e81 100644 --- a/spec/factories/blog_posts.rb +++ b/features/support/factories/blog_posts.rb diff --git a/features/support/paths.rb b/features/support/paths.rb new file mode 100644 index 0000000..dbd04dd --- /dev/null +++ b/features/support/paths.rb @@ -0,0 +1,24 @@ +module NavigationHelpers + module Refinery + module Blog + def path_to(page_name) + case page_name + when /the list of blog posts/ + admin_blog_posts_path + when /the new blog posts? form/ + new_admin_blog_post_path + else + begin + if page_name =~ /the blog post titled "?([^\"]*)"?/ and (page = BlogPost.find_by_title($1)).present? + self.url_for(page.url) + else + nil + end + rescue + nil + end + end + end + end + end +end diff --git a/generators/refinery_blog/refinery_blog_generator.rb b/generators/refinerycms_blog/refinerycms_blog_generator.rb index 383d237..2945823 100644 --- a/generators/refinery_blog/refinery_blog_generator.rb +++ b/generators/refinerycms_blog/refinerycms_blog_generator.rb @@ -1,4 +1,4 @@ -class RefineryBlogGenerator < Rails::Generator::NamedBase +class RefinerycmsBlogGenerator < Rails::Generator::NamedBase def initialize(*runtime_args) # set argument for the user. @@ -7,7 +7,7 @@ class RefineryBlogGenerator < Rails::Generator::NamedBase end def banner - 'Usage: script/generate refinery_blog' + 'Usage: script/generate refinerycms_blog' end def manifest @@ -24,7 +24,7 @@ class RefineryBlogGenerator < Rails::Generator::NamedBase path = (%w(public) | image.split('public/').last.split('/'))[0...-1].join('/') m.template "../../../#{path}/#{image.split('/').last}", "#{path}/#{image.split('/').last}" end - + m.directory('db/seeds') m.template('db/seeds/seed.rb', 'db/seeds/refinerycms_blog.rb') diff --git a/generators/refinery_blog/templates/db/migrate/migration.rb b/generators/refinerycms_blog/templates/db/migrate/migration.rb index 5ba29c6..5ba29c6 100644 --- a/generators/refinery_blog/templates/db/migrate/migration.rb +++ b/generators/refinerycms_blog/templates/db/migrate/migration.rb diff --git a/generators/refinery_blog/templates/db/seeds/seed.rb b/generators/refinerycms_blog/templates/db/seeds/seed.rb index 228fc7b..228fc7b 100644 --- a/generators/refinery_blog/templates/db/seeds/seed.rb +++ b/generators/refinerycms_blog/templates/db/seeds/seed.rb diff --git a/lib/generators/refinery_blog/templates/db/migrate/migration_number_create_singular_name.rb b/lib/generators/refinerycms_blog/templates/db/migrate/migration_number_create_singular_name.rb index badb213..badb213 100644 --- a/lib/generators/refinery_blog/templates/db/migrate/migration_number_create_singular_name.rb +++ b/lib/generators/refinerycms_blog/templates/db/migrate/migration_number_create_singular_name.rb diff --git a/lib/generators/refinery_blog/templates/db/seeds/seed.rb b/lib/generators/refinerycms_blog/templates/db/seeds/seed.rb index f958fab..f958fab 100644 --- a/lib/generators/refinery_blog/templates/db/seeds/seed.rb +++ b/lib/generators/refinerycms_blog/templates/db/seeds/seed.rb diff --git a/lib/generators/refinery_blog_generator.rb b/lib/generators/refinerycms_blog_generator.rb index 4f0cbe6..ba21e9f 100644 --- a/lib/generators/refinery_blog_generator.rb +++ b/lib/generators/refinerycms_blog_generator.rb @@ -1,9 +1,9 @@ require 'rails/generators/migration' -class RefineryBlogGenerator < Rails::Generators::NamedBase +class RefinerycmsBlogGenerator < Rails::Generators::NamedBase include Rails::Generators::Migration - source_root File.expand_path('../refinery_blog/templates/', __FILE__) + source_root File.expand_path('../refinerycms_blog/templates/', __FILE__) argument :name, :type => :string, :default => 'blog_structure', :banner => '' def generate @@ -11,13 +11,17 @@ Options: Open up your ``Gemfile`` and add at the bottom this line - gem 'refinerycms-blog', '~> 1.0.rc16' + gem 'refinerycms-blog', '= 1.0.rc16' Now run ``bundle install`` -Next to install the blog plugin run: +Next to install the blog plugin run (for Rails 2): - ruby script/generate refinery_blog + ruby script/generate refinerycms_blog + +Or, for Rails 3: + + rails generate refinerycms_blog Finally migrate your database and you're done. diff --git a/refinerycms-blog.gemspec b/refinerycms-blog.gemspec index 27c304f..accaaaf 100644 --- a/refinerycms-blog.gemspec +++ b/refinerycms-blog.gemspec @@ -2,7 +2,7 @@ Gem::Specification.new do |s| s.name = %q{refinerycms-blog} s.version = %q{1.0.rc16} s.description = %q{A really straightforward open source Ruby on Rails blog engine designed for integration with RefineryCMS.} - s.date = %q{2010-11-15} + s.date = %q{2010-11-22} s.summary = %q{Ruby on Rails blogging engine for RefineryCMS.} s.email = %q{info@refinerycms.com} s.homepage = %q{http://refinerycms.com} @@ -24,6 +24,8 @@ Gem::Specification.new do |s| app/controllers/blog/categories_controller.rb app/controllers/blog/posts_controller.rb app/controllers/blog_controller.rb + app/helpers + app/helpers/blog_posts_helper.rb app/mailers app/mailers/blog app/mailers/blog/comment_mailer.rb @@ -50,7 +52,9 @@ Gem::Specification.new do |s| app/views/admin/blog/comments/index.html.erb app/views/admin/blog/comments/show.html.erb app/views/admin/blog/posts + app/views/admin/blog/posts/_form.css.erb app/views/admin/blog/posts/_form.html.erb + app/views/admin/blog/posts/_form.js.erb app/views/admin/blog/posts/_post.html.erb app/views/admin/blog/posts/_sortable_list.html.erb app/views/admin/blog/posts/edit.html.erb @@ -65,6 +69,9 @@ Gem::Specification.new do |s| app/views/blog/comment_mailer/notification.html.erb app/views/blog/posts app/views/blog/posts/_comment.html.erb + app/views/blog/posts/_nav.html.erb + app/views/blog/posts/_post.html.erb + app/views/blog/posts/archive.html.erb app/views/blog/posts/index.html.erb app/views/blog/posts/index.rss.builder app/views/blog/posts/show.html.erb @@ -83,25 +90,25 @@ Gem::Specification.new do |s| Gemfile Gemfile.lock generators - generators/refinery_blog - generators/refinery_blog/refinery_blog_generator.rb - generators/refinery_blog/templates - generators/refinery_blog/templates/db - generators/refinery_blog/templates/db/migrate - generators/refinery_blog/templates/db/migrate/migration.rb - generators/refinery_blog/templates/db/seeds - generators/refinery_blog/templates/db/seeds/seed.rb + generators/refinerycms_blog + generators/refinerycms_blog/refinerycms_blog_generator.rb + generators/refinerycms_blog/templates + generators/refinerycms_blog/templates/db + generators/refinerycms_blog/templates/db/migrate + generators/refinerycms_blog/templates/db/migrate/migration.rb + generators/refinerycms_blog/templates/db/seeds + generators/refinerycms_blog/templates/db/seeds/seed.rb lib lib/gemspec.rb lib/generators - lib/generators/refinery_blog - lib/generators/refinery_blog/templates - lib/generators/refinery_blog/templates/db - lib/generators/refinery_blog/templates/db/migrate - lib/generators/refinery_blog/templates/db/migrate/migration_number_create_singular_name.rb - lib/generators/refinery_blog/templates/db/seeds - lib/generators/refinery_blog/templates/db/seeds/seed.rb - lib/generators/refinery_blog_generator.rb + lib/generators/refinerycms_blog + lib/generators/refinerycms_blog/templates + lib/generators/refinerycms_blog/templates/db + lib/generators/refinerycms_blog/templates/db/migrate + lib/generators/refinerycms_blog/templates/db/migrate/migration_number_create_singular_name.rb + lib/generators/refinerycms_blog/templates/db/seeds + lib/generators/refinerycms_blog/templates/db/seeds/seed.rb + lib/generators/refinerycms_blog_generator.rb lib/refinerycms-blog.rb public public/images @@ -124,6 +131,7 @@ Gem::Specification.new do |s| public/javascripts public/javascripts/refinery public/javascripts/refinery/refinerycms-blog.js + public/javascripts/refinerycms-blog.js public/stylesheets public/stylesheets/refinery public/stylesheets/refinery/refinerycms-blog.css diff --git a/spec/models/blog_categories_spec.rb b/spec/models/blog_categories_spec.rb index d97172c..90d9e22 100644 --- a/spec/models/blog_categories_spec.rb +++ b/spec/models/blog_categories_spec.rb @@ -1,20 +1,21 @@ require 'spec_helper' +Dir[File.expand_path('../../../features/support/factories/*.rb', __FILE__)].each{|factory| require factory} describe BlogCategory do context "wiring up" do - + before(:each) do @category = Factory(:blog_category) end - + it "saves" do @category.should_not be_nil end - + it "has a blog post" do BlogPost.last.categories.should include(@category) end - + end - + end
\ No newline at end of file diff --git a/spec/models/blog_comments_spec.rb b/spec/models/blog_comments_spec.rb index 145626d..7966b46 100644 --- a/spec/models/blog_comments_spec.rb +++ b/spec/models/blog_comments_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +Dir[File.expand_path('../../../features/support/factories/*.rb', __FILE__)].each{|factory| require factory} describe BlogComment do diff --git a/spec/models/blog_posts_spec.rb b/spec/models/blog_posts_spec.rb index a334c73..3801de8 100644 --- a/spec/models/blog_posts_spec.rb +++ b/spec/models/blog_posts_spec.rb @@ -1,4 +1,5 @@ require 'spec_helper' +Dir[File.expand_path('../../../features/support/factories/*.rb', __FILE__)].each{|factory| require factory} describe BlogPost do context "wiring up" do |