diff options
author | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-08-21 12:16:26 +0300 |
---|---|---|
committer | Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com> | 2013-08-21 12:16:26 +0300 |
commit | 625fb2f29d99ab21de2497a36512be69c80e39be (patch) | |
tree | 2ca8f7d92d4974425a67a5288ee79e14bc60e01d /app/models | |
parent | 0a0b0e1eab251c7e9c9dedc620f14602f8ce3541 (diff) | |
download | gitlab-ce-625fb2f29d99ab21de2497a36512be69c80e39be.tar.gz |
Add iids to milestones. Moved iids logic to separate concern
Diffstat (limited to 'app/models')
-rw-r--r-- | app/models/concerns/internal_id.rb | 17 | ||||
-rw-r--r-- | app/models/concerns/issuable.rb | 11 | ||||
-rw-r--r-- | app/models/issue.rb | 2 | ||||
-rw-r--r-- | app/models/merge_request.rb | 2 | ||||
-rw-r--r-- | app/models/milestone.rb | 2 |
5 files changed, 21 insertions, 13 deletions
diff --git a/app/models/concerns/internal_id.rb b/app/models/concerns/internal_id.rb new file mode 100644 index 00000000000..821ed54fb98 --- /dev/null +++ b/app/models/concerns/internal_id.rb @@ -0,0 +1,17 @@ +module InternalId + extend ActiveSupport::Concern + + included do + validate :set_iid, on: :create + validates :iid, presence: true, numericality: true + end + + def set_iid + max_iid = project.send(self.class.name.tableize).maximum(:iid) + self.iid = max_iid.to_i + 1 + end + + def to_param + iid.to_s + end +end diff --git a/app/models/concerns/issuable.rb b/app/models/concerns/issuable.rb index fb08a5aa750..a05dba7f6b6 100644 --- a/app/models/concerns/issuable.rb +++ b/app/models/concerns/issuable.rb @@ -16,8 +16,6 @@ module Issuable validates :author, presence: true validates :title, presence: true, length: { within: 0..255 } - validate :set_iid, on: :create - validates :iid, presence: true, numericality: true scope :authored, ->(user) { where(author_id: user) } scope :assigned_to, ->(u) { where(assignee_id: u.id)} @@ -47,15 +45,6 @@ module Issuable end end - def set_iid - max_iid = project.send(self.class.name.tableize).maximum(:iid) - self.iid = max_iid.to_i + 1 - end - - def to_param - iid.to_s - end - def today? Date.today == created_at.to_date end diff --git a/app/models/issue.rb b/app/models/issue.rb index ecb881ab597..35b487dc3cf 100644 --- a/app/models/issue.rb +++ b/app/models/issue.rb @@ -17,8 +17,8 @@ # class Issue < ActiveRecord::Base - include Issuable + include InternalId belongs_to :project validates :project, presence: true diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb index d525ad17537..190f6ab15f4 100644 --- a/app/models/merge_request.rb +++ b/app/models/merge_request.rb @@ -23,8 +23,8 @@ require Rails.root.join("app/models/commit") require Rails.root.join("lib/static_model") class MergeRequest < ActiveRecord::Base - include Issuable + include InternalId belongs_to :target_project, foreign_key: :target_project_id, class_name: "Project" belongs_to :source_project, foreign_key: :source_project_id, class_name: "Project" diff --git a/app/models/milestone.rb b/app/models/milestone.rb index 023b8ddf04d..cfa47f30bde 100644 --- a/app/models/milestone.rb +++ b/app/models/milestone.rb @@ -13,6 +13,8 @@ # class Milestone < ActiveRecord::Base + include InternalId + attr_accessible :title, :description, :due_date, :state_event, :author_id_of_changes attr_accessor :author_id_of_changes |