summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-29 17:10:15 +0300
committerDmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>2014-07-29 17:10:15 +0300
commit03654a6abf47c88b8b980a6707874ff78080d2fe (patch)
treec5ba2dba7f0685dd6c5e656a50f70400a746b23e /app
parent535feb08ce90352c89799df5e3e70a10e53ee10d (diff)
downloadgitlab-ce-03654a6abf47c88b8b980a6707874ff78080d2fe.tar.gz
Label and LabelLink models for implementing own GitLab labels
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Diffstat (limited to 'app')
-rw-r--r--app/models/label.rb7
-rw-r--r--app/models/label_link.rb7
2 files changed, 14 insertions, 0 deletions
diff --git a/app/models/label.rb b/app/models/label.rb
new file mode 100644
index 00000000000..17f293b698f
--- /dev/null
+++ b/app/models/label.rb
@@ -0,0 +1,7 @@
+class Label < ActiveRecord::Base
+ belongs_to :project
+ has_many :label_links, dependent: :destroy
+
+ validates :color, format: { with: /\A\#[0-9A-Fa-f]{3}{1,2}+\Z/ }, allow_blank: true
+ validates :project, presence: true
+end
diff --git a/app/models/label_link.rb b/app/models/label_link.rb
new file mode 100644
index 00000000000..47bd6eaf35f
--- /dev/null
+++ b/app/models/label_link.rb
@@ -0,0 +1,7 @@
+class LabelLink < ActiveRecord::Base
+ belongs_to :target, polymorphic: true
+ belongs_to :label
+
+ validates :target, presence: true
+ validates :label, presence: true
+end