class ErrbitPlugin::ValidateIssueTracker
Attributes
errors[R]
Public Class Methods
new(klass)
click to toggle source
# File lib/errbit_plugin/validate_issue_tracker.rb, line 3 def initialize(klass) @klass = klass @errors = [] end
Public Instance Methods
valid?()
click to toggle source
# File lib/errbit_plugin/validate_issue_tracker.rb, line 9 def valid? valid_inherit = good_inherit? valid_instance_methods = implements_instance_methods? valid_class_methods = implements_class_methods? valid_inherit && valid_instance_methods && valid_class_methods end
Private Instance Methods
add_errors(key, value=nil)
click to toggle source
# File lib/errbit_plugin/validate_issue_tracker.rb, line 58 def add_errors(key, value=nil) @errors << [key, value].compact end
good_inherit?()
click to toggle source
# File lib/errbit_plugin/validate_issue_tracker.rb, line 19 def good_inherit? unless @klass.ancestors.include?(ErrbitPlugin::IssueTracker) add_errors(:not_inherited) false else true end end
implements_class_methods?()
click to toggle source
# File lib/errbit_plugin/validate_issue_tracker.rb, line 41 def implements_class_methods? impl = [:label, :fields, :note, :icons].map do |method| if @klass.respond_to?(method) true else add_errors(:class_method_missing, method) false end end impl.all? { |value| value == true } end
implements_instance_methods?()
click to toggle source
# File lib/errbit_plugin/validate_issue_tracker.rb, line 28 def implements_instance_methods? impl = [:configured?, :errors, :create_issue, :url].map do |method| if instance.respond_to?(method) true else add_errors(:instance_method_missing, method) false end end impl.all? { |value| value == true } end
instance()
click to toggle source
# File lib/errbit_plugin/validate_issue_tracker.rb, line 54 def instance @instance ||= @klass.new({}) end