OSDN Git Service

cosmetical cleanup of models
authorNihad Abbasov <narkoz.2008@gmail.com>
Thu, 27 Sep 2012 06:20:36 +0000 (23:20 -0700)
committerNihad Abbasov <narkoz.2008@gmail.com>
Thu, 27 Sep 2012 09:05:53 +0000 (02:05 -0700)
18 files changed:
app/models/ability.rb
app/models/commit.rb
app/models/event.rb
app/models/issue.rb
app/models/key.rb
app/models/merge_request.rb
app/models/milestone.rb
app/models/note.rb
app/models/project.rb
app/models/project_hook.rb
app/models/protected_branch.rb
app/models/snippet.rb
app/models/system_hook.rb
app/models/tree.rb
app/models/user.rb
app/models/users_project.rb
app/models/web_hook.rb
app/models/wiki.rb

index d65695a..20ded59 100644 (file)
@@ -52,7 +52,6 @@ class Ability
       :admin_wiki
     ] if project.master_access_for?(user) || project.owner == user
 
-
     rules.flatten
   end
 
index 73583e9..aba2176 100644 (file)
@@ -4,24 +4,11 @@ class Commit
   include StaticModel
   extend ActiveModel::Naming
 
-  attr_accessor :commit
-  attr_accessor :head
-  attr_accessor :refs
-
-  delegate :message,
-    :authored_date,
-    :committed_date,
-    :parents,
-    :sha,
-    :date,
-    :committer,
-    :author,
-    :message,
-    :diffs,
-    :tree,
-    :id,
-    :to_patch,
-    to: :commit
+  attr_accessor :commit, :head, :refs
+
+  delegate  :message, :authored_date, :committed_date, :parents, :sha,
+            :date, :committer, :author, :message, :diffs, :tree, :id,
+            :to_patch, to: :commit
 
   class << self
     def find_or_first(repo, commit_id = nil, root_ref)
@@ -30,6 +17,7 @@ class Commit
                else
                  repo.commits(root_ref).first
                end
+
       Commit.new(commit) if commit
     end
 
index e77afb9..43131ad 100644 (file)
@@ -16,6 +16,10 @@ class Event < ActiveRecord::Base
   Joined    = 8 # User joined project
   Left      = 9 # User left project
 
+  delegate :name, :email, to: :author, prefix: true, allow_nil: true
+  delegate :title, to: :issue, prefix: true, allow_nil: true
+  delegate :title, to: :merge_request, prefix: true, allow_nil: true
+
   belongs_to :project
   belongs_to :target, polymorphic: true
 
@@ -134,12 +138,8 @@ class Event < ActiveRecord::Base
       "opened"
     end
   end
-
-
-  delegate :name, :email, to: :author, prefix: true, allow_nil: true
-  delegate :title, to: :issue, prefix: true, allow_nil: true
-  delegate :title, to: :merge_request, prefix: true, allow_nil: true
 end
+
 # == Schema Information
 #
 # Table name: events
@@ -155,4 +155,3 @@ end
 #  action      :integer
 #  author_id   :integer
 #
-
index 5e7616d..9acee1e 100644 (file)
@@ -9,8 +9,7 @@ class Issue < ActiveRecord::Base
 
   belongs_to :milestone
 
-  validates :description,
-            length: { within: 0..2000 }
+  validates :description, length: { within: 0..2000 }
 
   def self.open_for(user)
     opened.assigned(user)
@@ -32,6 +31,7 @@ class Issue < ActiveRecord::Base
     closed_changed? && !closed
   end
 end
+
 # == Schema Information
 #
 # Table name: issues
@@ -49,4 +49,3 @@ end
 #  description  :text
 #  milestone_id :integer
 #
-
index eadfcd8..3ef2181 100644 (file)
@@ -6,14 +6,10 @@ class Key < ActiveRecord::Base
 
   attr_accessible :key, :title
 
-  validates :title,
-            presence: true,
-            length: { within: 0..255 }
-
-  validates :key,
-            presence: true,
-            format: { :with => /ssh-.{3} / },
-            length: { within: 0..5000 }
+  validates :title, presence: true, length: { within: 0..255 }
+  validates :key, presence: true,
+            length: { within: 0..5000 },
+            format: { :with => /ssh-.{3} / }
 
   before_save :set_identifier
   before_validation :strip_white_space
@@ -34,7 +30,7 @@ class Key < ActiveRecord::Base
 
   def set_identifier
     if is_deploy_key
-      self.identifier = "deploy_" + Digest::MD5.hexdigest(key)
+      self.identifier = "deploy_#{Digest::MD5.hexdigest(key)}"
     else
       self.identifier = "#{user.identifier}_#{Time.now.to_i}"
     end
@@ -57,6 +53,7 @@ class Key < ActiveRecord::Base
     Key.where(identifier: identifier).count == 0
   end
 end
+
 # == Schema Information
 #
 # Table name: keys
@@ -70,4 +67,3 @@ end
 #  identifier :string(255)
 #  project_id :integer
 #
-
index 1e73276..8428c7c 100644 (file)
@@ -18,8 +18,7 @@ class MergeRequest < ActiveRecord::Base
 
   attr_accessor :should_remove_source_branch
 
-  validates_presence_of :source_branch
-  validates_presence_of :target_branch
+  validates_presence_of :source_branch, :target_branch
   validate :validate_branches
 
   def self.find_all_by_branch(branch_name)
@@ -187,6 +186,7 @@ class MergeRequest < ActiveRecord::Base
     patch_path
   end
 end
+
 # == Schema Information
 #
 # Table name: merge_requests
@@ -206,4 +206,3 @@ end
 #  merged        :boolean         default(FALSE), not null
 #  state         :integer         default(1), not null
 #
-
index 9014647..da54ac4 100644 (file)
@@ -1,25 +1,10 @@
-# == Schema Information
-#
-# Table name: milestones
-#
-#  id          :integer         not null, primary key
-#  title       :string(255)     not null
-#  project_id  :integer         not null
-#  description :text
-#  due_date    :date
-#  closed      :boolean         default(FALSE), not null
-#  created_at  :datetime        not null
-#  updated_at  :datetime        not null
-#
-
 class Milestone < ActiveRecord::Base
   attr_accessible :title, :description, :due_date, :closed
 
   belongs_to :project
   has_many :issues
 
-  validates_presence_of :project_id
-  validates_presence_of :title
+  validates_presence_of :title, :project_id
 
   def self.active
     where("due_date > ? OR due_date IS NULL", Date.today)
@@ -39,3 +24,17 @@ class Milestone < ActiveRecord::Base
     "expires at #{due_date.stamp("Aug 21, 2011")}" if due_date
   end
 end
+
+# == Schema Information
+#
+# Table name: milestones
+#
+#  id          :integer         not null, primary key
+#  title       :string(255)     not null
+#  project_id  :integer         not null
+#  description :text
+#  due_date    :date
+#  closed      :boolean         default(FALSE), not null
+#  created_at  :datetime        not null
+#  updated_at  :datetime        not null
+#
index 8491397..23ced53 100644 (file)
@@ -2,39 +2,26 @@ require 'carrierwave/orm/activerecord'
 require 'file_size_validator'
 
 class Note < ActiveRecord::Base
+  mount_uploader  :attachment, AttachmentUploader
   attr_accessible :note, :noteable, :noteable_id, :noteable_type, :project_id,
                   :attachment, :line_code
 
   belongs_to :project
   belongs_to :noteable, polymorphic: true
-  belongs_to :author,
-    class_name: "User"
+  belongs_to :author, class_name: "User"
 
-  delegate :name,
-           to: :project,
-           prefix: true
-
-  delegate :name,
-           :email,
-           to: :author,
-           prefix: true
+  delegate :name, to: :project, prefix: true
+  delegate :name, :email, to: :author, prefix: true
 
   attr_accessor :notify
   attr_accessor :notify_author
 
   validates_presence_of :project
 
-  validates :note,
-            presence: true,
-            length: { within: 0..5000 }
-
-  validates :attachment,
-            file_size: {
-              maximum: 10.megabytes.to_i
-            }
+  validates :note, presence: true, length: { within: 0..5000 }
+  validates :attachment, file_size: { maximum: 10.megabytes.to_i }
 
   scope :common, where(noteable_id: nil)
-
   scope :today, where("created_at >= :date", date: Date.today)
   scope :last_week, where("created_at  >= :date", date: (Date.today - 7.days))
   scope :since, lambda { |day| where("created_at  >= :date", date: (day)) }
@@ -42,14 +29,13 @@ class Note < ActiveRecord::Base
   scope :inc_author_project, includes(:project, :author)
   scope :inc_author, includes(:author)
 
-  mount_uploader :attachment, AttachmentUploader
-
   def self.create_status_change_note(noteable, author, status)
-    create({ noteable: noteable,
-             project: noteable.project,
-             author: author,
-             note: "_Status changed to #{status}_" },
-          without_protection: true)
+    create({
+      noteable: noteable,
+      project: noteable.project,
+      author: author,
+      note: "_Status changed to #{status}_"
+    }, without_protection: true)
   end
 
   def notify
@@ -114,6 +100,7 @@ class Note < ActiveRecord::Base
     note.start_with?('-1') || note.start_with?(':-1:')
   end
 end
+
 # == Schema Information
 #
 # Table name: notes
@@ -129,4 +116,3 @@ end
 #  attachment    :string(255)
 #  line_code     :string(255)
 #
-
index 39e2bb2..0652d18 100644 (file)
@@ -8,10 +8,9 @@ class Project < ActiveRecord::Base
 
   attr_accessible :name, :path, :description, :code, :default_branch, :issues_enabled,
                   :wall_enabled, :merge_requests_enabled, :wiki_enabled
+  attr_accessor :error_code
 
-  #
   # Relations
-  #
   belongs_to :owner, class_name: "User"
   has_many :users,          through: :users_projects
   has_many :events,         dependent: :destroy
@@ -26,11 +25,7 @@ class Project < ActiveRecord::Base
   has_many :wikis,          dependent: :destroy
   has_many :protected_branches, dependent: :destroy
 
-  attr_accessor :error_code
-
-  #
   # Scopes
-  #
   scope :public_only, where(private_flag: false)
   scope :without_user, lambda { |user|  where("id not in (:ids)", ids: user.projects.map(&:id) ) }
 
@@ -47,7 +42,6 @@ class Project < ActiveRecord::Base
 
     Project.transaction do
       project.owner = user
-
       project.save!
 
       # Add user as project master
@@ -76,36 +70,19 @@ class Project < ActiveRecord::Base
     id && valid?
   end
 
-  #
   # Validations
-  #
-  validates :name,
-            uniqueness: true,
-            presence: true,
-            length: { within: 0..255 }
-
-  validates :path,
-            uniqueness: true,
-            presence: true,
+  validates :owner, presence: true
+  validates :description, length: { within: 0..2000 }
+  validates :name, uniqueness: true, presence: true, length: { within: 0..255 }
+  validates :path, uniqueness: true, presence: true, length: { within: 0..255 },
             format: { with: /^[a-zA-Z][a-zA-Z0-9_\-\.]*$/,
-                         message: "only letters, digits & '_' '-' '.' allowed. Letter should be first" },
-            length: { within: 0..255 }
-
-  validates :description,
-            length: { within: 0..2000 }
-
-  validates :code,
-            presence: true,
-            uniqueness: true,
+                      message: "only letters, digits & '_' '-' '.' allowed. Letter should be first" }
+  validates :code, presence: true, uniqueness: true, length: { within: 1..255 },
             format: { with: /^[a-zA-Z][a-zA-Z0-9_\-\.]*$/,
-                         message: "only letters, digits & '_' '-' '.' allowed. Letter should be first"  },
-            length: { within: 1..255 }
-
-  validates :owner, presence: true
+                      message: "only letters, digits & '_' '-' '.' allowed. Letter should be first" }
   validates :issues_enabled, :wall_enabled, :merge_requests_enabled,
             :wiki_enabled, inclusion: { in: [true, false] }
-  validate :check_limit
-  validate :repo_name
+  validate :check_limit, :repo_name
 
   def check_limit
     unless owner.can_create_project?
@@ -197,4 +174,3 @@ end
 #  merge_requests_enabled :boolean         default(TRUE), not null
 #  wiki_enabled           :boolean         default(TRUE), not null
 #
-
index e7a05d5..5a59ebe 100644 (file)
@@ -1,3 +1,7 @@
+class ProjectHook < WebHook
+  belongs_to :project
+end
+
 # == Schema Information
 #
 # Table name: web_hooks
@@ -9,7 +13,3 @@
 #  updated_at :datetime        not null
 #  type       :string(255)     default("ProjectHook")
 #
-
-class ProjectHook < WebHook
-  belongs_to :project
-end
index 4218286..c9e88d6 100644 (file)
@@ -4,8 +4,7 @@ class ProtectedBranch < ActiveRecord::Base
   attr_accessible :name
 
   belongs_to :project
-  validates_presence_of :project_id
-  validates_presence_of :name
+  validates_presence_of :name, :project_id
 
   after_save :update_repository
   after_destroy :update_repository
@@ -18,6 +17,7 @@ class ProtectedBranch < ActiveRecord::Base
     project.commit(self.name)
   end
 end
+
 # == Schema Information
 #
 # Table name: protected_branches
@@ -28,4 +28,3 @@ end
 #  created_at :datetime        not null
 #  updated_at :datetime        not null
 #
-
index 10e3764..b37d6be 100644 (file)
@@ -7,25 +7,12 @@ class Snippet < ActiveRecord::Base
   belongs_to :author, class_name: "User"
   has_many :notes, as: :noteable, dependent: :destroy
 
-  delegate :name,
-           :email,
-           to: :author,
-           prefix: true
+  delegate :name, :email, to: :author, prefix: true
 
-  validates_presence_of :project_id
-  validates_presence_of :author_id
-
-  validates :title,
-            presence: true,
-            length: { within: 0..255 }
-
-  validates :file_name,
-            presence: true,
-            length: { within: 0..255 }
-
-  validates :content,
-            presence: true,
-            length: { within: 0..10000 }
+  validates_presence_of :author_id, :project_id
+  validates :title, presence: true, length: { within: 0..255 }
+  validates :file_name, presence: true, length: { within: 0..255 }
+  validates :content, presence: true, length: { within: 0..10000 }
 
   scope :fresh, order("created_at DESC")
   scope :non_expired, where(["expires_at IS NULL OR expires_at > ?", Time.current])
@@ -59,6 +46,7 @@ class Snippet < ActiveRecord::Base
     expires_at && expires_at < Time.current
   end
 end
+
 # == Schema Information
 #
 # Table name: snippets
@@ -73,4 +61,3 @@ end
 #  file_name  :string(255)
 #  expires_at :datetime
 #
-
index 89c69fc..376f336 100644 (file)
@@ -1,17 +1,4 @@
-# == Schema Information
-#
-# Table name: web_hooks
-#
-#  id         :integer         not null, primary key
-#  url        :string(255)
-#  project_id :integer
-#  created_at :datetime        not null
-#  updated_at :datetime        not null
-#  type       :string(255)     default("ProjectHook")
-#
-
 class SystemHook < WebHook
-  
   def async_execute(data)
     Resque.enqueue(SystemHookWorker, id, data)
   end
@@ -21,5 +8,16 @@ class SystemHook < WebHook
       sh.async_execute data
     end
   end
-  
 end
+
+# == Schema Information
+#
+# Table name: web_hooks
+#
+#  id         :integer         not null, primary key
+#  url        :string(255)
+#  project_id :integer
+#  created_at :datetime        not null
+#  updated_at :datetime        not null
+#  type       :string(255)     default("ProjectHook")
+#
index 88e8f2f..e4297a7 100644 (file)
@@ -2,16 +2,8 @@ class Tree
   include Linguist::BlobHelper
   attr_accessor :path, :tree, :project, :ref
 
-  delegate :contents,
-    :basename,
-    :name,
-    :data,
-    :mime_type,
-    :mode,
-    :size,
-    :text?,
-    :colorize,
-    to: :tree
+  delegate  :contents, :basename, :name, :data, :mime_type,
+            :mode, :size, :text?, :colorize, to: :tree
 
   def initialize(raw_tree, project, ref = nil, path = nil)
     @project, @ref, @path = project, ref, path
index f33f01f..bed568e 100644 (file)
@@ -1,64 +1,31 @@
 class User < ActiveRecord::Base
-
   include Account
 
   devise :database_authenticatable, :token_authenticatable, :lockable,
          :recoverable, :rememberable, :trackable, :validatable, :omniauthable
 
-  attr_accessible :email, :password, :password_confirmation, :remember_me, :bio,
-                  :name, :skype, :linkedin, :twitter, :dark_scheme,
-                  :theme_id, :force_random_password, :extern_uid, :provider, :as => [:default, :admin]
+  attr_accessible :email, :password, :password_confirmation, :remember_me, :bio, :name,
+                  :skype, :linkedin, :twitter, :dark_scheme, :theme_id, :force_random_password,
+                  :extern_uid, :provider, :as => [:default, :admin]
   attr_accessible :projects_limit, :as => :admin
 
   attr_accessor :force_random_password
 
-  has_many :users_projects, dependent: :destroy
+  has_many :keys, dependent: :destroy
   has_many :projects, through: :users_projects
+  has_many :users_projects, dependent: :destroy
+  has_many :issues, foreign_key: :author_id, dependent: :destroy
+  has_many :notes, foreign_key: :author_id, dependent: :destroy
+  has_many :merge_requests, foreign_key: :author_id, dependent: :destroy
   has_many :my_own_projects, class_name: "Project", foreign_key: :owner_id
-  has_many :keys, dependent: :destroy
-
-  has_many :events,
-    class_name: "Event",
-    foreign_key: :author_id,
-    dependent: :destroy
-
-  has_many :recent_events,
-    class_name: "Event",
-    foreign_key: :author_id,
-    order: "id DESC"
-
-  has_many :issues,
-    foreign_key: :author_id,
-    dependent: :destroy
-
-  has_many :notes,
-    foreign_key: :author_id,
-    dependent: :destroy
-
-  has_many :assigned_issues,
-    class_name: "Issue",
-    foreign_key: :assignee_id,
-    dependent: :destroy
-
-  has_many :merge_requests,
-    foreign_key: :author_id,
-    dependent: :destroy
-
-  has_many :assigned_merge_requests,
-    class_name: "MergeRequest",
-    foreign_key: :assignee_id,
-    dependent: :destroy
-
-  validates :projects_limit,
-            presence: true,
-            numericality: {greater_than_or_equal_to: 0}
+  has_many :events, class_name: "Event", foreign_key: :author_id, dependent: :destroy
+  has_many :recent_events, class_name: "Event", foreign_key: :author_id, order: "id DESC"
+  has_many :assigned_issues, class_name: "Issue", foreign_key: :assignee_id, dependent: :destroy
+  has_many :assigned_merge_requests, class_name: "MergeRequest", foreign_key: :assignee_id, dependent: :destroy
 
   validates :bio, length: { within: 0..255 }
-
   validates :extern_uid, :allow_blank => true, :uniqueness => {:scope => :provider}
-
-  before_save :ensure_authentication_token
-  alias_attribute :private_token, :authentication_token
+  validates :projects_limit, presence: true, numericality: {greater_than_or_equal_to: 0}
 
   scope :not_in_project, lambda { |project|  where("id not in (:ids)", ids: project.users.map(&:id) ) }
   scope :admins, where(admin:  true)
@@ -66,6 +33,8 @@ class User < ActiveRecord::Base
   scope :active, where(blocked:  false)
 
   before_validation :generate_password, on: :create
+  before_save :ensure_authentication_token
+  alias_attribute :private_token, :authentication_token
 
   def generate_password
     if self.force_random_password
@@ -107,6 +76,7 @@ class User < ActiveRecord::Base
     where("name like :query or email like :query", query: "%#{query}%")
   end
 end
+
 # == Schema Information
 #
 # Table name: users
@@ -140,4 +110,3 @@ end
 #  extern_uid             :string(255)
 #  provider               :string(255)
 #
-
index 171bf2b..510b90c 100644 (file)
@@ -88,6 +88,7 @@ class UsersProject < ActiveRecord::Base
     self.class.access_roles.invert[self.project_access]
   end
 end
+
 # == Schema Information
 #
 # Table name: users_projects
@@ -99,4 +100,3 @@ end
 #  updated_at     :datetime        not null
 #  project_access :integer         default(0), not null
 #
-
index b2e481e..edfab88 100644 (file)
@@ -6,26 +6,23 @@ class WebHook < ActiveRecord::Base
   # HTTParty timeout
   default_timeout 10
 
-  validates :url,
-            presence: true,
-            format: {
-              with: URI::regexp(%w(http https)),
-              message: "should be a valid url" }
+  validates :url, presence: true,
+            format: { with: URI::regexp(%w(http https)), message: "should be a valid url" }
 
   def execute(data)
     parsed_url = URI.parse(url)
     if parsed_url.userinfo.blank?
       WebHook.post(url, body: data.to_json, headers: { "Content-Type" => "application/json" })
     else
-      post_url = url.gsub(parsed_url.userinfo+"@", "")
+      post_url = url.gsub("#{parsed_url.userinfo}@", "")
       WebHook.post(post_url,
                    body: data.to_json,
-                   headers: { "Content-Type" => "application/json" },
+                   headers: {"Content-Type" => "application/json"},
                    basic_auth: {username: parsed_url.user, password: parsed_url.password})
     end
   end
-
 end
+
 # == Schema Information
 #
 # Table name: web_hooks
@@ -37,4 +34,3 @@ end
 #  updated_at :datetime        not null
 #  type       :string(255)     default("ProjectHook")
 #
-
index a81a151..c87ac89 100644 (file)
@@ -32,6 +32,7 @@ class Wiki < ActiveRecord::Base
     end
   end
 end
+
 # == Schema Information
 #
 # Table name: wikis
@@ -45,4 +46,3 @@ end
 #  slug       :string(255)
 #  user_id    :integer
 #
-