aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/gemspec.rb15
-rw-r--r--lib/generators/refinery/blog/blog_generator.rb21
-rw-r--r--lib/generators/refinerycms_blog_generator.rb8
-rw-r--r--lib/refinery/blog.rb40
-rw-r--r--lib/refinery/blog/engine.rb29
-rw-r--r--lib/refinery/blog/tabs.rb16
-rw-r--r--lib/refinery/blog/version.rb6
-rw-r--r--lib/refinerycms-blog.rb42
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'