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'