lib/vedeu/plugins.rb in vedeu-0.4.60 vs lib/vedeu/plugins.rb in vedeu-0.4.61
- old
+ new
@@ -11,48 +11,47 @@
@plugins = []
end
# Loads all plugins that are not enabled.
#
- # @return [void]
+ # @return [Array<void>]
def load
- plugins.each do |plugin|
- plugin.load! unless plugin.enabled?
- end
+ plugins.each { |plugin| plugin.load! unless plugin.enabled? }
end
# Register plugin with name in an internal array.
#
# @param name [String]
# @param plugin [Vedeu::Plugin]
# @return [void]
def register(name, plugin = false)
- if plugin && !loaded?(name)
- plugins << plugin
- end
+ plugins << plugin if plugin && not_loaded?(name)
end
# Find all installed plugins and store them.
#
- # @return [void]
+ # @return [Array<void>]
def find
Gem.refresh
Gem::Specification.each do |gem|
next unless gem.name =~ /^#{prefix}/
+
plugin_name = gem.name[/^#{prefix}-(.*)/, 1]
- register(plugin_name, Plugin.new(plugin_name, gem))
+
+ register(plugin_name, Vedeu::Plugin.new(plugin_name, gem))
end
plugins
end
# Return a list of all plugin names as strings.
#
- # @return [void]
+ # @return [Hash]
def names
- plugins.reduce({}) do |hash, plugin|
+ collection = {}
+ plugins.each_with_object(collection) do |hash, plugin|
hash[plugin.name] = plugin
hash
end
end
@@ -66,11 +65,11 @@
# Returns a boolean indicating whether a plugin is already loaded.
#
# @param name [String]
# @return [Boolean]
- def loaded?(name)
- plugins.any? { |plugin| plugin.gem_name == name }
+ def not_loaded?(name)
+ plugins.empty? || plugins.any? { |plugin| plugin.gem_name != name }
end
# @return [String]
def prefix
'vedeu'