Module: Plugems::Loader::ClassMethods

Included in:
Plugems::Loader
Defined in:
lib/plugems/loader.rb

Instance Method Summary collapse

Instance Method Details

#gem_rake_tasksObject



22
23
24
# File 'lib/plugems/loader.rb', line 22

def gem_rake_tasks
	(@@gem_rake_tasks ||= []).flatten.uniq
end

#gem_viewsObject



26
27
28
# File 'lib/plugems/loader.rb', line 26

def gem_views
  (@@gem_views ||= []).flatten.uniq
end

#load(configuration) ⇒ Object



12
13
14
15
16
17
18
19
20
# File 'lib/plugems/loader.rb', line 12

def load(configuration)
	# TODO find a way to get the plugin_paths defined in the Rails::Initializer block, if any
	#@@configuration = configuration
			@@loaded_plugems = {} # hash of all loaded plugems, to prevent loading duplicates
			
	manifest = Plugems::Manifest.load("#{RAILS_ROOT}/config/manifest.yml")
	load_plugems(manifest)
	set_dependencies_loaded_flag
end

#load_as_plugin(name) ⇒ Object



40
41
42
43
44
45
# File 'lib/plugems/loader.rb', line 40

def load_as_plugin(name)
  path = plugin_path(name)
  plugin_lib = File.join(path, "lib")
	$: << plugin_lib if File.exist?(plugin_lib)
    process_plugin_manifest(path)
end

#plugin?(name) ⇒ Boolean

Returns:

  • (Boolean)


36
37
38
# File 'lib/plugems/loader.rb', line 36

def plugin?(name)
     (path = plugin_path(name)) && File.directory?(path)
end

#plugin_viewsObject



30
31
32
33
34
# File 'lib/plugems/loader.rb', line 30

def plugin_views
  plugin_lib_paths.collect do |plugin_path|
     Dir["#{plugin_path}/views/**/*.*"]
  end.flatten.uniq
end