Sha256: 51547c5024e91465f1afd256f21fcbb75621801feea5a23c8386fc0c4343993d

Contents?: true

Size: 902 Bytes

Versions: 39

Compression:

Stored size: 902 Bytes

Contents

module Lolcommits
  class Plugin
    include Methadone::CLILogging
    attr_accessor :default, :name, :runner, :options

    def configuration
      config = runner.config.user_configuration
      return Hash.new if config.nil?
      config[self.name] || Hash.new
    end

    def initialize(runner)
      self.runner = runner
      self.options = ['enabled']

      plugdebug "Initializing"
    end

    def is_enabled?
      enabled_config = configuration['enabled']
      return self.default if enabled_config.nil? || enabled_config == ''
      return enabled_config
    end


    def execute
      if is_enabled?
        plugdebug "I am enabled, about to run"
        run
      else
        plugdebug "Disabled, doing nothing for execution"
      end
    end

    # uniform debug logging output for plugins
    def plugdebug(msg)
      debug("Plugin: #{self.class.to_s}: " + msg)
    end
  end
end

Version data entries

39 entries across 39 versions & 2 rubygems

Version Path
lolcommits-0.5.1 lib/lolcommits/plugin.rb
lolcommits-0.5.1.pre2 lib/lolcommits/plugin.rb
lolcommits-0.5.0 lib/lolcommits/plugin.rb
lolcommits-0.5.0.pre3 lib/lolcommits/plugin.rb
lolcommits-0.5.0.pre2 lib/lolcommits/plugin.rb
lolcommits-0.5.0.pre1 lib/lolcommits/plugin.rb
lolcommits-0.4.6 lib/lolcommits/plugin.rb
lolcommits-0.4.6.pre1 lib/lolcommits/plugin.rb
lolcommits-0.4.5 lib/lolcommits/plugin.rb
lolcommits-0.4.4 lib/lolcommits/plugin.rb
acmcommits-1.1.4 lib/lolcommits/plugin.rb
acmcommits-1.1.3 lib/lolcommits/plugin.rb
acmcommits-1.1.2 lib/lolcommits/plugin.rb
acmcommits-1.1.1 lib/lolcommits/plugin.rb
acmcommits-1.1.0 lib/lolcommits/plugin.rb
lolcommits-0.4.4pre1 lib/lolcommits/plugin.rb
acmcommits-1.0.17 lib/lolcommits/plugin.rb
acmcommits-1.0.16 lib/lolcommits/plugin.rb
acmcommits-1.0.15 lib/lolcommits/plugin.rb
acmcommits-1.0.14 lib/lolcommits/plugin.rb