diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/gemspec.rb | 15 | ||||
-rw-r--r-- | lib/generators/refinery/blog/blog_generator.rb | 21 | ||||
-rw-r--r-- | lib/generators/refinerycms_blog_generator.rb | 8 | ||||
-rw-r--r-- | lib/refinery/blog.rb | 40 | ||||
-rw-r--r-- | lib/refinery/blog/engine.rb | 29 | ||||
-rw-r--r-- | lib/refinery/blog/tabs.rb | 16 | ||||
-rw-r--r-- | lib/refinery/blog/version.rb | 6 | ||||
-rw-r--r-- | lib/refinerycms-blog.rb | 42 |
8 files changed, 107 insertions, 70 deletions
diff --git a/lib/gemspec.rb b/lib/gemspec.rb index 3562315..5508df6 100644 --- a/lib/gemspec.rb +++ b/lib/gemspec.rb @@ -2,9 +2,12 @@ require File.expand_path('../refinery/blog/version', __FILE__) version = ::Refinery::Blog::Version.to_s raise "Could not get version so gemspec can not be built" if version.nil? -files = Dir.glob("**/*").flatten.reject{|f| f =~ %r{.gem$}} +files = Dir.glob("**/*").flatten.reject{|f| f =~ %r{(.gem$|^spec/dummy|.lock$)}} gemspec = <<EOF +# Encoding: UTF-8 +# DO NOT EDIT THIS FILE DIRECTLY! Instead, use lib/gemspec.rb to generate it. + Gem::Specification.new do |s| s.name = %q{refinerycms-blog} s.version = %q{#{version}} @@ -17,20 +20,18 @@ Gem::Specification.new do |s| s.require_paths = %w(lib) # Runtime dependencies - s.add_dependency 'refinerycms-core', '~> 1.0.3' + s.add_dependency 'refinerycms-core', '~> 2.0.0' s.add_dependency 'filters_spam', '~> 0.2' s.add_dependency 'acts-as-taggable-on' - s.add_dependency 'seo_meta', '~> 1.1.0' + s.add_dependency 'seo_meta', '~> 1.2.0.rc1' + s.add_dependency 'rails_autolink' # Development dependencies - s.add_development_dependency 'factory_girl' + s.add_development_dependency 'refinerycms-testing', '~> 2.0.0' s.files = %w( #{files.join("\n ")} ) - #{"s.test_files = %w( - #{Dir.glob("test/**/*.rb").join("\n ")} - )" if File.directory?("test")} end EOF diff --git a/lib/generators/refinery/blog/blog_generator.rb b/lib/generators/refinery/blog/blog_generator.rb new file mode 100644 index 0000000..a7d49a3 --- /dev/null +++ b/lib/generators/refinery/blog/blog_generator.rb @@ -0,0 +1,21 @@ +module Refinery + class BlogGenerator < Rails::Generators::Base + + def rake_db + rake("refinery_blog:install:migrations") + end + + source_root File.expand_path('../templates', __FILE__) + + def append_load_seed_data + append_file 'db/seeds.rb', :verbose => true do + <<-EOH + +# Added by RefineryCMS Blog engine +Refinery::Blog::Engine.load_seed + EOH + end + end + + end +end diff --git a/lib/generators/refinerycms_blog_generator.rb b/lib/generators/refinerycms_blog_generator.rb deleted file mode 100644 index 6fca607..0000000 --- a/lib/generators/refinerycms_blog_generator.rb +++ /dev/null @@ -1,8 +0,0 @@ -require 'refinery/generators' - -class RefinerycmsBlogGenerator < ::Refinery::Generators::EngineInstaller - - source_root File.expand_path('../../../', __FILE__) - engine_name "refinerycms-blog" - -end
\ No newline at end of file diff --git a/lib/refinery/blog.rb b/lib/refinery/blog.rb new file mode 100644 index 0000000..6b3b72c --- /dev/null +++ b/lib/refinery/blog.rb @@ -0,0 +1,40 @@ +require 'refinerycms-core' +require 'filters_spam' +require 'rails_autolink' + +module Refinery + autoload :BlogGenerator, 'generators/refinery/blog/blog_generator' + + module Blog + + require 'refinery/blog/engine' if defined?(Rails) + + autoload :Version, 'refinery/blog/version' + autoload :Tab, 'refinery/blog/tabs' + + class << self + attr_writer :root + attr_writer :tabs + + def root + @root ||= Pathname.new(File.expand_path('../../', __FILE__)) + end + + def tabs + @tabs ||= [] + end + + def version + ::Refinery::Blog::Version.to_s + end + + def factory_paths + @factory_paths ||= [ root.join("spec/factories").to_s ] + end + + def table_name_prefix + 'refinery_blog_' + end + end + end +end diff --git a/lib/refinery/blog/engine.rb b/lib/refinery/blog/engine.rb new file mode 100644 index 0000000..3c829ca --- /dev/null +++ b/lib/refinery/blog/engine.rb @@ -0,0 +1,29 @@ +require 'refinerycms-blog' +require 'rails' + +module Refinery + module Blog + class Engine < Rails::Engine + include Refinery::Engine + + isolate_namespace Refinery + engine_name :refinery_blog + + initializer "register refinerycms_blog plugin", :after => :set_routes_reloader do |app| + Refinery::Plugin.register do |plugin| + plugin.pathname = root + plugin.name = "refinerycms_blog" + plugin.url = app.routes.url_helpers.refinery_admin_blog_posts_path + plugin.menu_match = /^\/refinery\/blog\/?(posts|comments|categories)?/ + plugin.activity = { + :class_name => :'refinery/blog/post' + } + end + end + + config.after_initialize do + Refinery.register_engine(Refinery::Blog) + end + end + end +end diff --git a/lib/refinery/blog/tabs.rb b/lib/refinery/blog/tabs.rb index 083d50b..519b90e 100644 --- a/lib/refinery/blog/tabs.rb +++ b/lib/refinery/blog/tabs.rb @@ -1,11 +1,5 @@ module Refinery - module Blog - attr_accessor :tabs - - def self.tabs - @tabs ||= [] - end - + module Blog class Tab attr_accessor :name, :partial @@ -18,11 +12,11 @@ module Refinery raise "A tab MUST have a partial!: #{tab.inspect}" if tab.partial.blank? end - protected + protected - def initialize - ::Refinery::Blog.tabs << self # add me to the collection of registered page tabs - end + def initialize + ::Refinery::Blog.tabs << self # add me to the collection of registered page tabs + end end end end
\ No newline at end of file diff --git a/lib/refinery/blog/version.rb b/lib/refinery/blog/version.rb index 0390414..4023000 100644 --- a/lib/refinery/blog/version.rb +++ b/lib/refinery/blog/version.rb @@ -1,9 +1,9 @@ module Refinery module Blog class Version - @major = 1 - @minor = 6 - @tiny = 2 + @major = 2 + @minor = 0 + @tiny = 0 class << self attr_reader :major, :minor, :tiny diff --git a/lib/refinerycms-blog.rb b/lib/refinerycms-blog.rb index 452863b..e08f070 100644 --- a/lib/refinerycms-blog.rb +++ b/lib/refinerycms-blog.rb @@ -1,41 +1 @@ -require 'filters_spam' - -module Refinery - module Blog - autoload :Version, File.expand_path('../refinery/blog/version', __FILE__) - autoload :Tab, File.expand_path("../refinery/blog/tabs", __FILE__) - - class << self - attr_accessor :root - def root - @root ||= Pathname.new(File.expand_path('../../', __FILE__)) - end - - def version - ::Refinery::Blog::Version.to_s - end - end - - class Engine < Rails::Engine - initializer 'blog serves assets' do |app| - app.middleware.insert_after ::ActionDispatch::Static, ::ActionDispatch::Static, "#{root}/public" - end - - config.to_prepare do - require File.expand_path('../refinery/blog/tabs', __FILE__) - end - - config.after_initialize do - Refinery::Plugin.register do |plugin| - plugin.pathname = root - plugin.name = "refinerycms_blog" - plugin.url = {:controller => '/admin/blog/posts', :action => 'index'} - plugin.menu_match = /^\/?(admin|refinery)\/blog\/?(posts|comments|categories)?/ - plugin.activity = { - :class => BlogPost - } - end - end - end if defined?(Rails::Engine) - end -end +require 'refinery/blog' |