Class: Daiku::Plugins

Inherits:
Object show all
Defined in:
lib/daiku/plugins.rb,
lib/daiku/plugins/vcr.rb,
lib/daiku/plugins/grunt.rb,
lib/daiku/plugins/sequel.rb,
lib/daiku/plugins/sidekiq.rb,
lib/daiku/plugins/vcr/cli.rb,
lib/daiku/plugins/newrelic.rb,
lib/daiku/plugins/grunt/cli.rb,
lib/daiku/plugins/datamapper.rb,
lib/daiku/plugins/sequel/cli.rb,
lib/daiku/plugins/honeybadger.rb,
lib/daiku/plugins/sidekiq/cli.rb,
lib/daiku/plugins/database-sql.rb,
lib/daiku/plugins/newrelic/cli.rb,
lib/daiku/plugins/datamapper/cli.rb,
lib/daiku/plugins/honeybadger/cli.rb,
lib/daiku/plugins/database-sql/cli.rb

Defined Under Namespace

Classes: DatabaseSql, Datamapper, Grunt, Honeybadger, Newrelic, Sequel, Sidekiq, Vcr

Class Method Summary collapse

Class Method Details

.filter_plugins(value, filter = :type) ⇒ Object



23
24
25
26
27
# File 'lib/daiku/plugins.rb', line 23

def self.filter_plugins(value, filter = :type)
  register_plugins.values.select do |plugin|
    plugin[filter] == value
  end
end

.find_pluginsObject



5
6
7
8
9
# File 'lib/daiku/plugins.rb', line 5

def self.find_plugins
  Daiku::Plugins.constants.map do |plugin|
    Daiku::Plugins.const_get(plugin.to_s, false)
  end
end

.has_plugins?(type) ⇒ Boolean

Returns:

  • (Boolean)


17
18
19
20
21
# File 'lib/daiku/plugins.rb', line 17

def self.has_plugins?(type)
  register_plugins.values.any? do |plugin|
    plugin[:type] == type
  end
end

.plugin_names(type = nil) ⇒ Object



29
30
31
32
33
34
35
36
# File 'lib/daiku/plugins.rb', line 29

def self.plugin_names(type = nil)
  plugins = if type.nil?
              register_plugins.values
            else
              filter_plugins(type, :type)
            end
  plugins.map { |plugin| plugin[:name] }
end

.register_pluginsObject



11
12
13
14
15
# File 'lib/daiku/plugins.rb', line 11

def self.register_plugins
  Hash[*find_plugins.map do |plugin|
    [plugin.meta[:name], plugin.meta]
  end.flatten]
end