class Lolcommits::Plugin
Attributes
options[RW]
runner[RW]
Public Class Methods
name()
click to toggle source
identifying plugin name (for config, listing)
# File lib/lolcommits/plugin.rb, line 79 def self.name 'plugin' end
new(runner)
click to toggle source
# File lib/lolcommits/plugin.rb, line 7 def initialize(runner) debug "Initializing" self.runner = runner self.options = ['enabled'] end
Public Instance Methods
configuration()
click to toggle source
# File lib/lolcommits/plugin.rb, line 26 def configuration config = runner.config.read_configuration if runner return Hash.new unless config config[self.class.name] || Hash.new end
configure_options!()
click to toggle source
ask for plugin options
# File lib/lolcommits/plugin.rb, line 33 def configure_options! puts "Configuring plugin: #{self.class.name}\n" options.inject(Hash.new) do |acc, option| print "#{option}: " val = STDIN.gets.strip.downcase if %w(true yes).include?(val) val = true elsif %(false no).include?(val) val = false end acc.merge(option => val) end end
debug(msg)
click to toggle source
uniform debug logging for plugins
Calls superclass method
# File lib/lolcommits/plugin.rb, line 74 def debug(msg) super("Plugin: #{self.class.to_s}: " + msg) end
execute()
click to toggle source
# File lib/lolcommits/plugin.rb, line 13 def execute if is_enabled? debug "I am enabled, about to run" run else debug "Disabled, doing nothing for execution" end end
is_configured?()
click to toggle source
empty plugin configuration
# File lib/lolcommits/plugin.rb, line 62 def is_configured? !configuration.empty? end
is_enabled?()
click to toggle source
# File lib/lolcommits/plugin.rb, line 47 def is_enabled? configuration['enabled'] == true end
puts(*args)
click to toggle source
uniform puts for plugins dont puts if the runner wants to be silent (stealth mode)
Calls superclass method
# File lib/lolcommits/plugin.rb, line 68 def puts(*args) return if runner && runner.capture_stealth super(args) end
run()
click to toggle source
# File lib/lolcommits/plugin.rb, line 22 def run debug "base plugin, does nothing to anything" end
valid_configuration?()
click to toggle source
check config is valid
# File lib/lolcommits/plugin.rb, line 52 def valid_configuration? if is_configured? true else puts "Missing #{self.class.name} config - configure with: lolcommits --config -p #{self.class.name}" false end end