Class: Lazylead::Task::Version

Inherits:
Object
  • Object
show all
Defined in:
lib/lazylead/task/fix_version.rb

Overview

Instance of “Fix Version” field for the particular task.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(issue, allowed) ⇒ Version

Returns a new instance of Version.



56
57
58
59
# File 'lib/lazylead/task/fix_version.rb', line 56

def initialize(issue, allowed)
  @issue = issue
  @allowed = allowed
end

Instance Attribute Details

#issueObject (readonly)

Returns the value of attribute issue.



54
55
56
# File 'lib/lazylead/task/fix_version.rb', line 54

def issue
  @issue
end

Instance Method Details

#changed?Boolean

Gives true when last change of “Fix Version” field was done

by not authorized person.

Returns:

  • (Boolean)


63
64
65
66
67
68
# File 'lib/lazylead/task/fix_version.rb', line 63

def changed?
  @allowed.none? do |a|
    return false if last.nil?
    a == last["author"]["name"]
  end
end

#lastObject

Detect details about last change of “Fix Version” to non-null value



71
72
73
74
75
76
77
78
79
80
# File 'lib/lazylead/task/fix_version.rb', line 71

def last
  return @last if defined? @last
  @last = issue.history
               .reverse
               .find do |h|
    h["items"].any? do |i|
      i["field"] == "Fix Version"
    end
  end
end