Sha256: ac5c200ab163b659fa9d4e2edd39cf4ede8e9218c69660af8aabcb1f2212da3f

Contents?: true

Size: 572 Bytes

Versions: 17

Compression:

Stored size: 572 Bytes

Contents

class StatusGroup
  STATES_PRIORITY = %w(failure error pending success).freeze

  attr_reader :statuses, :significant_status

  def initialize(commit)
    @significant_status = commit.significant_status
    @statuses = commit.visible_statuses
  end

  delegate :state, to: :significant_status

  def description
    "#{success_count} / #{statuses.count} checks OK"
  end

  def target_url
  end

  def to_partial_path
    'statuses/group'
  end

  def group?
    true
  end

  private

  def success_count
    @statuses.count { |s| s.state == 'success'.freeze }
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
shipit-engine-0.4.10 app/models/status_group.rb
shipit-engine-0.4.9 app/models/status_group.rb
shipit-engine-0.4.8 app/models/status_group.rb
shipit-engine-0.4.7 app/models/status_group.rb
shipit-engine-0.4.6 app/models/status_group.rb
shipit-engine-0.4.5 app/models/status_group.rb
shipit-engine-0.4.4 app/models/status_group.rb
shipit-engine-0.4.3 app/models/status_group.rb
shipit-engine-0.4.2 app/models/status_group.rb
shipit-engine-0.4.1 app/models/status_group.rb
shipit-engine-0.4.0 app/models/status_group.rb
shipit-engine-0.3.1 app/models/status_group.rb
shipit-engine-0.3.0 app/models/status_group.rb
shipit-engine-0.2.3 app/models/status_group.rb
shipit-engine-0.2.2 app/models/status_group.rb
shipit-engine-0.2.1 app/models/status_group.rb
shipit-engine-0.2.0 app/models/status_group.rb