Class: Photish::Plugin::Repository

Inherits:
Object
  • Object
show all
Includes:
Log::Loggable, Singleton
Defined in:
lib/photish/plugin/repository.rb

Instance Method Summary collapse

Methods included from Log::Loggable

#log

Instance Method Details

#all_pluginsObject



20
21
22
# File 'lib/photish/plugin/repository.rb', line 20

def all_plugins
  @all_plugins ||= constants + sub_constants
end

#plugins_for(type) ⇒ Object



16
17
18
# File 'lib/photish/plugin/repository.rb', line 16

def plugins_for(type)
  all_plugins.reject { |m| !m.is_for?(type) }
end

#reload(config) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/photish/plugin/repository.rb', line 7

def reload(config)
  log.debug "Loading plugins..."

  load_each_plugin_file(config.site_dir)
  require_each_explicit_plugin(config.plugins)
  clear_plugin_cache
  load_each_plugin_constant
end