class Durt::Plugin

Constants

PLUGINS

Attributes

config[R]
project[R]

Public Class Methods

all() click to toggle source
# File lib/durt/plugin.rb, line 11
def self.all
  PLUGINS.map do |plugin_name|
    klass = "Durt::#{plugin_name}Plugin"

    klass.constantize
  end
end
demo_config() click to toggle source
# File lib/durt/plugin.rb, line 32
def self.demo_config
  nil
end
find_by_plugin_name(plugin_name) click to toggle source
# File lib/durt/plugin.rb, line 24
def self.find_by_plugin_name(plugin_name)
  all.find { |plugin| plugin.plugin_name == plugin_name.to_s }
end
new(project, config = nil) click to toggle source
# File lib/durt/plugin.rb, line 19
def initialize(project, config = nil)
  @project = project
  @config = config
end
plugin_name() click to toggle source
# File lib/durt/plugin.rb, line 28
def self.plugin_name
  name.split('::').last.sub('Plugin', '')
end

Public Instance Methods

before_enter(value) click to toggle source
# File lib/durt/plugin.rb, line 52
def before_enter(value)
  value
end
bug_tracker() click to toggle source
# File lib/durt/plugin.rb, line 84
def bug_tracker
  if config_required? && not_configured?
    raise NotConfiguredError, "#{plugin_name} plugin is not configured"
  end

  bug_tracker_class.new(project, @config)
end
enter(issue) click to toggle source
# File lib/durt/plugin.rb, line 56
def enter(issue)
  issue
end
fetch_issues() click to toggle source
# File lib/durt/plugin.rb, line 40
def fetch_issues
  bug_tracker.fetch_issues
end
filter(value) click to toggle source
# File lib/durt/plugin.rb, line 36
def filter(value)
  value
end
issues() click to toggle source
# File lib/durt/plugin.rb, line 76
def issues
  bug_tracker.issues
end
plugin_name() click to toggle source
# File lib/durt/plugin.rb, line 44
def plugin_name
  self.class.plugin_name
end
push_issue(issue) click to toggle source
# File lib/durt/plugin.rb, line 68
def push_issue(issue)
  issue.key
end
source_name() click to toggle source
# File lib/durt/plugin.rb, line 72
def source_name
  bug_tracker.source_name
end
start(issue) click to toggle source
# File lib/durt/plugin.rb, line 60
def start(issue)
  issue
end
stop(issue) click to toggle source
# File lib/durt/plugin.rb, line 64
def stop(issue)
  issue
end
switch_project() click to toggle source
# File lib/durt/plugin.rb, line 48
def switch_project
  time_tracker.switch_project(project)
end
time_tracker() click to toggle source
# File lib/durt/plugin.rb, line 80
def time_tracker
  time_tracker_class
end

Private Instance Methods

bug_tracker_class() click to toggle source
# File lib/durt/plugin.rb, line 106
def bug_tracker_class
  Durt::NullBugTracker
end
config_required?() click to toggle source
# File lib/durt/plugin.rb, line 94
def config_required?
  false
end
not_configured?() click to toggle source
# File lib/durt/plugin.rb, line 98
def not_configured?
  @config == self.class.demo_config
end
time_tracker_class() click to toggle source
# File lib/durt/plugin.rb, line 102
def time_tracker_class
  Durt::NullTimeTracker
end