diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-07-04 15:31:15 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2017-07-04 15:31:15 +0200 |
commit | a17c90b2a7331a7427813684b04095b55c4b3cc1 (patch) | |
tree | ad76404a74e856a37bd5a01d95ea61f0155053d0 /app/models/concerns/has_status.rb | |
parent | f9228f6bf46f1d1caa4c62b80b8bd6ec883d33ae (diff) | |
download | gitlab-ce-a17c90b2a7331a7427813684b04095b55c4b3cc1.tar.gz |
Use enumerated status in persisted stage class
Diffstat (limited to 'app/models/concerns/has_status.rb')
-rw-r--r-- | app/models/concerns/has_status.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/app/models/concerns/has_status.rb b/app/models/concerns/has_status.rb index 32af5566135..235196cae13 100644 --- a/app/models/concerns/has_status.rb +++ b/app/models/concerns/has_status.rb @@ -8,6 +8,8 @@ module HasStatus ACTIVE_STATUSES = %w[pending running].freeze COMPLETED_STATUSES = %w[success failed canceled skipped].freeze ORDERED_STATUSES = %w[failed pending running manual canceled success skipped created].freeze + STATUSES_ENUM = { created: 0, pending: 1, running: 2, success: 3, + failed: 4, canceled: 5, skipped: 6, manual: 7 } class_methods do def status_sql @@ -54,6 +56,14 @@ module HasStatus def all_state_names state_machines.values.flat_map(&:states).flat_map { |s| s.map(&:name) } end + + private + + def enumerated_status! + @status_strategy = :enumerator + + enum status: HasStatus::STATUSES_ENUM + end end included do |