Sha256: b72e1a8ce5817a2dd8ccf0de51f6d478dca5b174905168f4e0313cf62edb9ec1

Contents?: true

Size: 1.01 KB

Versions: 4

Compression:

Stored size: 1.01 KB

Contents

# The {Skyline::PluginsManager} load all plugins. Currently the manager is quite
# static as it can only load plugins from `Rails.root/vendor/skyline_plugins`. As
# we extend the Plugin API the manager will become more advanced.
# 
# @private
class Skyline::PluginsManager
  class << self
    def init_all!
      public_skyline_plugins_path = Pathname.new(Rails.public_path) + "skyline_plugins"
      FileUtils.mkdir(public_skyline_plugins_path) unless public_skyline_plugins_path.exist?
            
      # Initialize external skyline plugins (only once)
      Dir[Rails.root + "vendor/skyline_plugins/*/skyline/init.rb"].each do |file|
        load file
      end
    end
        
    def load_all!
      # Load external skyline plugins (possibly at every request)
      Dir[Rails.root + "vendor/skyline_plugins/*/skyline/load.rb"].each do |file|
        load file
      end      
    end
    
    def migration_paths
      Dir[Rails.root + "vendor/skyline_plugins/*/db/migrate"]
    end
  end
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
westarete-skylinecms-3.0.8.20100329 lib/skyline/plugins_manager.rb
westarete-skylinecms-3.0.8.20100330 lib/skyline/plugins_manager.rb
skylinecms-3.0.8 lib/skyline/plugins_manager.rb
skylinecms-3.0.7 lib/skyline/plugins_manager.rb