diff options
author | Carl Lerche <carllerche@mac.com> | 2009-12-31 13:11:54 -0800 |
---|---|---|
committer | Carl Lerche <carllerche@mac.com> | 2009-12-31 13:12:52 -0800 |
commit | ae7ada1fde1648a5c81b9e6adf74d515e0bbe0a5 (patch) | |
tree | 385b3655a8b8ef5355e4c85f7af81edfab5ef777 /railties/lib/rails/railtie.rb | |
parent | e749424dfa38a0300a621b772eae96f9cc5d2555 (diff) | |
download | rails-ae7ada1fde1648a5c81b9e6adf74d515e0bbe0a5.tar.gz rails-ae7ada1fde1648a5c81b9e6adf74d515e0bbe0a5.tar.bz2 rails-ae7ada1fde1648a5c81b9e6adf74d515e0bbe0a5.zip |
Some railties cleanup:
* Rename <framework>/rails.rb -> <framework>/railtie.rb
* Rails::Plugin -> Rails::Railtie
* Rails::Plugin::Vendored -> Rails::Plugin
Diffstat (limited to 'railties/lib/rails/railtie.rb')
-rw-r--r-- | railties/lib/rails/railtie.rb | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/railties/lib/rails/railtie.rb b/railties/lib/rails/railtie.rb new file mode 100644 index 0000000000..ff28ade35d --- /dev/null +++ b/railties/lib/rails/railtie.rb @@ -0,0 +1,43 @@ +module Rails + class Railtie + include Initializable + + def self.plugin_name(plugin_name = nil) + @plugin_name ||= name.demodulize.underscore + @plugin_name = plugin_name if plugin_name + @plugin_name + end + + def self.inherited(klass) + @plugins ||= [] + @plugins << klass unless klass == Plugin + end + + def self.plugins + @plugins + end + + def self.plugin_names + plugins.map { |p| p.plugin_name } + end + + def self.config + Configuration.default + end + + def self.rake_tasks(&blk) + @rake_tasks ||= [] + @rake_tasks << blk if blk + @rake_tasks + end + + def rake_tasks + self.class.rake_tasks + end + + def load_tasks + return unless rake_tasks + rake_tasks.each { |blk| blk.call } + end + end +end |