Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorKamil Trzciński <ayufan@ayufan.eu>2017-06-29 11:14:08 +0300
committerKamil Trzciński <ayufan@ayufan.eu>2017-06-29 11:14:08 +0300
commit36e17d0fa878d7284672292378731d1b80a57bc8 (patch)
tree4e3aa2dde89ff33a7c8c8dd504c1ec5ebf607c0d /app
parenteb175d5fe08aeefe615f39e7359d62788af8b43a (diff)
parentde893b19c30acf83ce43dd42376783505d704763 (diff)
Merge branch 'feature/sm/34314-add-hasvariable-concern' into 'master'
Implement `HasVariable` concern Closes #34314 See merge request !12448
Diffstat (limited to 'app')
-rw-r--r--app/models/ci/variable.rb19
-rw-r--r--app/models/concerns/has_variable.rb23
2 files changed, 25 insertions, 17 deletions
diff --git a/app/models/ci/variable.rb b/app/models/ci/variable.rb
index f235260208f..96d6e120998 100644
--- a/app/models/ci/variable.rb
+++ b/app/models/ci/variable.rb
@@ -1,27 +1,12 @@
module Ci
class Variable < ActiveRecord::Base
extend Ci::Model
+ include HasVariable
belongs_to :project
- validates :key,
- presence: true,
- uniqueness: { scope: :project_id },
- length: { maximum: 255 },
- format: { with: /\A[a-zA-Z0-9_]+\z/,
- message: "can contain only letters, digits and '_'." }
+ validates :key, uniqueness: { scope: :project_id }
- 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
end
end
diff --git a/app/models/concerns/has_variable.rb b/app/models/concerns/has_variable.rb
new file mode 100644
index 00000000000..9585b5583dc
--- /dev/null
+++ b/app/models/concerns/has_variable.rb
@@ -0,0 +1,23 @@
+module HasVariable
+ extend ActiveSupport::Concern
+
+ included do
+ validates :key,
+ presence: true,
+ length: { maximum: 255 },
+ format: { with: /\A[a-zA-Z0-9_]+\z/,
+ message: "can contain only letters, digits and '_'." }
+
+ scope :order_key_asc, -> { reorder(key: :asc) }
+
+ 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
+ end
+end