diff options
author | Pratik Naik <pratiknaik@gmail.com> | 2008-06-25 12:12:30 +0100 |
---|---|---|
committer | Pratik Naik <pratiknaik@gmail.com> | 2008-06-25 12:12:30 +0100 |
commit | 01571c0fd73a31f78411d6cad6484ddd82ec4778 (patch) | |
tree | d0565f7ad3fd5a65aafbf191170094b90d7ef543 /railties/lib/rails/plugin.rb | |
parent | b5e9badea281ce0c371ff1c00461febe66f4e2b2 (diff) | |
parent | 670e22e3724791f51d639f409930fba5af920081 (diff) | |
download | rails-01571c0fd73a31f78411d6cad6484ddd82ec4778.tar.gz rails-01571c0fd73a31f78411d6cad6484ddd82ec4778.tar.bz2 rails-01571c0fd73a31f78411d6cad6484ddd82ec4778.zip |
Merge commit 'mainstream/master'
Conflicts:
actionpack/lib/action_view/helpers/javascript_helper.rb
activesupport/lib/active_support/dependencies.rb
activesupport/lib/active_support/inflector.rb
activesupport/lib/active_support/values/time_zone.rb
Diffstat (limited to 'railties/lib/rails/plugin.rb')
-rw-r--r-- | railties/lib/rails/plugin.rb | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/railties/lib/rails/plugin.rb b/railties/lib/rails/plugin.rb index 256f4b0132..b8b2b57038 100644 --- a/railties/lib/rails/plugin.rb +++ b/railties/lib/rails/plugin.rb @@ -74,10 +74,18 @@ module Rails File.join(directory, 'lib') end - def init_path + def classic_init_path File.join(directory, 'init.rb') end + def gem_init_path + File.join(directory, 'rails', 'init.rb') + end + + def init_path + File.file?(gem_init_path) ? gem_init_path : classic_init_path + end + def has_lib_directory? File.directory?(lib_path) end @@ -87,14 +95,14 @@ module Rails end def evaluate_init_rb(initializer) - if has_init_file? - silence_warnings do - # Allow plugins to reference the current configuration object - config = initializer.configuration - - eval(IO.read(init_path), binding, init_path) - end - end + if has_init_file? + silence_warnings do + # Allow plugins to reference the current configuration object + config = initializer.configuration + + eval(IO.read(init_path), binding, init_path) + end + end end end @@ -103,8 +111,9 @@ module Rails # to Dependencies.load_paths. class GemPlugin < Plugin # Initialize this plugin from a Gem::Specification. - def initialize(spec) - super(File.join(spec.full_gem_path)) + def initialize(spec, gem) + directory = (gem.frozen? && gem.unpacked_paths.first) || File.join(spec.full_gem_path) + super(directory) @name = spec.name end |