class Gena::Plugin

Public Class Methods

dependencies() click to toggle source
# File lib/plugin/plugin.rb, line 28
def self.dependencies
  return { }
end
descendants() click to toggle source
# File lib/plugin/plugin.rb, line 22
def self.descendants
  ObjectSpace.each_object(Class).select { |klass| klass < self }
end
plugin_config_defaults() click to toggle source
# File lib/plugin/plugin.rb, line 54
def self.plugin_config_defaults
  Hash.new
end
plugin_config_name() click to toggle source
# File lib/plugin/plugin.rb, line 50
def self.plugin_config_name
  self.name.split("::").last.underscore
end
setup_thor_commands() click to toggle source
# File lib/plugin/plugin.rb, line 12
def self.setup_thor_commands
  app_klass = Gena::Application
  app_klass.commands.merge!(self.commands)
  self.commands.each do |key, value|
    hash = app_klass.class_for_command
    hash[key] = self
    app_klass.class_for_command = hash
  end
end

Public Instance Methods

config() click to toggle source
# File lib/plugin/plugin.rb, line 32
def config
  config = $config.data
  config.reject { |k, v| k == GENA_PLUGINS_CONFIG_KEY }
end
plugin_config() click to toggle source
# File lib/plugin/plugin.rb, line 37
def plugin_config
  # puts "Class: #{self.class.plugin_config_name}"
  $config.data[GENA_PLUGINS_CONFIG_KEY][self.class.plugin_config_name]
end
sources_path() click to toggle source
# File lib/plugin/plugin.rb, line 42
def sources_path
  $config.sources_dir
end
tests_path() click to toggle source
# File lib/plugin/plugin.rb, line 46
def tests_path
  $config.tests_dir
end