Class: BlockedStalledChange
- Includes:
- ValueEquality
- Defined in:
- lib/jirametrics/blocked_stalled_change.rb
Instance Attribute Summary collapse
-
#blocking_issue_keys ⇒ Object
readonly
Returns the value of attribute blocking_issue_keys.
-
#flag ⇒ Object
readonly
Returns the value of attribute flag.
-
#stalled_days ⇒ Object
readonly
Returns the value of attribute stalled_days.
-
#status ⇒ Object
readonly
Returns the value of attribute status.
-
#status_is_blocking ⇒ Object
readonly
Returns the value of attribute status_is_blocking.
-
#time ⇒ Object
readonly
Returns the value of attribute time.
Instance Method Summary collapse
- #active? ⇒ Boolean
- #as_symbol ⇒ Object
- #blocked? ⇒ Boolean
- #blocked_by_status? ⇒ Boolean
-
#initialize(time:, flagged: nil, status: nil, status_is_blocking: true, blocking_issue_keys: nil, stalled_days: nil) ⇒ BlockedStalledChange
constructor
A new instance of BlockedStalledChange.
- #inspect ⇒ Object
- #reasons ⇒ Object
- #stalled? ⇒ Boolean
- #stalled_by_status? ⇒ Boolean
Methods included from ValueEquality
Constructor Details
#initialize(time:, flagged: nil, status: nil, status_is_blocking: true, blocking_issue_keys: nil, stalled_days: nil) ⇒ BlockedStalledChange
Returns a new instance of BlockedStalledChange.
9 10 11 12 13 14 15 16 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 9 def initialize time:, flagged: nil, status: nil, status_is_blocking: true, blocking_issue_keys: nil, stalled_days: nil @flag = flagged @status = status @status_is_blocking = status_is_blocking @blocking_issue_keys = blocking_issue_keys @stalled_days = stalled_days @time = time end |
Instance Attribute Details
#blocking_issue_keys ⇒ Object (readonly)
Returns the value of attribute blocking_issue_keys.
7 8 9 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 7 def blocking_issue_keys @blocking_issue_keys end |
#flag ⇒ Object (readonly)
Returns the value of attribute flag.
7 8 9 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 7 def flag @flag end |
#stalled_days ⇒ Object (readonly)
Returns the value of attribute stalled_days.
7 8 9 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 7 def stalled_days @stalled_days end |
#status ⇒ Object (readonly)
Returns the value of attribute status.
7 8 9 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 7 def status @status end |
#status_is_blocking ⇒ Object (readonly)
Returns the value of attribute status_is_blocking.
7 8 9 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 7 def status_is_blocking @status_is_blocking end |
#time ⇒ Object (readonly)
Returns the value of attribute time.
7 8 9 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 7 def time @time end |
Instance Method Details
#active? ⇒ Boolean
20 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 20 def active? = !blocked? && !stalled? |
#as_symbol ⇒ Object
39 40 41 42 43 44 45 46 47 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 39 def as_symbol if blocked? :blocked elsif stalled? :stalled else :active end end |
#blocked? ⇒ Boolean
18 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 18 def blocked? = !!(@flag || blocked_by_status? || @blocking_issue_keys) |
#blocked_by_status? ⇒ Boolean
22 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 22 def blocked_by_status? = !!(@status && @status_is_blocking) |
#inspect ⇒ Object
49 50 51 52 53 54 55 56 57 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 49 def inspect text = "BlockedStalledChange(time: '#{@time}', " if active? text << 'Active' else text << reasons end text << ')' end |
#reasons ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 25 def reasons result = [] if blocked? result << 'Blocked by flag' if @flag result << "Blocked by status: #{@status}" if blocked_by_status? result << "Blocked by issues: #{@blocking_issue_keys.join(', ')}" if @blocking_issue_keys elsif stalled_by_status? result << "Stalled by status: #{@status}" elsif @stalled_days result << "Stalled by inactivity: #{@stalled_days} days" end result.join(', ') end |
#stalled? ⇒ Boolean
19 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 19 def stalled? = !!(@stalled_days || stalled_by_status?) |
#stalled_by_status? ⇒ Boolean
23 |
# File 'lib/jirametrics/blocked_stalled_change.rb', line 23 def stalled_by_status? = !!(@status && !@status_is_blocking) |