gitlab-org--gitlab-foss/app/models/ci/variable.rb

28 lines
709 B
Ruby
Raw Normal View History

2015-08-26 01:42:46 +00:00
module Ci
class Variable < ActiveRecord::Base
extend Ci::Model
2017-03-17 23:06:11 +00:00
belongs_to :project
2015-08-26 01:42:46 +00:00
validates :key,
presence: true,
2017-03-17 23:06:11 +00:00
uniqueness: { scope: :project_id },
length: { maximum: 255 },
format: { with: /\A[a-zA-Z0-9_]+\z/,
message: "can contain only letters, digits and '_'." }
2015-08-26 01:42:46 +00:00
scope :order_key_asc, -> { reorder(key: :asc) }
scope :unprotected, -> { where(protected: false) }
attr_encrypted :value,
mode: :per_attribute_iv_and_salt,
insecure_mode: true,
key: Gitlab::Application.secrets.db_key_base,
algorithm: 'aes-256-cbc'
def to_runner_variable
{ key: key, value: value, public: false }
end
2015-08-26 01:42:46 +00:00
end
end