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

31 lines
875 B
Ruby
Raw Normal View History

2015-08-25 21:42:46 -04:00
# == Schema Information
#
# Table name: ci_variables
2015-08-25 21:42:46 -04:00
#
# id :integer not null, primary key
2016-01-05 21:30:59 -05:00
# project_id :integer
2015-08-25 21:42:46 -04:00
# key :string(255)
# value :text
# encrypted_value :text
# encrypted_value_salt :string(255)
# encrypted_value_iv :string(255)
# gl_project_id :integer
2015-08-25 21:42:46 -04:00
#
module Ci
class Variable < ActiveRecord::Base
extend Ci::Model
2015-12-04 06:55:23 -05:00
belongs_to :project, class_name: '::Project', foreign_key: :gl_project_id
2015-08-25 21:42:46 -04:00
2015-12-04 06:55:23 -05:00
validates_uniqueness_of :key, scope: :gl_project_id
validates :key,
presence: true,
length: { within: 0..255 },
format: { with: /\A[a-zA-Z0-9_]+\z/,
message: "can contain only letters, digits and '_'." }
2015-08-25 21:42:46 -04:00
attr_encrypted :value, mode: :per_attribute_iv_and_salt, key: Gitlab::Application.secrets.db_key_base
end
end