refinerycms 0.9.6.13 → 0.9.6.14

Sign up to get free protection for your applications and to get access to all the features.
data/Gemfile CHANGED
@@ -3,7 +3,7 @@
3
3
  #===REFINERY REQUIRED GEMS===
4
4
  source "http://rubygems.org"
5
5
  gem "aasm", ">= 2.1.3", :require => "aasm"
6
- gem "friendly_id", ">= 2.2.2", :require => "friendly_id"
6
+ gem "friendly_id", ">= 2.3.2", :require => "friendly_id"
7
7
  gem "hpricot", ">= 0.8.1", :require => "hpricot"
8
8
  gem "slim_scrooge", ">= 1.0.5", :require => "slim_scrooge"
9
9
  gem "will_paginate", ">= 2.3.11", :require => "will_paginate"
data/Rakefile CHANGED
@@ -6,9 +6,8 @@ begin
6
6
  require File.join(File.dirname(__FILE__), 'config', 'environment')
7
7
  rescue Exception
8
8
  # Log the exception to the console/logfile.
9
- puts "*** Couldn't load the config/environment file because something went wrong. Trace below: ***"
10
- puts $!.backtrace
11
- puts "\n*** So, we'll attempt to load in config/boot instead... ***"
9
+ puts "*** Couldn't load the config/environment file because something went wrong... ***"
10
+ puts "*** Don't worry, we'll do it the normal way and load in config/boot instead... ***"
12
11
 
13
12
  # Load up the boot file instead because there's something wrong with the environment.
14
13
  require File.join(File.dirname(__FILE__), 'config', 'boot')
@@ -23,12 +22,12 @@ require 'tasks/rails'
23
22
  # Because we use plugins that are shipped via gems, we lose their rake tasks.
24
23
  # So here, we find them (if there are any) and include them into rake.
25
24
  extra_rake_tasks = []
26
- if Refinery.is_a_gem
25
+ if defined?(Refinery) && Refinery.is_a_gem
27
26
  extra_rake_tasks << Dir[Refinery.root.join("vendor", "plugins", "*", "**", "tasks", "**", "*", "*.rake")].sort
28
27
  end
29
28
 
30
29
  # We also need to load in the rake tasks from gem plugins whether Refinery is a gem or not:
31
- if defined?($refinery_gem_plugin_lib_paths) && !$refinery_gem_plugin_lib_paths.nil?
30
+ if $refinery_gem_plugin_lib_paths.present?
32
31
  extra_rake_tasks << $refinery_gem_plugin_lib_paths.collect {|path| Dir[File.join(%W(#{path} tasks ** *.rake))].sort}
33
32
  end
34
33
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.6.13
1
+ 0.9.6.14
@@ -9,7 +9,7 @@ unless RAILS_ROOT.nil? or RAILS_ROOT.length == 0
9
9
  FileUtils::makedirs dirs.map {|dir| File.join(RAILS_ROOT, dir) }
10
10
 
11
11
  # copy in the new assets.
12
- assets = [%w(public stylesheets refinery), %w(public javascripts refinery), %w(public javascripts wymeditor)]
12
+ assets = [%w(public stylesheets refinery), %w(public javascripts refinery), %w(public javascripts wymeditor), %w(VERSION)]
13
13
  assets.each do |asset|
14
14
  FileUtils::rm_rf File.join(RAILS_ROOT, asset), :secure => true # ensure the destination is clear.
15
15
  FileUtils::cp_r File.join(REFINERY_ROOT, asset), File.join(RAILS_ROOT, asset) # copy the new assets into the project.
@@ -1,4 +1,4 @@
1
- if defined?(Rails::Application)
1
+ if defined?(Rails::Application) # e.g. Rails 3
2
2
  module Refinery
3
3
  class Application < Rails::Application
4
4
  config.action_controller.session = {
@@ -8,7 +8,7 @@ if defined?(Rails::Application)
8
8
  end
9
9
 
10
10
  def gem_version
11
- #0.9.6
11
+ #"0.9.6.14"
12
12
  end
13
13
  end
14
14
  else
@@ -21,21 +21,20 @@ else
21
21
  # Specifies gem version of Rails to use when vendor/rails is not present
22
22
  RAILS_GEM_VERSION = '2.3.5' unless defined? RAILS_GEM_VERSION
23
23
  # Freeze to a specific version of refinerycms when running as a gem
24
- # REFINERY_GEM_VERSION = '0.9.6.13' unless defined? REFINERY_GEM_VERSION
24
+ # REFINERY_GEM_VERSION = '0.9.6.14' unless defined? REFINERY_GEM_VERSION
25
25
 
26
26
  # Bootstrap the Rails environment, frameworks, and default configuration
27
27
  require File.join(File.dirname(__FILE__), 'boot')
28
28
 
29
- eval("#{(defined? Refinery::Initializer) ? Refinery : Rails}::Initializer").run do |config|
29
+ # require the refinery initializer.
30
+ require Refinery.root.join("lib", "refinery_initializer").to_s
31
+
32
+ Refinery::Initializer.run do |config|
30
33
  # Settings in config/environments/* take precedence over those specified here.
31
34
  # Application configuration should go into files in config/initializers
32
35
  # -- all .rb files in that directory are automatically loaded.
33
36
  # See Rails::Configuration for more options.
34
37
 
35
- # Skip frameworks you're not going to use (only works if using vendor/rails).
36
- # To use Rails without a database, you must remove the Active Record framework
37
- # config.frameworks -= [ :active_record, :active_resource, :action_mailer ]
38
-
39
38
  # Only load the plugins named here, in the order given. By default, all plugins
40
39
  # in vendor/plugins are loaded in alphabetical order.
41
40
  # :all can be used as a placeholder for all plugins not explicitly named
@@ -78,7 +77,7 @@ else
78
77
  #===REFINERY REQUIRED GEMS===
79
78
  config.gem "bundler", :version => ">= 0.9.4"
80
79
  config.gem "rake", :version => ">= 0.8.3", :lib => "rake"
81
- config.gem "friendly_id", :version => ">= 2.2.2", :lib => "friendly_id"
80
+ config.gem "friendly_id", :version => ">= 2.3.2", :lib => "friendly_id"
82
81
  config.gem "will_paginate", :version => ">= 2.3.11", :lib => "will_paginate"
83
82
  config.gem "rails", :version => ">= 2.3.5", :lib => "rails"
84
83
  config.gem "aasm", :version => ">= 2.1.3", :lib => "aasm"
@@ -1,12 +1,8 @@
1
1
  require 'pathname'
2
-
3
- # until Rails 3
4
- # ENV["GEM_HOME"] = File.expand_path('../../vendor/bundler_gems', __FILE__)
5
-
6
2
  # pick the refinery root path
7
3
  rails_root = (defined?(Rails.root) ? Rails.root : Pathname.new(RAILS_ROOT)).cleanpath
8
- if (non_gem_path = rails_root.join("lib", "refinery_initializer.rb")).exist?
9
- require non_gem_path.to_s
4
+ if (non_gem_path = rails_root.join("vendor", "plugins", "refinery", "lib", "refinery.rb")).exist?
5
+ require non_gem_path.realpath.to_s
10
6
  else
11
7
  require 'rubygems'
12
8
  version = if defined? REFINERY_GEM_VERSION
@@ -1,23 +1,23 @@
1
1
  require 'pathname'
2
2
  root_directory = Pathname.new(File.expand_path(File.dirname(__FILE__) << "/.."))
3
- rails_root = ((defined?(Rails.root) && Rails.root.realpath.length > 0) ? Rails.root : Pathname.new(RAILS_ROOT))
3
+ rails_root = ((defined?(Rails.root) && Rails.root.realpath.to_s.length > 0) ? Rails.root : Pathname.new(RAILS_ROOT))
4
4
 
5
5
  if (non_gem_refinery = rails_root.join("vendor", "plugins", "refinery", "lib", "refinery.rb")).exist?
6
6
  require non_gem_refinery.realpath.to_s # this won't exist when using a gem.
7
+ Refinery.is_a_gem = false
7
8
  else
8
- require root_directory.join("vendor", "plugins", "refinery", "lib", "refinery.rb").realpath.to_s
9
+ require root_directory.join("vendor", "plugins", "refinery", "lib", "refinery").realpath.to_s
10
+ Refinery.is_a_gem = true
9
11
  end
10
12
 
11
13
  # Now we need to set some things that are used by the rest of the application.
12
14
  Refinery.root = root_directory.cleanpath
13
- if (Refinery.is_a_gem = (Refinery.root.realpath != rails_root.realpath))
14
- # If Refinery is installed from a gem then we need to load in a few extra files.
15
- $LOAD_PATH.unshift Refinery.root.join("vendor", "plugins").to_s
16
- $LOAD_PATH.unshift Refinery.root.join("vendor", "plugins", "refinery", "lib").to_s
15
+ $LOAD_PATH.unshift Refinery.root.join("vendor", "plugins").to_s
16
+ $LOAD_PATH.unshift Refinery.root.join("vendor", "plugins", "refinery", "lib").to_s
17
+ $LOAD_PATH.uniq!
17
18
 
18
- # We also need the refinery initializer when using a gem because this won't be autoloaded.
19
- require 'refinery/initializer'
20
- end
19
+ # We also need the other refinery initializer.
20
+ require 'refinery/initializer'
21
21
 
22
22
  # Pull in attachment_fu patch for windows
23
23
  require 'refinery/attachment_fu_patch' if RUBY_PLATFORM =~ /mswin/
data/readme.md CHANGED
@@ -30,7 +30,7 @@ Unlike other content managers, Refinery is truly aimed at the end user making it
30
30
  Refinery runs using a number of gems which (as of Refinery version 0.9.5.29) are outlined below:
31
31
 
32
32
  * [rake >= 0.8.3](http://rubygems.org/gems/rake)
33
- * [friendly_id >= 2.2.2](http://rubygems.org/gems/friendly_id)
33
+ * [friendly_id >= 2.3.2](http://rubygems.org/gems/friendly_id)
34
34
  * [will_paginate >= 2.3.11](http://rubygems.org/gems/will_paginate)
35
35
  * [rails >= 2.3.5](http://rubygems.org/gems/rails)
36
36
  * [aasm >= 2.1.3](http://rubygems.org/gems/aasm)
@@ -2,6 +2,9 @@ module Refinery
2
2
 
3
3
  class << self
4
4
  attr_accessor :root
5
+ def root
6
+ @root ||= Pathname.new(File.dirname(__FILE__).split("vendor").first.to_s)
7
+ end
5
8
  attr_accessor :is_a_gem
6
9
  end
7
10
 
@@ -1,6 +1,6 @@
1
+ # Try to include the rails initializer. If this isn't in a gem, this will fail.
1
2
  if Refinery.is_a_gem
2
3
  begin
3
- # Try to include the rails initializer. If this isn't in a gem, this will fail.
4
4
  require 'initializer'
5
5
  rescue LoadError => load_error
6
6
  # we don't need to do anything.
@@ -10,39 +10,71 @@ end
10
10
 
11
11
  module Refinery
12
12
 
13
- if defined? Rails::Configuration
14
- class Configuration < Rails::Configuration
15
- def default_plugin_paths
16
- paths = super.push(Refinery.root.join("vendor", "plugins")).uniq
13
+ class Configuration < Rails::Configuration
14
+ def default_plugin_paths
15
+ paths = super.push(Refinery.root.join("vendor", "plugins").to_s).uniq
16
+ end
17
+ end if defined?(Rails::Configuration)
18
+
19
+ class PluginLoader < Rails::Plugin::Loader
20
+ def add_plugin_load_paths
21
+ # call rails' add_plugin_load_paths
22
+ super
23
+
24
+ # add plugin lib paths to the $LOAD_PATH so that rake tasks etc. can be run when using a gem for refinery or gems for plugins.
25
+ search_for = Regexp.new(File.join(%W(\( #{Refinery.root.join("vendor", "plugins")} \)? .+? lib)))
26
+ paths = plugins.collect{ |plugin| plugin.load_paths }.flatten.reject{|path| path.scan(search_for).empty? or path.include?('/rails-') }
27
+ paths = paths.reject{ |path| path.include?(Refinery.root.to_s) } unless Refinery.is_a_gem
28
+ paths.uniq!
29
+ ($refinery_gem_plugin_lib_paths = paths).each do |path|
30
+ $LOAD_PATH.unshift path
17
31
  end
32
+ $LOAD_PATH.uniq!
18
33
  end
19
- end
20
34
 
21
- if defined? Rails::Plugin::Loader
22
- class PluginLoader < Rails::Plugin::Loader
23
- def add_plugin_load_paths
35
+ # We need to overload this because some gems raise errors if they're not installed
36
+ # rather than just letting the framework handle it so we need to trap them here.
37
+ def ensure_all_registered_plugins_are_loaded!
38
+ begin
24
39
  super
25
- # add plugin lib paths to the $LOAD_PATH so that rake tasks etc. can be run when using a gem for refinery or gems for plugins.
26
- search_for = Regexp.new(File.join(%W(\( #{Refinery.root.join("vendor", "plugins")} \)? .+? lib)))
27
- paths = plugins.collect{ |plugin| plugin.load_paths }.flatten.reject{|path| path.scan(search_for).empty? or path.include?('/rails-') }
28
- paths = paths.reject{ |path| path.include?(Refinery.root.to_s) } unless Refinery.is_a_gem
29
- paths.uniq!
30
- ($refinery_gem_plugin_lib_paths = paths).each do |path|
31
- $LOAD_PATH.unshift path
32
- end
33
- $LOAD_PATH.uniq!
40
+ rescue LoadError => load_error
41
+ raise LoadError, load_error.to_s unless load_error.to_s =~ /friendly_id|aasm|will_paginate/
34
42
  end
35
43
  end
36
- end
44
+ end if defined?(Rails::Plugin::Loader)
37
45
 
38
- if defined? Rails::Initializer
39
- class Initializer < Rails::Initializer
40
- def self.run(command = :process, configuration = Configuration.new)
41
- configuration.plugin_loader = Refinery::PluginLoader
42
- Rails.configuration = configuration
43
- super
46
+ class Initializer < Rails::Initializer
47
+ def self.run(command = :process, configuration = Configuration.new)
48
+ configuration.plugin_loader = Refinery::PluginLoader
49
+ Rails.configuration = configuration
50
+
51
+ # call rails' run
52
+ super
53
+ end
54
+
55
+ def load_plugins
56
+ # inject all gems that manipulate ActiveRecord::Base into the application
57
+ # and stub any calls that are dangerous.
58
+ ::ActiveRecord::Base.module_eval do
59
+ begin
60
+ require 'friendly_id'
61
+ require 'will_paginate'
62
+ require 'aasm'
63
+ rescue LoadError => load_error
64
+ # this will stop us running rake gems:install which we don't really want so just trap this error.
65
+ puts "*** Trapping error caused by missing gems ***"
66
+ end
67
+
68
+ # Stub has_friendly_id. This will get overriden when/if included.
69
+ # The config will still complain that the gem is missing but this allows it to do so.
70
+ def self.has_friendly_id(column, options = {}, &block)
71
+ super if defined? super and table_exists?
72
+ end
44
73
  end
74
+
75
+ # call rails' load_plugins
76
+ super
45
77
  end
46
- end
78
+ end if defined?(Rails::Initializer)
47
79
 
48
80
  end
metadata CHANGED
@@ -6,8 +6,8 @@ version: !ruby/object:Gem::Version
6
6
  - 0
7
7
  - 9
8
8
  - 6
9
- - 13
10
- version: 0.9.6.13
9
+ - 14
10
+ version: 0.9.6.14
11
11
  platform: ruby
12
12
  authors:
13
13
  - Resolve Digital