Class: PactBroker::Matrix::DeploymentStatusSummary

Inherits:
Object
  • Object
show all
Includes:
Logging
Defined in:
lib/pact_broker/matrix/deployment_status_summary.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Logging

included, #log_error

Constructor Details

#initialize(rows, resolved_selectors, integrations) ⇒ DeploymentStatusSummary

Returns a new instance of DeploymentStatusSummary.



11
12
13
14
15
16
# File 'lib/pact_broker/matrix/deployment_status_summary.rb', line 11

def initialize(rows, resolved_selectors, integrations)
  @rows = rows
  @resolved_selectors = resolved_selectors
  @integrations = integrations
  @dummy_selectors = create_dummy_selectors
end

Instance Attribute Details

#integrationsObject (readonly)

Returns the value of attribute integrations.



9
10
11
# File 'lib/pact_broker/matrix/deployment_status_summary.rb', line 9

def integrations
  @integrations
end

#resolved_selectorsObject (readonly)

Returns the value of attribute resolved_selectors.



9
10
11
# File 'lib/pact_broker/matrix/deployment_status_summary.rb', line 9

def resolved_selectors
  @resolved_selectors
end

#rowsObject (readonly)

Returns the value of attribute rows.



9
10
11
# File 'lib/pact_broker/matrix/deployment_status_summary.rb', line 9

def rows
  @rows
end

Instance Method Details

#countsObject



18
19
20
21
22
23
24
# File 'lib/pact_broker/matrix/deployment_status_summary.rb', line 18

def counts
  {
    success: rows.count{ |row| row.success },
    failed: rows.count { |row| row.success == false },
    unknown: required_integrations_without_a_row.count + rows.count { |row| row.success.nil? }
  }
end

#deployable?Boolean

Returns:

  • (Boolean)


26
27
28
29
30
31
# File 'lib/pact_broker/matrix/deployment_status_summary.rb', line 26

def deployable?
  return false if specified_selectors_that_do_not_exist.any?
  return nil if rows.any?{ |row| row.success.nil? }
  return nil if required_integrations_without_a_row.any?
  rows.all?{ |row| row.success } # true if rows is empty
end

#reasonsObject



33
34
35
# File 'lib/pact_broker/matrix/deployment_status_summary.rb', line 33

def reasons
  error_messages.any? ? error_messages : success_messages
end