Sha256: 119d36f91b860090e83061eb83e3c232ca7202b9551fbabcf3ff6594636e878d
Contents?: true
Size: 1.11 KB
Versions: 10
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module Shipit class Status < Record include Common include DeferredTouch STATES = %w(pending success failure error).freeze enum state: STATES.zip(STATES).to_h belongs_to :stack, required: true belongs_to :commit, required: true deferred_touch commit: :updated_at validates :state, inclusion: { in: STATES, allow_blank: true }, presence: true after_create :enable_ci_on_stack after_commit :schedule_continuous_delivery, :broadcast_update, on: :create delegate :broadcast_update, to: :commit class << self def replicate_from_github!(stack_id, github_status) find_or_create_by!( stack_id: stack_id, state: github_status.state, description: github_status.description, target_url: github_status.target_url, context: github_status.context, created_at: github_status.created_at, ) end end private def enable_ci_on_stack commit.stack.enable_ci! end def schedule_continuous_delivery commit.schedule_continuous_delivery end end end
Version data entries
10 entries across 10 versions & 1 rubygems