Commit 6a1b3ef7 authored by Rémy Coutable's avatar Rémy Coutable

Merge branch 'zj-drop-ruby-21-tests' into 'master'

Update Rubocop to Ruby 2.3

See merge request !8994
parents 59f44052 128b1eae
......@@ -5,7 +5,7 @@ require:
inherit_from: .rubocop_todo.yml
AllCops:
TargetRubyVersion: 2.1
TargetRubyVersion: 2.3
# Cop names are not d§splayed in offense messages by default. Change behavior
# by overriding DisplayCopNames, or by giving the -D/--display-cop-names
# option.
......
......@@ -83,7 +83,7 @@ class Projects::WikisController < Projects::ApplicationController
def destroy
@page = @project_wiki.find_page(params[:id])
@page.delete if @page
@page&.delete
redirect_to(
namespace_project_wiki_path(@project.namespace, @project, :home),
......
......@@ -151,7 +151,7 @@ class Notify < BaseMailer
headers['In-Reply-To'] = message_id(model)
headers['References'] = message_id(model)
headers[:subject].prepend('Re: ') if headers[:subject]
headers[:subject]&.prepend('Re: ')
mail_thread(model, headers)
end
......
......@@ -116,31 +116,25 @@ class ApplicationSetting < ActiveRecord::Base
numericality: { only_integer: true, greater_than_or_equal_to: 0 }
validates_each :restricted_visibility_levels do |record, attr, value|
unless value.nil?
value.each do |level|
unless Gitlab::VisibilityLevel.options.has_value?(level)
record.errors.add(attr, "'#{level}' is not a valid visibility level")
end
value&.each do |level|
unless Gitlab::VisibilityLevel.options.has_value?(level)
record.errors.add(attr, "'#{level}' is not a valid visibility level")
end
end
end
validates_each :import_sources do |record, attr, value|
unless value.nil?
value.each do |source|
unless Gitlab::ImportSources.options.has_value?(source)
record.errors.add(attr, "'#{source}' is not a import source")
end
value&.each do |source|
unless Gitlab::ImportSources.options.has_value?(source)
record.errors.add(attr, "'#{source}' is not a import source")
end
end
end
validates_each :disabled_oauth_sign_in_sources do |record, attr, value|
unless value.nil?
value.each do |source|
unless Devise.omniauth_providers.include?(source.to_sym)
record.errors.add(attr, "'#{source}' is not an OAuth sign-in source")
end
value&.each do |source|
unless Devise.omniauth_providers.include?(source.to_sym)
record.errors.add(attr, "'#{source}' is not an OAuth sign-in source")
end
end
end
......@@ -230,11 +224,11 @@ class ApplicationSetting < ActiveRecord::Base
end
def domain_whitelist_raw
self.domain_whitelist.join("\n") unless self.domain_whitelist.nil?
self.domain_whitelist&.join("\n")
end
def domain_blacklist_raw
self.domain_blacklist.join("\n") unless self.domain_blacklist.nil?
self.domain_blacklist&.join("\n")
end
def domain_whitelist_raw=(values)
......
......@@ -95,8 +95,8 @@ module Issuable
def update_assignee_cache_counts
# make sure we flush the cache for both the old *and* new assignees(if they exist)
previous_assignee = User.find_by_id(assignee_id_was) if assignee_id_was
previous_assignee.update_cache_counts if previous_assignee
assignee.update_cache_counts if assignee
previous_assignee&.update_cache_counts
assignee&.update_cache_counts
end
# We want to use optimistic lock for cases when only title or description are involved
......
......@@ -73,7 +73,7 @@ module Milestoneish
def memoize_per_user(user, method_name)
@memoized ||= {}
@memoized[method_name] ||= {}
@memoized[method_name][user.try!(:id)] ||= yield
@memoized[method_name][user&.id] ||= yield
end
# override in a class that includes this module to get a faster query
......
......@@ -9,7 +9,7 @@ class GroupMilestone < GlobalMilestone
def self.build(group, projects, title)
super(projects, title).tap do |milestone|
milestone.group = group if milestone
milestone&.group = group
end
end
......
......@@ -469,7 +469,7 @@ class Project < ActiveRecord::Base
def reset_cache_and_import_attrs
ProjectCacheWorker.perform_async(self.id)
self.import_data.destroy if self.import_data
self.import_data&.destroy
end
def import_url=(value)
......
......@@ -314,7 +314,7 @@ class User < ActiveRecord::Base
def find_by_personal_access_token(token_string)
personal_access_token = PersonalAccessToken.active.find_by_token(token_string) if token_string
personal_access_token.user if personal_access_token
personal_access_token&.user
end
# Returns a user for the given SSH key.
......
......@@ -69,16 +69,12 @@ class WikiPage
# The raw content of this page.
def content
@attributes[:content] ||= if @page
@page.text_data
end
@attributes[:content] ||= @page&.text_data
end
# The processed/formatted content of this page.
def formatted_content
@attributes[:formatted_content] ||= if @page
@page.formatted_data
end
@attributes[:formatted_content] ||= @page&.formatted_data
end
# The markup format for the page.
......
......@@ -4,7 +4,7 @@ class CreateTagService < BaseService
return error('Tag name invalid') unless valid_tag
repository = project.repository
message.strip! if message
message&.strip!
new_tag = nil
......
......@@ -9,7 +9,7 @@ class DeleteTagService < BaseService
if repository.rm_tag(current_user, tag_name)
release = project.releases.find_by(tag: tag_name)
release.destroy if release
release&.destroy
push_data = build_push_data(tag)
EventCreateService.new.push(project, current_user, push_data)
......
......@@ -97,7 +97,7 @@ module Projects
@project.team << [current_user, :master, current_user]
end
@project.group.refresh_members_authorized_projects if @project.group
@project.group&.refresh_members_authorized_projects
end
def skip_wiki?
......
......@@ -16,6 +16,6 @@ class AuthorizedProjectsWorker
def perform(user_id)
user = User.find_by(id: user_id)
user.refresh_authorized_projects if user
user&.refresh_authorized_projects
end
end
......@@ -84,7 +84,7 @@ module API
branch = user_project.repository.find_branch(params[:branch])
not_found!("Branch") unless branch
protected_branch = user_project.protected_branches.find_by(name: branch.name)
protected_branch.destroy if protected_branch
protected_branch&.destroy
present branch, with: Entities::RepoBranch, project: user_project
end
......
......@@ -380,9 +380,7 @@ module API
expose :author, using: Entities::UserBasic, if: ->(event, options) { event.author }
expose :author_username do |event, options|
if event.author
event.author.username
end
event.author&.username
end
end
......
......@@ -58,7 +58,7 @@ module Gitlab
def helpers(*nodes)
nodes.each do |symbol|
define_method("#{symbol}_defined?") do
@entries[symbol].specified? if @entries[symbol]
@entries[symbol]&.specified?
end
define_method("#{symbol}_value") do
......
......@@ -46,7 +46,7 @@ module Gitlab
end
def diffs_count
diffs.size if diffs
diffs&.size
end
def compare
......@@ -58,7 +58,7 @@ module Gitlab
end
def compare_timeout
diffs.overflow? if diffs
diffs&.overflow?
end
def reverse_compare?
......
......@@ -13,7 +13,7 @@ module Gitlab
end
def data
lines.join("\n") if lines
lines&.join("\n")
end
def name
......
......@@ -112,7 +112,7 @@ module Gitlab
def self.tag_transaction(name, value)
trans = current_transaction
trans.add_tag(name, value) if trans
trans&.add_tag(name, value)
end
# Sets the action of the current transaction (if any)
......@@ -121,7 +121,7 @@ module Gitlab
def self.action=(action)
trans = current_transaction
trans.action = action if trans
trans&.action = action
end
# Tracks an event.
......@@ -130,7 +130,7 @@ module Gitlab
def self.add_event(*args)
trans = current_transaction
trans.add_event(*args) if trans
trans&.add_event(*args)
end
# Returns the prefix to use for the name of a series.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment