Sha256: f032a8803e04c5c0cb0bc88c991e40a749e62a2bfae1950a05a6a377c85e46e9
Contents?: true
Size: 1.68 KB
Versions: 2
Compression:
Stored size: 1.68 KB
Contents
module Desert class Plugin # nodoc attr_reader :name, :path def initialize(path) @path = File.expand_path(path) @name = File.basename(@path) end def migration_path "#{@path}/db/migrate" end # The path to the views for this plugin def templates_path "#{@path}/app/views" end def controllers_path "#{@path}/app/controllers" end # TODO: Test me def models_path "#{@path}/app/models" end # TODO: Test me def helpers_path "#{@path}/app/helpers" end # The path to the layout for this plugin def layouts_path "#{templates_path}/layouts" end # Finds a template with the specified path def find_template(template) template_path = "#{templates_path}/#{template}" File.exists?(template_path) ? template_path : nil end def framework_paths # TODO: Don't include dirs for frameworks that are not used %w( railties railties/lib actionpack/lib activesupport/lib activerecord/lib actionmailer/lib actionwebservice/lib ).map { |dir| "#{framework_root_path}/#{dir}" }.select { |dir| File.directory?(dir) } end def ==(other) self.path == other.path end def migration @migration ||= PluginAWeek::PluginMigrations::Migrator.new(:up, migration_path) end def with_current_plugin old_plugin = PluginAWeek::PluginMigrations::Migrator.current_plugin begin PluginAWeek::PluginMigrations::Migrator.current_plugin = self yield ensure PluginAWeek::PluginMigrations::Migrator.current_plugin = old_plugin end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
desert-0.2.0 | lib/desert/plugin.rb |
desert-0.2.1 | lib/desert/plugin.rb |