From aaae5e6f5ebc61f724e901f26e928f5e3bd9eb88 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 20:55:05 -0800 Subject: [PATCH 01/13] Rubocop: Style/AccessorMethodName enabled --- .rubocop.yml | 2 +- app/services/projects/image_service.rb | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 17494974d1..ffc20fec4b 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -1,7 +1,7 @@ Style/AccessModifierIndentation: Description: Check indentation of private/protected visibility modifiers. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-public-private-protected' - Enabled: false + Enabled: true Style/AccessorMethodName: Description: Check the naming of accessor methods for get_/set_. diff --git a/app/services/projects/image_service.rb b/app/services/projects/image_service.rb index c79ddddd97..7ca7e82c4a 100644 --- a/app/services/projects/image_service.rb +++ b/app/services/projects/image_service.rb @@ -14,14 +14,14 @@ module Projects uploader.store!(image) link = { 'alt' => File.basename(alt, '.*'), - 'url' => File.join(@root_url, uploader.url) + 'url' => File.join(@root_url, uploader.url) } else link = nil end end - protected + protected def upload_path base_dir = FileUploader.generate_dir From 9fbdbf8b3fff72ae37a320e7e9fac3b9224e3c53 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 20:57:10 -0800 Subject: [PATCH 02/13] Rubocop: Style/Alias enabled --- .rubocop.yml | 2 +- app/models/wiki_page.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index ffc20fec4b..c80c9bf907 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -10,7 +10,7 @@ Style/AccessorMethodName: Style/Alias: Description: 'Use alias_method instead of alias.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#alias-method' - Enabled: false + Enabled: true Style/AlignArray: Description: >- diff --git a/app/models/wiki_page.rb b/app/models/wiki_page.rb index b9ab6702c5..32981a0e66 100644 --- a/app/models/wiki_page.rb +++ b/app/models/wiki_page.rb @@ -43,7 +43,7 @@ class WikiPage @attributes[:slug] end - alias :to_param :slug + alias_method :to_param, :slug # The formatted title of this page. def title From c427bf08e41342957632289e084604f53e65e353 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 20:58:28 -0800 Subject: [PATCH 03/13] Rubocop: Style/AlignArray enabled --- .rubocop.yml | 2 +- lib/gitlab/diff/parser.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index c80c9bf907..46634eb233 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -17,7 +17,7 @@ Style/AlignArray: Align the elements of an array literal if they span more than one line. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#align-multiline-arrays' - Enabled: false + Enabled: true Style/AlignHash: Description: >- diff --git a/lib/gitlab/diff/parser.rb b/lib/gitlab/diff/parser.rb index f7c1f20d76..0242e09a51 100644 --- a/lib/gitlab/diff/parser.rb +++ b/lib/gitlab/diff/parser.rb @@ -4,7 +4,7 @@ module Gitlab include Enumerable def parse(lines) - @lines = lines, + @lines = lines lines_obj = [] line_obj_index = 0 line_old = 1 From cc39bca3fa71930421f1c46844b4d02d5ff93e8b Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:15:44 -0800 Subject: [PATCH 04/13] Rubocop: Style/AlignHash enabled --- .rubocop.yml | 2 +- app/controllers/projects/blob_controller.rb | 3 +-- app/helpers/application_helper.rb | 4 ++-- app/models/application_setting.rb | 3 ++- app/models/namespace.rb | 21 ++++++++++++------- app/models/project.rb | 18 +++++++++------- app/models/project_services/bamboo_service.rb | 18 ++++++++++------ .../project_services/teamcity_service.rb | 15 +++++++------ app/models/snippet.rb | 8 ++++--- app/models/user.rb | 10 +++++---- config/routes.rb | 10 ++++----- lib/gitlab/ldap/adapter.rb | 6 ++++-- 12 files changed, 70 insertions(+), 48 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 46634eb233..3c64374772 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -23,7 +23,7 @@ Style/AlignHash: Description: >- Align the elements of a hash literal if they span more than one line. - Enabled: false + Enabled: true Style/AlignParameters: Description: >- diff --git a/app/controllers/projects/blob_controller.rb b/app/controllers/projects/blob_controller.rb index b471d57f69..dccb96ba1d 100644 --- a/app/controllers/projects/blob_controller.rb +++ b/app/controllers/projects/blob_controller.rb @@ -59,8 +59,7 @@ class Projects::BlobController < Projects::ApplicationController def preview @content = params[:content] - diffy = Diffy::Diff.new(@blob.data, @content, diff: '-U 3', - include_diff_info: true) + diffy = Diffy::Diff.new(@blob.data, @content, diff: '-U 3', include_diff_info: true) @diff_lines = Gitlab::Diff::Parser.new.parse(diffy.diff.scan(/.*\n/)) render layout: false diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index d00f1aac2d..7417261a84 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -75,9 +75,9 @@ module ApplicationHelper options[:class] ||= '' options[:class] << ' identicon' bg_key = project.id % 7 + style = "background-color: ##{ allowed_colors.values[bg_key] }; color: #555" - content_tag(:div, class: options[:class], - style: "background-color: ##{ allowed_colors.values[bg_key] }; color: #555") do + content_tag(:div, class: options[:class], style: style) do project.name[0, 1].upcase end end diff --git a/app/models/application_setting.rb b/app/models/application_setting.rb index 45ae79a75c..0b3d430add 100644 --- a/app/models/application_setting.rb +++ b/app/models/application_setting.rb @@ -14,7 +14,8 @@ # class ApplicationSetting < ActiveRecord::Base - validates :home_page_url, allow_blank: true, + validates :home_page_url, + allow_blank: true, format: { with: URI::regexp(%w(http https)), message: "should be a valid url" }, if: :home_page_url_column_exist diff --git a/app/models/namespace.rb b/app/models/namespace.rb index ea4b48fdd7..e7fd302475 100644 --- a/app/models/namespace.rb +++ b/app/models/namespace.rb @@ -20,15 +20,20 @@ class Namespace < ActiveRecord::Base belongs_to :owner, class_name: "User" validates :owner, presence: true, unless: ->(n) { n.type == "Group" } - validates :name, presence: true, uniqueness: true, - length: { within: 0..255 }, - format: { with: Gitlab::Regex.name_regex, - message: Gitlab::Regex.name_regex_message } + validates :name, + presence: true, uniqueness: true, + length: { within: 0..255 }, + format: { with: Gitlab::Regex.name_regex, + message: Gitlab::Regex.name_regex_message } + validates :description, length: { within: 0..255 } - validates :path, uniqueness: { case_sensitive: false }, presence: true, length: { within: 1..255 }, - exclusion: { in: Gitlab::Blacklist.path }, - format: { with: Gitlab::Regex.path_regex, - message: Gitlab::Regex.path_regex_message } + validates :path, + uniqueness: { case_sensitive: false }, + presence: true, + length: { within: 1..255 }, + exclusion: { in: Gitlab::Blacklist.path }, + format: { with: Gitlab::Regex.path_regex, + message: Gitlab::Regex.path_regex_message } delegate :name, to: :owner, allow_nil: true, prefix: true diff --git a/app/models/project.rb b/app/models/project.rb index f314ed9bd2..cfe40553ab 100644 --- a/app/models/project.rb +++ b/app/models/project.rb @@ -108,13 +108,17 @@ class Project < ActiveRecord::Base # Validations validates :creator, presence: true, on: :create validates :description, length: { maximum: 2000 }, allow_blank: true - validates :name, presence: true, length: { within: 0..255 }, - format: { with: Gitlab::Regex.project_name_regex, - message: Gitlab::Regex.project_regex_message } - validates :path, presence: true, length: { within: 0..255 }, - exclusion: { in: Gitlab::Blacklist.path }, - format: { with: Gitlab::Regex.path_regex, - message: Gitlab::Regex.path_regex_message } + validates :name, + presence: true, + length: { within: 0..255 }, + format: { with: Gitlab::Regex.project_name_regex, + message: Gitlab::Regex.project_regex_message } + validates :path, + presence: true, + length: { within: 0..255 }, + exclusion: { in: Gitlab::Blacklist.path }, + format: { with: Gitlab::Regex.path_regex, + message: Gitlab::Regex.path_regex_message } validates :issues_enabled, :merge_requests_enabled, :wiki_enabled, inclusion: { in: [true, false] } validates :visibility_level, diff --git a/app/models/project_services/bamboo_service.rb b/app/models/project_services/bamboo_service.rb index 16e1b83da4..745609e591 100644 --- a/app/models/project_services/bamboo_service.rb +++ b/app/models/project_services/bamboo_service.rb @@ -17,13 +17,19 @@ class BambooService < CiService prop_accessor :bamboo_url, :build_key, :username, :password - validates :bamboo_url, presence: true, - format: { with: URI::regexp }, if: :activated? + validates :bamboo_url, + presence: true, + format: { with: URI::regexp }, + if: :activated? validates :build_key, presence: true, if: :activated? - validates :username, presence: true, - if: ->(service) { service.password? }, if: :activated? - validates :password, presence: true, - if: ->(service) { service.username? }, if: :activated? + validates :username, + presence: true, + if: ->(service) { service.password? }, + if: :activated? + validates :password, + presence: true, + if: ->(service) { service.username? }, + if: :activated? attr_accessor :response diff --git a/app/models/project_services/teamcity_service.rb b/app/models/project_services/teamcity_service.rb index dca718b5e8..287f5c0e84 100644 --- a/app/models/project_services/teamcity_service.rb +++ b/app/models/project_services/teamcity_service.rb @@ -17,13 +17,16 @@ class TeamcityService < CiService prop_accessor :teamcity_url, :build_type, :username, :password - validates :teamcity_url, presence: true, - format: { with: URI::regexp }, if: :activated? + validates :teamcity_url, + presence: true, + format: { with: URI::regexp }, if: :activated? validates :build_type, presence: true, if: :activated? - validates :username, presence: true, - if: ->(service) { service.password? }, if: :activated? - validates :password, presence: true, - if: ->(service) { service.username? }, if: :activated? + validates :username, + presence: true, + if: ->(service) { service.password? }, if: :activated? + validates :password, + presence: true, + if: ->(service) { service.username? }, if: :activated? attr_accessor :response diff --git a/app/models/snippet.rb b/app/models/snippet.rb index 9aba42a062..a3222d2989 100644 --- a/app/models/snippet.rb +++ b/app/models/snippet.rb @@ -29,9 +29,11 @@ class Snippet < ActiveRecord::Base validates :author, presence: true validates :title, presence: true, length: { within: 0..255 } - validates :file_name, presence: true, length: { within: 0..255 }, - format: { with: Gitlab::Regex.path_regex, - message: Gitlab::Regex.path_regex_message } + validates :file_name, + presence: true, + length: { within: 0..255 }, + format: { with: Gitlab::Regex.path_regex, + message: Gitlab::Regex.path_regex_message } validates :content, presence: true validates :visibility_level, inclusion: { in: Gitlab::VisibilityLevel.values } diff --git a/app/models/user.rb b/app/models/user.rb index 27724b3ccb..552a37c953 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -116,10 +116,12 @@ class User < ActiveRecord::Base validates :email, presence: true, email: { strict_mode: true }, uniqueness: true validates :bio, length: { maximum: 255 }, allow_blank: true validates :projects_limit, presence: true, numericality: { greater_than_or_equal_to: 0 } - validates :username, presence: true, uniqueness: { case_sensitive: false }, - exclusion: { in: Gitlab::Blacklist.path }, - format: { with: Gitlab::Regex.username_regex, - message: Gitlab::Regex.username_regex_message } + validates :username, + presence: true, + uniqueness: { case_sensitive: false }, + exclusion: { in: Gitlab::Blacklist.path }, + format: { with: Gitlab::Regex.username_regex, + message: Gitlab::Regex.username_regex_message } validates :notification_level, inclusion: { in: Notification.notification_levels }, presence: true validate :namespace_uniq, if: ->(user) { user.username_changed? } diff --git a/config/routes.rb b/config/routes.rb index a83c112a88..a2d782cf63 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -294,12 +294,10 @@ Gitlab::Application.routes.draw do member do # tree viewer logs get 'logs_tree', constraints: { id: Gitlab::Regex.git_reference_regex } - get 'logs_tree/:path' => 'refs#logs_tree', - as: :logs_file, - constraints: { - id: Gitlab::Regex.git_reference_regex, - path: /.*/ - } + get 'logs_tree/:path' => 'refs#logs_tree', as: :logs_file, constraints: { + id: Gitlab::Regex.git_reference_regex, + path: /.*/ + } end end diff --git a/lib/gitlab/ldap/adapter.rb b/lib/gitlab/ldap/adapter.rb index 256cdb4c2f..577a890a7d 100644 --- a/lib/gitlab/ldap/adapter.rb +++ b/lib/gitlab/ldap/adapter.rb @@ -63,8 +63,10 @@ module Gitlab end def dn_matches_filter?(dn, filter) - ldap_search(base: dn, filter: filter, - scope: Net::LDAP::SearchScope_BaseObject, attributes: %w{dn}).any? + ldap_search(base: dn, + filter: filter, + scope: Net::LDAP::SearchScope_BaseObject, + attributes: %w{dn}).any? end def ldap_search(*args) From 6579c336f96b00bb7897f7cbf2056286c1781281 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:20:34 -0800 Subject: [PATCH 05/13] Rubocop: Ascii restrictions --- .rubocop.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 3c64374772..c3f3d7bca6 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -45,12 +45,12 @@ Style/ArrayJoin: Style/AsciiComments: Description: 'Use only ascii symbols in comments.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-comments' - Enabled: false + Enabled: true Style/AsciiIdentifiers: Description: 'Use only ascii symbols in identifiers.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#english-identifiers' - Enabled: false + Enabled: true Style/Attr: Description: 'Checks for uses of Module#attr.' From da884aabc7674c68eee23699efb357bc94aef8d3 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:22:57 -0800 Subject: [PATCH 06/13] Avoid using {...} for multi-line blocks --- .rubocop.yml | 4 ++-- lib/api/api_guard.rb | 4 ++-- lib/api/internal.rb | 4 +--- lib/api/namespaces.rb | 4 ++-- lib/api/system_hooks.rb | 4 ++-- 5 files changed, 9 insertions(+), 11 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index c3f3d7bca6..319efe7e0d 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -74,7 +74,7 @@ Style/BlockComments: Style/BlockEndNewline: Description: 'Put end statement of multiline block on its own line.' - Enabled: false + Enabled: true Style/Blocks: Description: >- @@ -82,7 +82,7 @@ Style/Blocks: always ugly). Prefer {...} over do...end for single-line blocks. StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#single-line-blocks' - Enabled: false + Enabled: true Style/BracesAroundHashParameters: Description: 'Enforce braces style around hash parameters.' diff --git a/lib/api/api_guard.rb b/lib/api/api_guard.rb index be3d053efc..cb20bf0720 100644 --- a/lib/api/api_guard.rb +++ b/lib/api/api_guard.rb @@ -120,7 +120,7 @@ module APIGuard end def oauth2_bearer_token_error_handler - Proc.new {|e| + Proc.new do |e| response = case e when MissingTokenError Rack::OAuth2::Server::Resource::Bearer::Unauthorized.new @@ -150,7 +150,7 @@ module APIGuard end response.finish - } + end end end diff --git a/lib/api/internal.rb b/lib/api/internal.rb index a999cff09c..7a89a26fac 100644 --- a/lib/api/internal.rb +++ b/lib/api/internal.rb @@ -1,9 +1,7 @@ module API # Internal access API class Internal < Grape::API - before { - authenticate_by_gitlab_shell_token! - } + before { authenticate_by_gitlab_shell_token! } namespace 'internal' do # Check if git command is allowed to project diff --git a/lib/api/namespaces.rb b/lib/api/namespaces.rb index f9f2ed90cc..b90ed6af5f 100644 --- a/lib/api/namespaces.rb +++ b/lib/api/namespaces.rb @@ -1,10 +1,10 @@ module API # namespaces API class Namespaces < Grape::API - before { + before do authenticate! authenticated_as_admin! - } + end resource :namespaces do # Get a namespaces list diff --git a/lib/api/system_hooks.rb b/lib/api/system_hooks.rb index 3e239c5afe..518964db50 100644 --- a/lib/api/system_hooks.rb +++ b/lib/api/system_hooks.rb @@ -1,10 +1,10 @@ module API # Hooks API class SystemHooks < Grape::API - before { + before do authenticate! authenticated_as_admin! - } + end resource :hooks do # Get the list of system hooks From 368e9a0862dd7d58b009956e8f1ac51d2a549cda Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:26:40 -0800 Subject: [PATCH 07/13] Rubocop: Style/CaseIndentation enabled --- .rubocop.yml | 2 +- app/finders/notes_finder.rb | 25 +++++++++++++------------ lib/api/api_guard.rb | 7 ++----- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 319efe7e0d..923ea00a10 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -96,7 +96,7 @@ Style/CaseEquality: Style/CaseIndentation: Description: 'Indentation of when in a case/when/[else/]end.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#indent-when-to-case' - Enabled: false + Enabled: true Style/CharacterLiteral: Description: 'Checks for uses of character literals.' diff --git a/app/finders/notes_finder.rb b/app/finders/notes_finder.rb index bef82d7f0f..6fe15b4106 100644 --- a/app/finders/notes_finder.rb +++ b/app/finders/notes_finder.rb @@ -7,18 +7,19 @@ class NotesFinder # Default to 0 to remain compatible with old clients last_fetched_at = Time.at(params.fetch(:last_fetched_at, 0).to_i) - notes = case target_type - when "commit" - project.notes.for_commit_id(target_id).not_inline.fresh - when "issue" - project.issues.find(target_id).notes.inc_author.fresh - when "merge_request" - project.merge_requests.find(target_id).mr_and_commit_notes.inc_author.fresh - when "snippet", "project_snippet" - project.snippets.find(target_id).notes.fresh - else - raise 'invalid target_type' - end + notes = + case target_type + when "commit" + project.notes.for_commit_id(target_id).not_inline.fresh + when "issue" + project.issues.find(target_id).notes.inc_author.fresh + when "merge_request" + project.merge_requests.find(target_id).mr_and_commit_notes.inc_author.fresh + when "snippet", "project_snippet" + project.snippets.find(target_id).notes.fresh + else + raise 'invalid target_type' + end # Use overlapping intervals to avoid worrying about race conditions notes.where('updated_at > ?', last_fetched_at - FETCH_OVERLAP) diff --git a/lib/api/api_guard.rb b/lib/api/api_guard.rb index cb20bf0720..b9994fcefd 100644 --- a/lib/api/api_guard.rb +++ b/lib/api/api_guard.rb @@ -47,16 +47,12 @@ module APIGuard case validate_access_token(access_token, scopes) when Oauth2::AccessTokenValidationService::INSUFFICIENT_SCOPE raise InsufficientScopeError.new(scopes) - when Oauth2::AccessTokenValidationService::EXPIRED raise ExpiredError - when Oauth2::AccessTokenValidationService::REVOKED raise RevokedError - when Oauth2::AccessTokenValidationService::VALID @current_user = User.find(access_token.resource_owner_id) - end end end @@ -121,7 +117,8 @@ module APIGuard def oauth2_bearer_token_error_handler Proc.new do |e| - response = case e + response = + case e when MissingTokenError Rack::OAuth2::Server::Resource::Bearer::Unauthorized.new From 7558fe98759ec28c2fd97ae10cb1610a1a6c38cd Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:31:03 -0800 Subject: [PATCH 08/13] More rubocop rules enable --- .rubocop.yml | 9 +++++---- lib/email_validator.rb | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 923ea00a10..c1a5d06770 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -60,7 +60,7 @@ Style/Attr: Style/BeginBlock: Description: 'Avoid the use of BEGIN blocks.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-BEGIN-blocks' - Enabled: false + Enabled: true Style/BarePercentLiterals: Description: 'Checks if usage of %() or %Q() matches configuration.' @@ -101,12 +101,12 @@ Style/CaseIndentation: Style/CharacterLiteral: Description: 'Checks for uses of character literals.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-character-literals' - Enabled: false + Enabled: true Style/ClassAndModuleCamelCase: Description: 'Use CamelCase for classes and modules.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#camelcase-classes' - Enabled: false + Enabled: true Style/ClassAndModuleChildren: Description: 'Checks style of children classes and modules.' @@ -124,7 +124,7 @@ Style/ClassMethods: Style/ClassVars: Description: 'Avoid the use of class variables.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#no-class-vars' - Enabled: false + Enabled: true Style/ColonMethodCall: Description: 'Do not use :: for method call.' @@ -1000,3 +1000,4 @@ AllCops: - 'bin/**/*' - 'lib/backup/**/*' - 'lib/tasks/**/*' + - 'lib/email_validator.rb' diff --git a/lib/email_validator.rb b/lib/email_validator.rb index 0a67ebcd79..f509f0a584 100644 --- a/lib/email_validator.rb +++ b/lib/email_validator.rb @@ -1,5 +1,5 @@ # Based on https://github.com/balexand/email_validator -# +# # Extended to use only strict mode with following allowed characters: # ' - apostrophe # From 7d48205c1a472c07969e4dc43965fa3090b84376 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:34:16 -0800 Subject: [PATCH 09/13] Rubocop: comment indentation --- .rubocop.yml | 2 +- app/helpers/notes_helper.rb | 2 +- config/initializers/carrierwave.rb | 18 +++++++++++++----- lib/gitlab/git_access.rb | 2 +- 4 files changed, 16 insertions(+), 8 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index c1a5d06770..369e55abcd 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -140,7 +140,7 @@ Style/CommentAnnotation: Style/CommentIndentation: Description: 'Indentation of comments.' - Enabled: false + Enabled: true Style/ConstantName: Description: 'Constants should use SCREAMING_SNAKE_CASE.' diff --git a/app/helpers/notes_helper.rb b/app/helpers/notes_helper.rb index d41d561739..8edcb8e6a8 100644 --- a/app/helpers/notes_helper.rb +++ b/app/helpers/notes_helper.rb @@ -1,5 +1,5 @@ module NotesHelper - # Helps to distinguish e.g. commit notes in mr notes list + # Helps to distinguish e.g. commit notes in mr notes list def note_for_main_target?(note) (@noteable.class.name == note.noteable_type && !note.for_diff_line?) end diff --git a/config/initializers/carrierwave.rb b/config/initializers/carrierwave.rb index 667f198667..bfb8656df5 100644 --- a/config/initializers/carrierwave.rb +++ b/config/initializers/carrierwave.rb @@ -12,11 +12,19 @@ if File.exists?(aws_file) aws_secret_access_key: AWS_CONFIG['secret_access_key'], # required region: AWS_CONFIG['region'], # optional, defaults to 'us-east-1' } - config.fog_directory = AWS_CONFIG['bucket'] # required - config.fog_public = false # optional, defaults to true - config.fog_attributes = { 'Cache-Control'=>'max-age=315576000' } # optional, defaults to {} - config.fog_authenticated_url_expiration = 1 << 29 # optional time (in seconds) that authenticated urls will be valid. - # when fog_public is false and provider is AWS or Google, defaults to 600 + + # required + config.fog_directory = AWS_CONFIG['bucket'] + + # optional, defaults to true + config.fog_public = false + + # optional, defaults to {} + config.fog_attributes = { 'Cache-Control'=>'max-age=315576000' } + + # optional time (in seconds) that authenticated urls will be valid. + # when fog_public is false and provider is AWS or Google, defaults to 600 + config.fog_authenticated_url_expiration = 1 << 29 end # Mocking Fog requests, based on: https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Test-Fog-based-uploaders diff --git a/lib/gitlab/git_access.rb b/lib/gitlab/git_access.rb index ea96d04c5a..0530923b20 100644 --- a/lib/gitlab/git_access.rb +++ b/lib/gitlab/git_access.rb @@ -113,8 +113,8 @@ module Gitlab # we dont allow force push to protected branch if forced_push?(project, oldrev, newrev) :force_push_code_to_protected_branches - # and we dont allow remove of protected branch elsif newrev == Gitlab::Git::BLANK_SHA + # and we dont allow remove of protected branch :remove_protected_branches elsif project.developers_can_push_to_protected_branch?(branch_name) :push_code From 647ff6240ef5e8256a44b126aa7573812d5e70b7 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:38:50 -0800 Subject: [PATCH 10/13] Rubocop: Style/ElseAlignment enabled --- .rubocop.yml | 4 ++-- app/controllers/projects/refs_controller.rb | 8 ++++---- app/helpers/commits_helper.rb | 13 +++++++------ app/models/commit.rb | 11 ++++++----- app/services/projects/participants_service.rb | 11 ++++++----- config/initializers/acts_as_taggable_on_patch.rb | 11 ++++++----- 6 files changed, 31 insertions(+), 27 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 369e55abcd..c14303ab1f 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -145,7 +145,7 @@ Style/CommentIndentation: Style/ConstantName: Description: 'Constants should use SCREAMING_SNAKE_CASE.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#screaming-snake-case' - Enabled: false + Enabled: true Style/DefWithParentheses: Description: 'Use def with parentheses when there are arguments.' @@ -177,7 +177,7 @@ Style/EachWithObject: Style/ElseAlignment: Description: 'Align elses and elsifs correctly.' - Enabled: false + Enabled: true Style/EmptyElse: Description: 'Avoid empty else-clauses.' diff --git a/app/controllers/projects/refs_controller.rb b/app/controllers/projects/refs_controller.rb index cede0ebe0a..b80472f8eb 100644 --- a/app/controllers/projects/refs_controller.rb +++ b/app/controllers/projects/refs_controller.rb @@ -31,10 +31,10 @@ class Projects::RefsController < Projects::ApplicationController def logs_tree @offset = if params[:offset].present? - params[:offset].to_i - else - 0 - end + params[:offset].to_i + else + 0 + end @limit = 25 diff --git a/app/helpers/commits_helper.rb b/app/helpers/commits_helper.rb index 1a322ac048..b4ba14160e 100644 --- a/app/helpers/commits_helper.rb +++ b/app/helpers/commits_helper.rb @@ -112,12 +112,13 @@ module CommitsHelper person_name = user.nil? ? source_name : user.name person_email = user.nil? ? source_email : user.email - text = if options[:avatar] - avatar = image_tag(avatar_icon(person_email, options[:size]), class: "avatar #{"s#{options[:size]}" if options[:size]}", width: options[:size], alt: "") - %Q{#{avatar} #{person_name}} - else - person_name - end + text = + if options[:avatar] + avatar = image_tag(avatar_icon(person_email, options[:size]), class: "avatar #{"s#{options[:size]}" if options[:size]}", width: options[:size], alt: "") + %Q{#{avatar} #{person_name}} + else + person_name + end options = { class: "commit-#{options[:source]}-link has_tooltip", diff --git a/app/models/commit.rb b/app/models/commit.rb index baccf28674..e0461809e1 100644 --- a/app/models/commit.rb +++ b/app/models/commit.rb @@ -88,11 +88,12 @@ class Commit # cut off, ellipses (`&hellp;`) are prepended to the commit message. def description title_end = safe_message.index("\n") - @description ||= if (!title_end && safe_message.length > 100) || (title_end && title_end > 100) - "…".html_safe << safe_message[80..-1] - else - safe_message.split("\n", 2)[1].try(:chomp) - end + @description ||= + if (!title_end && safe_message.length > 100) || (title_end && title_end > 100) + "…".html_safe << safe_message[80..-1] + else + safe_message.split("\n", 2)[1].try(:chomp) + end end def description? diff --git a/app/services/projects/participants_service.rb b/app/services/projects/participants_service.rb index c4d2c0963b..e3b33de8d0 100644 --- a/app/services/projects/participants_service.rb +++ b/app/services/projects/participants_service.rb @@ -5,11 +5,12 @@ module Projects end def execute(note_type, note_id) - participating = if note_type && note_id - participants_in(note_type, note_id) - else - [] - end + participating = + if note_type && note_id + participants_in(note_type, note_id) + else + [] + end team_members = sorted(@project.team.members) participants = all_members + team_members + participating participants.uniq diff --git a/config/initializers/acts_as_taggable_on_patch.rb b/config/initializers/acts_as_taggable_on_patch.rb index baa77fde39..e7a7728636 100644 --- a/config/initializers/acts_as_taggable_on_patch.rb +++ b/config/initializers/acts_as_taggable_on_patch.rb @@ -42,11 +42,12 @@ module ActsAsTaggableOn::Taggable elsif options.delete(:any) # get tags, drop out if nothing returned (we need at least one) - tags = if options.delete(:wild) - ActsAsTaggableOn::Tag.named_like_any(tag_list) - else - ActsAsTaggableOn::Tag.named_any(tag_list) - end + tags = + if options.delete(:wild) + ActsAsTaggableOn::Tag.named_like_any(tag_list) + else + ActsAsTaggableOn::Tag.named_any(tag_list) + end return empty_result unless tags.length > 0 From 615bb941358389a1fdfec34abc6af8b61db75580 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:41:38 -0800 Subject: [PATCH 11/13] Rubocop: Dont allow puts or print to stdout --- .rubocop.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.rubocop.yml b/.rubocop.yml index c14303ab1f..1b62416f74 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -970,7 +970,7 @@ Rails/HasAndBelongsToMany: Rails/Output: Description: 'Checks for calls to puts, print, etc.' - Enabled: false + Enabled: true Rails/ReadWriteAttribute: Description: >- @@ -991,6 +991,7 @@ Rails/Validation: # # AllCops: + RunRailsCops: true Exclude: - 'spec/**/*' - 'features/**/*' @@ -1001,3 +1002,5 @@ AllCops: - 'lib/backup/**/*' - 'lib/tasks/**/*' - 'lib/email_validator.rb' + - 'lib/gitlab/upgrader.rb' + - 'lib/gitlab/seeder.rb' From d04344373b899c1e54948ca46478f7b907a576d2 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:53:27 -0800 Subject: [PATCH 12/13] Rubocop: no trailing newlines --- .rubocop.yml | 6 +++--- app/controllers/namespaces_controller.rb | 1 - app/controllers/projects/raw_controller.rb | 1 - app/helpers/projects_helper.rb | 1 - app/services/oauth2/access_token_validation_service.rb | 2 +- config/initializers/7_omniauth.rb | 2 +- config/initializers/gitlab_shell_secret_token.rb | 2 +- lib/gitlab/backend/shell_adapter.rb | 1 - lib/gitlab/force_push_check.rb | 1 - 9 files changed, 6 insertions(+), 11 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 1b62416f74..965a52c755 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -657,7 +657,7 @@ Style/Tab: Style/TrailingBlankLines: Description: 'Checks trailing blank lines and final newline.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#newline-eof' - Enabled: false + Enabled: true Style/TrailingComma: Description: 'Checks for trailing comma in parameter lists and literals.' @@ -909,7 +909,7 @@ Lint/StringConversionInInterpolation: Lint/UnderscorePrefixedVariableName: Description: 'Do not use prefix `_` for a variable that is used.' - Enabled: false + Enabled: true Lint/UnusedBlockArgument: Description: 'Checks for unused block arguments.' @@ -966,7 +966,7 @@ Rails/Delegate: Rails/HasAndBelongsToMany: Description: 'Prefer has_many :through to has_and_belongs_to_many.' - Enabled: false + Enabled: true Rails/Output: Description: 'Checks for calls to puts, print, etc.' diff --git a/app/controllers/namespaces_controller.rb b/app/controllers/namespaces_controller.rb index c59a2401ce..b7a9d8c129 100644 --- a/app/controllers/namespaces_controller.rb +++ b/app/controllers/namespaces_controller.rb @@ -15,4 +15,3 @@ class NamespacesController < ApplicationController end end end - diff --git a/app/controllers/projects/raw_controller.rb b/app/controllers/projects/raw_controller.rb index 84888265dc..c4ddc32e8c 100644 --- a/app/controllers/projects/raw_controller.rb +++ b/app/controllers/projects/raw_controller.rb @@ -35,4 +35,3 @@ class Projects::RawController < Projects::ApplicationController end end end - diff --git a/app/helpers/projects_helper.rb b/app/helpers/projects_helper.rb index 687b087e68..5cec6ae99d 100644 --- a/app/helpers/projects_helper.rb +++ b/app/helpers/projects_helper.rb @@ -254,4 +254,3 @@ module ProjectsHelper enabled_oauth_providers.include?(:github) end end - diff --git a/app/services/oauth2/access_token_validation_service.rb b/app/services/oauth2/access_token_validation_service.rb index 5a3b94129f..6194f6ce91 100644 --- a/app/services/oauth2/access_token_validation_service.rb +++ b/app/services/oauth2/access_token_validation_service.rb @@ -38,4 +38,4 @@ module Oauth2::AccessTokenValidationService end end end -end \ No newline at end of file +end diff --git a/config/initializers/7_omniauth.rb b/config/initializers/7_omniauth.rb index 18759f0cfb..8f6c567310 100644 --- a/config/initializers/7_omniauth.rb +++ b/config/initializers/7_omniauth.rb @@ -9,4 +9,4 @@ if Gitlab::LDAP::Config.enabled? server = Gitlab.config.ldap.servers.values.first alias_method server['provider_name'], :ldap end -end \ No newline at end of file +end diff --git a/config/initializers/gitlab_shell_secret_token.rb b/config/initializers/gitlab_shell_secret_token.rb index 8d2b771e53..e7c9f0ba7c 100644 --- a/config/initializers/gitlab_shell_secret_token.rb +++ b/config/initializers/gitlab_shell_secret_token.rb @@ -16,4 +16,4 @@ end if File.exist?(Gitlab.config.gitlab_shell.path) && !File.exist?(gitlab_shell_symlink) FileUtils.symlink(secret_file, gitlab_shell_symlink) -end \ No newline at end of file +end diff --git a/lib/gitlab/backend/shell_adapter.rb b/lib/gitlab/backend/shell_adapter.rb index f247f4593d..fbe2a7a0d7 100644 --- a/lib/gitlab/backend/shell_adapter.rb +++ b/lib/gitlab/backend/shell_adapter.rb @@ -9,4 +9,3 @@ module Gitlab end end end - diff --git a/lib/gitlab/force_push_check.rb b/lib/gitlab/force_push_check.rb index 6ba2c3ad00..eae9773a06 100644 --- a/lib/gitlab/force_push_check.rb +++ b/lib/gitlab/force_push_check.rb @@ -12,4 +12,3 @@ module Gitlab end end end - From 61cc6a9244f316f684cd887febd9dae1030a04b0 Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Mon, 2 Feb 2015 21:59:28 -0800 Subject: [PATCH 13/13] Rubocop: indentation fixes Yay!!! --- .rubocop.yml | 4 ++-- app/controllers/projects/wikis_controller.rb | 20 ++++++++-------- app/finders/snippets_finder.rb | 2 +- app/helpers/application_helper.rb | 2 +- app/helpers/tab_helper.rb | 2 +- .../initializers/acts_as_taggable_on_patch.rb | 24 +++++++++---------- lib/gitlab/diff/parser.rb | 2 +- lib/gitlab/git_access.rb | 10 ++++---- 8 files changed, 33 insertions(+), 33 deletions(-) diff --git a/.rubocop.yml b/.rubocop.yml index 965a52c755..a4b5100819 100644 --- a/.rubocop.yml +++ b/.rubocop.yml @@ -283,12 +283,12 @@ Style/IfWithSemicolon: Style/IndentationConsistency: Description: 'Keep indentation straight.' - Enabled: false + Enabled: true Style/IndentationWidth: Description: 'Use 2 spaces for indentation.' StyleGuide: 'https://github.com/bbatsov/ruby-style-guide#spaces-indentation' - Enabled: false + Enabled: true Style/IndentArray: Description: >- diff --git a/app/controllers/projects/wikis_controller.rb b/app/controllers/projects/wikis_controller.rb index 0e03956e73..0145207bf6 100644 --- a/app/controllers/projects/wikis_controller.rb +++ b/app/controllers/projects/wikis_controller.rb @@ -16,16 +16,16 @@ class Projects::WikisController < Projects::ApplicationController if @page render 'show' elsif file = @project_wiki.find_file(params[:id], params[:version_id]) - if file.on_disk? - send_file file.on_disk_path, disposition: 'inline' - else - send_data( - file.raw_data, - type: file.mime_type, - disposition: 'inline', - filename: file.name - ) - end + if file.on_disk? + send_file file.on_disk_path, disposition: 'inline' + else + send_data( + file.raw_data, + type: file.mime_type, + disposition: 'inline', + filename: file.name + ) + end else return render('empty') unless can?(current_user, :write_wiki, @project) @page = WikiPage.new(@project_wiki) diff --git a/app/finders/snippets_finder.rb b/app/finders/snippets_finder.rb index 4b0c69f2d2..07b5759443 100644 --- a/app/finders/snippets_finder.rb +++ b/app/finders/snippets_finder.rb @@ -40,7 +40,7 @@ class SnippetsFinder when 'are_public' then snippets.are_public else - snippets + snippets end else snippets.public_and_internal diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 7417261a84..1fbb44ee44 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -78,7 +78,7 @@ module ApplicationHelper style = "background-color: ##{ allowed_colors.values[bg_key] }; color: #555" content_tag(:div, class: options[:class], style: style) do - project.name[0, 1].upcase + project.name[0, 1].upcase end end diff --git a/app/helpers/tab_helper.rb b/app/helpers/tab_helper.rb index 639fc98c22..2142db2992 100644 --- a/app/helpers/tab_helper.rb +++ b/app/helpers/tab_helper.rb @@ -90,7 +90,7 @@ module TabHelper return "active" if current_page?(controller: "/projects", action: :edit, id: @project) if ['services', 'hooks', 'deploy_keys', 'team_members', 'protected_branches'].include? controller.controller_name - "active" + "active" end end diff --git a/config/initializers/acts_as_taggable_on_patch.rb b/config/initializers/acts_as_taggable_on_patch.rb index e7a7728636..0d535cb5ca 100644 --- a/config/initializers/acts_as_taggable_on_patch.rb +++ b/config/initializers/acts_as_taggable_on_patch.rb @@ -69,12 +69,12 @@ module ActsAsTaggableOn::Taggable select_clause = "DISTINCT #{table_name}.*" unless context and tag_types.one? if owned_by - tagging_join << " AND " + - sanitize_sql([ - "#{taggings_alias}.tagger_id = ? AND #{taggings_alias}.tagger_type = ?", - owned_by.id, - owned_by.class.base_class.to_s - ]) + tagging_join << " AND " + + sanitize_sql([ + "#{taggings_alias}.tagger_id = ? AND #{taggings_alias}.tagger_type = ?", + owned_by.id, + owned_by.class.base_class.to_s + ]) end joins << tagging_join @@ -93,12 +93,12 @@ module ActsAsTaggableOn::Taggable tagging_join << " AND " + sanitize_sql(["#{taggings_alias}.context = ?", context.to_s]) if context if owned_by - tagging_join << " AND " + - sanitize_sql([ - "#{taggings_alias}.tagger_id = ? AND #{taggings_alias}.tagger_type = ?", - owned_by.id, - owned_by.class.base_class.to_s - ]) + tagging_join << " AND " + + sanitize_sql([ + "#{taggings_alias}.tagger_id = ? AND #{taggings_alias}.tagger_type = ?", + owned_by.id, + owned_by.class.base_class.to_s + ]) end joins << tagging_join diff --git a/lib/gitlab/diff/parser.rb b/lib/gitlab/diff/parser.rb index 0242e09a51..887ed76b36 100644 --- a/lib/gitlab/diff/parser.rb +++ b/lib/gitlab/diff/parser.rb @@ -74,7 +74,7 @@ module Gitlab def html_escape(str) replacements = { '&' => '&', '>' => '>', '<' => '<', '"' => '"', "'" => ''' } - str.gsub(/[&"'><]/, replacements) + str.gsub(/[&"'><]/, replacements) end end end diff --git a/lib/gitlab/git_access.rb b/lib/gitlab/git_access.rb index 0530923b20..6444cec7eb 100644 --- a/lib/gitlab/git_access.rb +++ b/lib/gitlab/git_access.rb @@ -112,14 +112,14 @@ module Gitlab def protected_branch_action(project, oldrev, newrev, branch_name) # we dont allow force push to protected branch if forced_push?(project, oldrev, newrev) - :force_push_code_to_protected_branches + :force_push_code_to_protected_branches elsif newrev == Gitlab::Git::BLANK_SHA - # and we dont allow remove of protected branch - :remove_protected_branches + # and we dont allow remove of protected branch + :remove_protected_branches elsif project.developers_can_push_to_protected_branch?(branch_name) - :push_code + :push_code else - :push_code_to_protected_branches + :push_code_to_protected_branches end end