Enable Style/MutableConstant
This commit is contained in:
parent
3dadf306dd
commit
b7d8df503c
|
@ -308,6 +308,9 @@ Style/MultilineOperationIndentation:
|
||||||
Style/MultilineTernaryOperator:
|
Style/MultilineTernaryOperator:
|
||||||
Enabled: true
|
Enabled: true
|
||||||
|
|
||||||
|
Style/MutableConstant:
|
||||||
|
Enabled: true
|
||||||
|
|
||||||
# Favor unless over if for negative conditions (or control flow or).
|
# Favor unless over if for negative conditions (or control flow or).
|
||||||
Style/NegatedIf:
|
Style/NegatedIf:
|
||||||
Enabled: true
|
Enabled: true
|
||||||
|
|
|
@ -471,11 +471,6 @@ Style/MultilineIfModifier:
|
||||||
- 'app/models/project_wiki.rb'
|
- 'app/models/project_wiki.rb'
|
||||||
- 'lib/gitlab/workhorse.rb'
|
- 'lib/gitlab/workhorse.rb'
|
||||||
|
|
||||||
# Offense count: 187
|
|
||||||
# Cop supports --auto-correct.
|
|
||||||
Style/MutableConstant:
|
|
||||||
Enabled: false
|
|
||||||
|
|
||||||
# Offense count: 8
|
# Offense count: 8
|
||||||
# Cop supports --auto-correct.
|
# Cop supports --auto-correct.
|
||||||
Style/NestedParenthesizedCalls:
|
Style/NestedParenthesizedCalls:
|
||||||
|
|
|
@ -3,7 +3,7 @@ class Admin::SystemInfoController < Admin::ApplicationController
|
||||||
'nobrowse',
|
'nobrowse',
|
||||||
'read-only',
|
'read-only',
|
||||||
'ro'
|
'ro'
|
||||||
]
|
].freeze
|
||||||
|
|
||||||
EXCLUDED_MOUNT_TYPES = [
|
EXCLUDED_MOUNT_TYPES = [
|
||||||
'autofs',
|
'autofs',
|
||||||
|
@ -27,7 +27,7 @@ class Admin::SystemInfoController < Admin::ApplicationController
|
||||||
'tmpfs',
|
'tmpfs',
|
||||||
'tracefs',
|
'tracefs',
|
||||||
'vfat'
|
'vfat'
|
||||||
]
|
].freeze
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@cpus = Vmstat.cpu rescue nil
|
@cpus = Vmstat.cpu rescue nil
|
||||||
|
|
|
@ -59,10 +59,10 @@ module ServiceParams
|
||||||
:user_key,
|
:user_key,
|
||||||
:username,
|
:username,
|
||||||
:webhook
|
:webhook
|
||||||
]
|
].freeze
|
||||||
|
|
||||||
# Parameters to ignore if no value is specified
|
# Parameters to ignore if no value is specified
|
||||||
FILTER_BLANK_PARAMS = [:password]
|
FILTER_BLANK_PARAMS = [:password].freeze
|
||||||
|
|
||||||
def service_params
|
def service_params
|
||||||
dynamic_params = @service.event_channel_names + @service.event_names
|
dynamic_params = @service.event_channel_names + @service.event_names
|
||||||
|
|
|
@ -5,7 +5,7 @@ class JwtController < ApplicationController
|
||||||
|
|
||||||
SERVICES = {
|
SERVICES = {
|
||||||
Auth::ContainerRegistryAuthenticationService::AUDIENCE => Auth::ContainerRegistryAuthenticationService,
|
Auth::ContainerRegistryAuthenticationService::AUDIENCE => Auth::ContainerRegistryAuthenticationService,
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def auth
|
def auth
|
||||||
service = SERVICES[params[:service]]
|
service = SERVICES[params[:service]]
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
# iids: integer[]
|
# iids: integer[]
|
||||||
#
|
#
|
||||||
class IssuableFinder
|
class IssuableFinder
|
||||||
NONE = '0'
|
NONE = '0'.freeze
|
||||||
|
|
||||||
attr_accessor :current_user, :params
|
attr_accessor :current_user, :params
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
#
|
#
|
||||||
|
|
||||||
class TodosFinder
|
class TodosFinder
|
||||||
NONE = '0'
|
NONE = '0'.freeze
|
||||||
|
|
||||||
attr_accessor :current_user, :params
|
attr_accessor :current_user, :params
|
||||||
|
|
||||||
|
|
|
@ -198,7 +198,7 @@ module IssuablesHelper
|
||||||
@counts[issuable_type][state]
|
@counts[issuable_type][state]
|
||||||
end
|
end
|
||||||
|
|
||||||
IRRELEVANT_PARAMS_FOR_CACHE_KEY = %i[utf8 sort page]
|
IRRELEVANT_PARAMS_FOR_CACHE_KEY = %i[utf8 sort page].freeze
|
||||||
private_constant :IRRELEVANT_PARAMS_FOR_CACHE_KEY
|
private_constant :IRRELEVANT_PARAMS_FOR_CACHE_KEY
|
||||||
|
|
||||||
def issuables_state_counter_cache_key(issuable_type, state)
|
def issuables_state_counter_cache_key(issuable_type, state)
|
||||||
|
|
|
@ -5,7 +5,7 @@ class ApplicationSetting < ActiveRecord::Base
|
||||||
add_authentication_token_field :runners_registration_token
|
add_authentication_token_field :runners_registration_token
|
||||||
add_authentication_token_field :health_check_access_token
|
add_authentication_token_field :health_check_access_token
|
||||||
|
|
||||||
CACHE_KEY = 'application_setting.last'
|
CACHE_KEY = 'application_setting.last'.freeze
|
||||||
DOMAIN_LIST_SEPARATOR = %r{\s*[,;]\s* # comma or semicolon, optionally surrounded by whitespace
|
DOMAIN_LIST_SEPARATOR = %r{\s*[,;]\s* # comma or semicolon, optionally surrounded by whitespace
|
||||||
| # or
|
| # or
|
||||||
\s # any whitespace character
|
\s # any whitespace character
|
||||||
|
|
|
@ -4,8 +4,8 @@ module Ci
|
||||||
|
|
||||||
RUNNER_QUEUE_EXPIRY_TIME = 60.minutes
|
RUNNER_QUEUE_EXPIRY_TIME = 60.minutes
|
||||||
LAST_CONTACT_TIME = 1.hour.ago
|
LAST_CONTACT_TIME = 1.hour.ago
|
||||||
AVAILABLE_SCOPES = %w[specific shared active paused online]
|
AVAILABLE_SCOPES = %w[specific shared active paused online].freeze
|
||||||
FORM_EDITABLE = %i[description tag_list active run_untagged locked]
|
FORM_EDITABLE = %i[description tag_list active run_untagged locked].freeze
|
||||||
|
|
||||||
has_many :builds
|
has_many :builds
|
||||||
has_many :runner_projects, dependent: :destroy
|
has_many :runner_projects, dependent: :destroy
|
||||||
|
|
|
@ -22,7 +22,7 @@ class Commit
|
||||||
DIFF_HARD_LIMIT_LINES = 50000
|
DIFF_HARD_LIMIT_LINES = 50000
|
||||||
|
|
||||||
# The SHA can be between 7 and 40 hex characters.
|
# The SHA can be between 7 and 40 hex characters.
|
||||||
COMMIT_SHA_PATTERN = '\h{7,40}'
|
COMMIT_SHA_PATTERN = '\h{7,40}'.freeze
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def decorate(commits, project)
|
def decorate(commits, project)
|
||||||
|
|
|
@ -45,7 +45,7 @@ module CacheMarkdownField
|
||||||
Project
|
Project
|
||||||
Release
|
Release
|
||||||
Snippet
|
Snippet
|
||||||
]
|
].freeze
|
||||||
|
|
||||||
def self.caching_classes
|
def self.caching_classes
|
||||||
CACHING_CLASSES.map(&:constantize)
|
CACHING_CLASSES.map(&:constantize)
|
||||||
|
|
|
@ -1,12 +1,12 @@
|
||||||
module HasStatus
|
module HasStatus
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
DEFAULT_STATUS = 'created'
|
DEFAULT_STATUS = 'created'.freeze
|
||||||
AVAILABLE_STATUSES = %w[created pending running success failed canceled skipped]
|
AVAILABLE_STATUSES = %w[created pending running success failed canceled skipped].freeze
|
||||||
STARTED_STATUSES = %w[running success failed skipped]
|
STARTED_STATUSES = %w[running success failed skipped].freeze
|
||||||
ACTIVE_STATUSES = %w[pending running]
|
ACTIVE_STATUSES = %w[pending running].freeze
|
||||||
COMPLETED_STATUSES = %w[success failed canceled skipped]
|
COMPLETED_STATUSES = %w[success failed canceled skipped].freeze
|
||||||
ORDERED_STATUSES = %w[failed pending running canceled success skipped]
|
ORDERED_STATUSES = %w[failed pending running canceled success skipped].freeze
|
||||||
|
|
||||||
class_methods do
|
class_methods do
|
||||||
def status_sql
|
def status_sql
|
||||||
|
|
|
@ -11,7 +11,7 @@ class Label < ActiveRecord::Base
|
||||||
|
|
||||||
cache_markdown_field :description, pipeline: :single_line
|
cache_markdown_field :description, pipeline: :single_line
|
||||||
|
|
||||||
DEFAULT_COLOR = '#428BCA'
|
DEFAULT_COLOR = '#428BCA'.freeze
|
||||||
|
|
||||||
default_value_for :color, DEFAULT_COLOR
|
default_value_for :color, DEFAULT_COLOR
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class GroupMember < Member
|
class GroupMember < Member
|
||||||
SOURCE_TYPE = 'Namespace'
|
SOURCE_TYPE = 'Namespace'.freeze
|
||||||
|
|
||||||
belongs_to :group, foreign_key: 'source_id'
|
belongs_to :group, foreign_key: 'source_id'
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
class ProjectMember < Member
|
class ProjectMember < Member
|
||||||
SOURCE_TYPE = 'Project'
|
SOURCE_TYPE = 'Project'.freeze
|
||||||
|
|
||||||
include Gitlab::ShellAdapter
|
include Gitlab::ShellAdapter
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@ class MergeRequestDiff < ActiveRecord::Base
|
||||||
COMMITS_SAFE_SIZE = 100
|
COMMITS_SAFE_SIZE = 100
|
||||||
|
|
||||||
# Valid types of serialized diffs allowed by Gitlab::Git::Diff
|
# Valid types of serialized diffs allowed by Gitlab::Git::Diff
|
||||||
VALID_CLASSES = [Hash, Rugged::Patch, Rugged::Diff::Delta]
|
VALID_CLASSES = [Hash, Rugged::Patch, Rugged::Diff::Delta].freeze
|
||||||
|
|
||||||
belongs_to :merge_request
|
belongs_to :merge_request
|
||||||
|
|
||||||
|
|
|
@ -35,11 +35,11 @@ class NotificationSetting < ActiveRecord::Base
|
||||||
:merge_merge_request,
|
:merge_merge_request,
|
||||||
:failed_pipeline,
|
:failed_pipeline,
|
||||||
:success_pipeline
|
:success_pipeline
|
||||||
]
|
].freeze
|
||||||
|
|
||||||
EXCLUDED_WATCHER_EVENTS = [
|
EXCLUDED_WATCHER_EVENTS = [
|
||||||
:success_pipeline
|
:success_pipeline
|
||||||
]
|
].freeze
|
||||||
|
|
||||||
store :events, accessors: EMAIL_EVENTS, coder: JSON
|
store :events, accessors: EMAIL_EVENTS, coder: JSON
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ class Project < ActiveRecord::Base
|
||||||
class BoardLimitExceeded < StandardError; end
|
class BoardLimitExceeded < StandardError; end
|
||||||
|
|
||||||
NUMBER_OF_PERMITTED_BOARDS = 1
|
NUMBER_OF_PERMITTED_BOARDS = 1
|
||||||
UNKNOWN_IMPORT_URL = 'http://unknown.git'
|
UNKNOWN_IMPORT_URL = 'http://unknown.git'.freeze
|
||||||
|
|
||||||
cache_markdown_field :description, pipeline: :description
|
cache_markdown_field :description, pipeline: :description
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ class ProjectFeature < ActiveRecord::Base
|
||||||
PRIVATE = 10
|
PRIVATE = 10
|
||||||
ENABLED = 20
|
ENABLED = 20
|
||||||
|
|
||||||
FEATURES = %i(issues merge_requests wiki snippets builds repository)
|
FEATURES = %i(issues merge_requests wiki snippets builds repository).freeze
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
def access_level_attribute(feature)
|
def access_level_attribute(feature)
|
||||||
|
|
|
@ -3,7 +3,7 @@ require "addressable/uri"
|
||||||
class BuildkiteService < CiService
|
class BuildkiteService < CiService
|
||||||
include ReactiveService
|
include ReactiveService
|
||||||
|
|
||||||
ENDPOINT = "https://buildkite.com"
|
ENDPOINT = "https://buildkite.com".freeze
|
||||||
|
|
||||||
prop_accessor :project_url, :token
|
prop_accessor :project_url, :token
|
||||||
boolean_accessor :enable_ssl_verification
|
boolean_accessor :enable_ssl_verification
|
||||||
|
|
|
@ -6,7 +6,7 @@ class HipchatService < Service
|
||||||
a b i strong em br img pre code
|
a b i strong em br img pre code
|
||||||
table th tr td caption colgroup col thead tbody tfoot
|
table th tr td caption colgroup col thead tbody tfoot
|
||||||
ul ol li dl dt dd
|
ul ol li dl dt dd
|
||||||
]
|
].freeze
|
||||||
|
|
||||||
prop_accessor :token, :room, :server, :color, :api_version
|
prop_accessor :token, :room, :server, :color, :api_version
|
||||||
boolean_accessor :notify_only_broken_builds, :notify
|
boolean_accessor :notify_only_broken_builds, :notify
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class PivotaltrackerService < Service
|
class PivotaltrackerService < Service
|
||||||
include HTTParty
|
include HTTParty
|
||||||
|
|
||||||
API_ENDPOINT = 'https://www.pivotaltracker.com/services/v5/source_commits'
|
API_ENDPOINT = 'https://www.pivotaltracker.com/services/v5/source_commits'.freeze
|
||||||
|
|
||||||
prop_accessor :token, :restrict_to_branch
|
prop_accessor :token, :restrict_to_branch
|
||||||
validates :token, presence: true, if: :activated?
|
validates :token, presence: true, if: :activated?
|
||||||
|
|
|
@ -4,7 +4,7 @@ class ProjectStatistics < ActiveRecord::Base
|
||||||
|
|
||||||
before_save :update_storage_size
|
before_save :update_storage_size
|
||||||
|
|
||||||
STORAGE_COLUMNS = [:repository_size, :lfs_objects_size, :build_artifacts_size]
|
STORAGE_COLUMNS = [:repository_size, :lfs_objects_size, :build_artifacts_size].freeze
|
||||||
STATISTICS_COLUMNS = [:commit_count] + STORAGE_COLUMNS
|
STATISTICS_COLUMNS = [:commit_count] + STORAGE_COLUMNS
|
||||||
|
|
||||||
def total_repository_size
|
def total_repository_size
|
||||||
|
|
|
@ -5,7 +5,7 @@ class ProjectWiki
|
||||||
'Markdown' => :markdown,
|
'Markdown' => :markdown,
|
||||||
'RDoc' => :rdoc,
|
'RDoc' => :rdoc,
|
||||||
'AsciiDoc' => :asciidoc
|
'AsciiDoc' => :asciidoc
|
||||||
} unless defined?(MARKUPS)
|
}.freeze unless defined?(MARKUPS)
|
||||||
|
|
||||||
class CouldNotCreateWikiError < StandardError; end
|
class CouldNotCreateWikiError < StandardError; end
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ class Repository
|
||||||
CACHED_METHODS = %i(size commit_count readme version contribution_guide
|
CACHED_METHODS = %i(size commit_count readme version contribution_guide
|
||||||
changelog license_blob license_key gitignore koding_yml
|
changelog license_blob license_key gitignore koding_yml
|
||||||
gitlab_ci_yml branch_names tag_names branch_count
|
gitlab_ci_yml branch_names tag_names branch_count
|
||||||
tag_count avatar exists? empty? root_ref)
|
tag_count avatar exists? empty? root_ref).freeze
|
||||||
|
|
||||||
# Certain method caches should be refreshed when certain types of files are
|
# Certain method caches should be refreshed when certain types of files are
|
||||||
# changed. This Hash maps file types (as returned by Gitlab::FileDetector) to
|
# changed. This Hash maps file types (as returned by Gitlab::FileDetector) to
|
||||||
|
@ -33,7 +33,7 @@ class Repository
|
||||||
koding: :koding_yml,
|
koding: :koding_yml,
|
||||||
gitlab_ci: :gitlab_ci_yml,
|
gitlab_ci: :gitlab_ci_yml,
|
||||||
avatar: :avatar
|
avatar: :avatar
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
# Wraps around the given method and caches its output in Redis and an instance
|
# Wraps around the given method and caches its output in Redis and an instance
|
||||||
# variable.
|
# variable.
|
||||||
|
|
|
@ -17,7 +17,7 @@ class Todo < ActiveRecord::Base
|
||||||
APPROVAL_REQUIRED => :approval_required,
|
APPROVAL_REQUIRED => :approval_required,
|
||||||
UNMERGEABLE => :unmergeable,
|
UNMERGEABLE => :unmergeable,
|
||||||
DIRECTLY_ADDRESSED => :directly_addressed
|
DIRECTLY_ADDRESSED => :directly_addressed
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
belongs_to :author, class_name: "User"
|
belongs_to :author, class_name: "User"
|
||||||
belongs_to :note
|
belongs_to :note
|
||||||
|
|
|
@ -2,7 +2,7 @@ module Auth
|
||||||
class ContainerRegistryAuthenticationService < BaseService
|
class ContainerRegistryAuthenticationService < BaseService
|
||||||
include Gitlab::CurrentSettings
|
include Gitlab::CurrentSettings
|
||||||
|
|
||||||
AUDIENCE = 'container_registry'
|
AUDIENCE = 'container_registry'.freeze
|
||||||
|
|
||||||
def execute(authentication_abilities:)
|
def execute(authentication_abilities:)
|
||||||
@authentication_abilities = authentication_abilities
|
@authentication_abilities = authentication_abilities
|
||||||
|
|
|
@ -4,7 +4,7 @@ module Members
|
||||||
|
|
||||||
attr_accessor :source
|
attr_accessor :source
|
||||||
|
|
||||||
ALLOWED_SCOPES = %i[members requesters all]
|
ALLOWED_SCOPES = %i[members requesters all].freeze
|
||||||
|
|
||||||
def initialize(source, current_user, params = {})
|
def initialize(source, current_user, params = {})
|
||||||
@source = source
|
@source = source
|
||||||
|
|
|
@ -3,7 +3,7 @@ module Notes
|
||||||
UPDATE_SERVICES = {
|
UPDATE_SERVICES = {
|
||||||
'Issue' => Issues::UpdateService,
|
'Issue' => Issues::UpdateService,
|
||||||
'MergeRequest' => MergeRequests::UpdateService
|
'MergeRequest' => MergeRequests::UpdateService
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def self.noteable_update_service(note)
|
def self.noteable_update_service(note)
|
||||||
UPDATE_SERVICES[note.noteable_type]
|
UPDATE_SERVICES[note.noteable_type]
|
||||||
|
|
|
@ -4,7 +4,7 @@ module Projects
|
||||||
|
|
||||||
class DestroyError < StandardError; end
|
class DestroyError < StandardError; end
|
||||||
|
|
||||||
DELETED_FLAG = '+deleted'
|
DELETED_FLAG = '+deleted'.freeze
|
||||||
|
|
||||||
def async_execute
|
def async_execute
|
||||||
project.transaction do
|
project.transaction do
|
||||||
|
|
|
@ -2,7 +2,7 @@ module Projects
|
||||||
class DownloadService < BaseService
|
class DownloadService < BaseService
|
||||||
WHITELIST = [
|
WHITELIST = [
|
||||||
/^[^.]+\.fogbugz.com$/
|
/^[^.]+\.fogbugz.com$/
|
||||||
]
|
].freeze
|
||||||
|
|
||||||
def initialize(project, url)
|
def initialize(project, url)
|
||||||
@project, @url = project, url
|
@project, @url = project, url
|
||||||
|
|
|
@ -2,7 +2,7 @@ module Projects
|
||||||
class UpdatePagesService < BaseService
|
class UpdatePagesService < BaseService
|
||||||
BLOCK_SIZE = 32.kilobytes
|
BLOCK_SIZE = 32.kilobytes
|
||||||
MAX_SIZE = 1.terabyte
|
MAX_SIZE = 1.terabyte
|
||||||
SITE_PATH = 'public/'
|
SITE_PATH = 'public/'.freeze
|
||||||
|
|
||||||
attr_reader :build
|
attr_reader :build
|
||||||
|
|
||||||
|
|
|
@ -1,15 +1,15 @@
|
||||||
# Extra methods for uploader
|
# Extra methods for uploader
|
||||||
module UploaderHelper
|
module UploaderHelper
|
||||||
IMAGE_EXT = %w[png jpg jpeg gif bmp tiff]
|
IMAGE_EXT = %w[png jpg jpeg gif bmp tiff].freeze
|
||||||
# We recommend using the .mp4 format over .mov. Videos in .mov format can
|
# We recommend using the .mp4 format over .mov. Videos in .mov format can
|
||||||
# still be used but you really need to make sure they are served with the
|
# still be used but you really need to make sure they are served with the
|
||||||
# proper MIME type video/mp4 and not video/quicktime or your videos won't play
|
# proper MIME type video/mp4 and not video/quicktime or your videos won't play
|
||||||
# on IE >= 9.
|
# on IE >= 9.
|
||||||
# http://archive.sublimevideo.info/20150912/docs.sublimevideo.net/troubleshooting.html
|
# http://archive.sublimevideo.info/20150912/docs.sublimevideo.net/troubleshooting.html
|
||||||
VIDEO_EXT = %w[mp4 m4v mov webm ogv]
|
VIDEO_EXT = %w[mp4 m4v mov webm ogv].freeze
|
||||||
# These extension types can contain dangerous code and should only be embedded inline with
|
# These extension types can contain dangerous code and should only be embedded inline with
|
||||||
# proper filtering. They should always be tagged as "Content-Disposition: attachment", not "inline".
|
# proper filtering. They should always be tagged as "Content-Disposition: attachment", not "inline".
|
||||||
DANGEROUS_EXT = %w[svg]
|
DANGEROUS_EXT = %w[svg].freeze
|
||||||
|
|
||||||
def image?
|
def image?
|
||||||
extension_match?(IMAGE_EXT)
|
extension_match?(IMAGE_EXT)
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
# end
|
# end
|
||||||
#
|
#
|
||||||
class AddressableUrlValidator < ActiveModel::EachValidator
|
class AddressableUrlValidator < ActiveModel::EachValidator
|
||||||
DEFAULT_OPTIONS = { protocols: %w(http https ssh git) }
|
DEFAULT_OPTIONS = { protocols: %w(http https ssh git) }.freeze
|
||||||
|
|
||||||
def validate_each(record, attribute, value)
|
def validate_each(record, attribute, value)
|
||||||
unless valid_url?(value)
|
unless valid_url?(value)
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
module Gollum
|
module Gollum
|
||||||
GIT_ADAPTER = "rugged"
|
GIT_ADAPTER = "rugged".freeze
|
||||||
end
|
end
|
||||||
require "gollum-lib"
|
require "gollum-lib"
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ end
|
||||||
#
|
#
|
||||||
module Gitlab
|
module Gitlab
|
||||||
module StrongParameterScalars
|
module StrongParameterScalars
|
||||||
GITLAB_PERMITTED_SCALAR_TYPES = [::UploadedFile]
|
GITLAB_PERMITTED_SCALAR_TYPES = [::UploadedFile].freeze
|
||||||
|
|
||||||
def permitted_scalar?(value)
|
def permitted_scalar?(value)
|
||||||
super || GITLAB_PERMITTED_SCALAR_TYPES.any? { |type| value.is_a?(type) }
|
super || GITLAB_PERMITTED_SCALAR_TYPES.any? { |type| value.is_a?(type) }
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
WIKI_SLUG_ID = { id: /\S+/ } unless defined? WIKI_SLUG_ID
|
WIKI_SLUG_ID = { id: /\S+/ }.freeze unless defined? WIKI_SLUG_ID
|
||||||
|
|
||||||
scope(controller: :wikis) do
|
scope(controller: :wikis) do
|
||||||
scope(path: 'wikis', as: :wikis) do
|
scope(path: 'wikis', as: :wikis) do
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
class MoveFromDevelopersCanMergeToProtectedBranchesMergeAccess < ActiveRecord::Migration
|
class MoveFromDevelopersCanMergeToProtectedBranchesMergeAccess < ActiveRecord::Migration
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = <<-HEREDOC
|
DOWNTIME_REASON = <<-HEREDOC.freeze
|
||||||
We're creating a `merge_access_level` for each `protected_branch`. If a user creates a `protected_branch` while this
|
We're creating a `merge_access_level` for each `protected_branch`. If a user creates a `protected_branch` while this
|
||||||
is running, we might be left with a `protected_branch` _without_ an associated `merge_access_level`. The `protected_branches`
|
is running, we might be left with a `protected_branch` _without_ an associated `merge_access_level`. The `protected_branches`
|
||||||
table must not change while this is running, so downtime is required.
|
table must not change while this is running, so downtime is required.
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
|
|
||||||
class MoveFromDevelopersCanPushToProtectedBranchesPushAccess < ActiveRecord::Migration
|
class MoveFromDevelopersCanPushToProtectedBranchesPushAccess < ActiveRecord::Migration
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = <<-HEREDOC
|
DOWNTIME_REASON = <<-HEREDOC.freeze
|
||||||
We're creating a `push_access_level` for each `protected_branch`. If a user creates a `protected_branch` while this
|
We're creating a `push_access_level` for each `protected_branch`. If a user creates a `protected_branch` while this
|
||||||
is running, we might be left with a `protected_branch` _without_ an associated `push_access_level`. The `protected_branches`
|
is running, we might be left with a `protected_branch` _without_ an associated `push_access_level`. The `protected_branches`
|
||||||
table must not change while this is running, so downtime is required.
|
table must not change while this is running, so downtime is required.
|
||||||
|
|
|
@ -10,7 +10,7 @@ class RemoveProjectIdFromSpamLogs < ActiveRecord::Migration
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
# When a migration requires downtime you **must** uncomment the following
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
# constant and define a short and easy to understand explanation as to why the
|
||||||
# migration requires downtime.
|
# migration requires downtime.
|
||||||
DOWNTIME_REASON = 'Removing a column that contains data that is not used anywhere.'
|
DOWNTIME_REASON = 'Removing a column that contains data that is not used anywhere.'.freeze
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
# you must disable the use of transactions as these methods can not run in an
|
||||||
|
|
|
@ -2,7 +2,7 @@ class ChangeMergeErrorToText < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'This migration requires downtime because it alters a column from varchar(255) to text.'
|
DOWNTIME_REASON = 'This migration requires downtime because it alters a column from varchar(255) to text.'.freeze
|
||||||
|
|
||||||
def change
|
def change
|
||||||
change_column :merge_requests, :merge_error, :text, limit: 65535
|
change_column :merge_requests, :merge_error, :text, limit: 65535
|
||||||
|
|
|
@ -10,7 +10,7 @@ class AddTableIssueMetrics < ActiveRecord::Migration
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
# When a migration requires downtime you **must** uncomment the following
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
# constant and define a short and easy to understand explanation as to why the
|
||||||
# migration requires downtime.
|
# migration requires downtime.
|
||||||
DOWNTIME_REASON = 'Adding foreign key'
|
DOWNTIME_REASON = 'Adding foreign key'.freeze
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
# you must disable the use of transactions as these methods can not run in an
|
||||||
|
|
|
@ -10,7 +10,7 @@ class AddTableMergeRequestMetrics < ActiveRecord::Migration
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
# When a migration requires downtime you **must** uncomment the following
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
# constant and define a short and easy to understand explanation as to why the
|
||||||
# migration requires downtime.
|
# migration requires downtime.
|
||||||
DOWNTIME_REASON = 'Adding foreign key'
|
DOWNTIME_REASON = 'Adding foreign key'.freeze
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
# you must disable the use of transactions as these methods can not run in an
|
||||||
|
|
|
@ -26,7 +26,7 @@ class AddMarkdownCacheColumns < ActiveRecord::Migration
|
||||||
projects: [:description],
|
projects: [:description],
|
||||||
releases: [:description],
|
releases: [:description],
|
||||||
snippets: [:title, :content],
|
snippets: [:title, :content],
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def change
|
def change
|
||||||
COLUMNS.each do |table, columns|
|
COLUMNS.each do |table, columns|
|
||||||
|
|
|
@ -3,7 +3,7 @@ class MigrateProjectFeatures < ActiveRecord::Migration
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON =
|
DOWNTIME_REASON =
|
||||||
<<-EOT
|
<<-EOT.freeze
|
||||||
Migrating issues_enabled, merge_requests_enabled, wiki_enabled, builds_enabled, snippets_enabled fields from projects to
|
Migrating issues_enabled, merge_requests_enabled, wiki_enabled, builds_enabled, snippets_enabled fields from projects to
|
||||||
a new table called project_features.
|
a new table called project_features.
|
||||||
EOT
|
EOT
|
||||||
|
|
|
@ -7,7 +7,7 @@ class RemoveFeaturesEnabledFromProjects < ActiveRecord::Migration
|
||||||
|
|
||||||
# Set this constant to true if this migration requires downtime.
|
# Set this constant to true if this migration requires downtime.
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = "Removing fields from database requires downtine."
|
DOWNTIME_REASON = "Removing fields from database requires downtine.".freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
remove_column :projects, :issues_enabled
|
remove_column :projects, :issues_enabled
|
||||||
|
|
|
@ -5,7 +5,7 @@ class RemoveProjectsPushesSinceGc < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'This migration removes an existing column'
|
DOWNTIME_REASON = 'This migration removes an existing column'.freeze
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ class ChangeArtifactsSizeColumn < ActiveRecord::Migration
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
|
|
||||||
DOWNTIME_REASON = 'Changing an integer column size requires a full table rewrite.'
|
DOWNTIME_REASON = 'Changing an integer column size requires a full table rewrite.'.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
change_column :ci_builds, :artifacts_size, :integer, limit: 8
|
change_column :ci_builds, :artifacts_size, :integer, limit: 8
|
||||||
|
|
|
@ -10,7 +10,7 @@ class CreateMergeRequestsClosingIssues < ActiveRecord::Migration
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
# When a migration requires downtime you **must** uncomment the following
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
# constant and define a short and easy to understand explanation as to why the
|
||||||
# migration requires downtime.
|
# migration requires downtime.
|
||||||
DOWNTIME_REASON = 'Adding foreign keys'
|
DOWNTIME_REASON = 'Adding foreign keys'.freeze
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
# you must disable the use of transactions as these methods can not run in an
|
||||||
|
|
|
@ -2,7 +2,7 @@ class AddTypeToLabels < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Labels will not work as expected until this migration is complete.'
|
DOWNTIME_REASON = 'Labels will not work as expected until this migration is complete.'.freeze
|
||||||
|
|
||||||
def change
|
def change
|
||||||
add_column :labels, :type, :string
|
add_column :labels, :type, :string
|
||||||
|
|
|
@ -2,7 +2,7 @@ class CreateLabelPriorities < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'This migration adds foreign keys'
|
DOWNTIME_REASON = 'This migration adds foreign keys'.freeze
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ class AddUniqueIndexToLabels < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'This migration removes duplicated labels.'
|
DOWNTIME_REASON = 'This migration removes duplicated labels.'.freeze
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ class MigrateLabelsPriority < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Prioritized labels will not work as expected until this migration is complete.'
|
DOWNTIME_REASON = 'Prioritized labels will not work as expected until this migration is complete.'.freeze
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,7 @@ class RemovePriorityFromLabels < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'This migration removes an existing column'
|
DOWNTIME_REASON = 'This migration removes an existing column'.freeze
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ class MigrateSidekiqQueuesFromDefault < ActiveRecord::Migration
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
|
|
||||||
DOWNTIME_REASON = <<-EOF
|
DOWNTIME_REASON = <<-EOF.freeze
|
||||||
Moving Sidekiq jobs from queues requires Sidekiq to be stopped. Not stopping
|
Moving Sidekiq jobs from queues requires Sidekiq to be stopped. Not stopping
|
||||||
Sidekiq will result in the loss of jobs that are scheduled after this
|
Sidekiq will result in the loss of jobs that are scheduled after this
|
||||||
migration completes.
|
migration completes.
|
||||||
|
@ -71,7 +71,7 @@ class MigrateSidekiqQueuesFromDefault < ActiveRecord::Migration
|
||||||
'StuckCiBuildsWorker' => :cronjob,
|
'StuckCiBuildsWorker' => :cronjob,
|
||||||
'UpdateMergeRequestsWorker' => :update_merge_requests
|
'UpdateMergeRequestsWorker' => :update_merge_requests
|
||||||
}
|
}
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
Sidekiq.redis do |redis|
|
Sidekiq.redis do |redis|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class GenerateProjectFeatureForProjects < ActiveRecord::Migration
|
class GenerateProjectFeatureForProjects < ActiveRecord::Migration
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
|
|
||||||
DOWNTIME_REASON = <<-HEREDOC
|
DOWNTIME_REASON = <<-HEREDOC.freeze
|
||||||
Application was eager loading project_feature for all projects generating an extra query
|
Application was eager loading project_feature for all projects generating an extra query
|
||||||
everytime a project was fetched. We removed that behavior to avoid the extra query, this migration
|
everytime a project was fetched. We removed that behavior to avoid the extra query, this migration
|
||||||
makes sure all projects have a project_feature record associated.
|
makes sure all projects have a project_feature record associated.
|
||||||
|
|
|
@ -12,7 +12,7 @@ class AddPipelineIdToMergeRequestMetrics < ActiveRecord::Migration
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
# When a migration requires downtime you **must** uncomment the following
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
# constant and define a short and easy to understand explanation as to why the
|
||||||
# migration requires downtime.
|
# migration requires downtime.
|
||||||
DOWNTIME_REASON = 'Adding a foreign key'
|
DOWNTIME_REASON = 'Adding a foreign key'.freeze
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
# you must disable the use of transactions as these methods can not run in an
|
||||||
|
|
|
@ -8,7 +8,7 @@ class MigrateMailroomQueueFromDefault < ActiveRecord::Migration
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
|
|
||||||
DOWNTIME_REASON = <<-EOF
|
DOWNTIME_REASON = <<-EOF.freeze
|
||||||
Moving Sidekiq jobs from queues requires Sidekiq to be stopped. Not stopping
|
Moving Sidekiq jobs from queues requires Sidekiq to be stopped. Not stopping
|
||||||
Sidekiq will result in the loss of jobs that are scheduled after this
|
Sidekiq will result in the loss of jobs that are scheduled after this
|
||||||
migration completes.
|
migration completes.
|
||||||
|
@ -25,7 +25,7 @@ class MigrateMailroomQueueFromDefault < ActiveRecord::Migration
|
||||||
incoming_email: {
|
incoming_email: {
|
||||||
'EmailReceiverWorker' => :email_receiver
|
'EmailReceiverWorker' => :email_receiver
|
||||||
}
|
}
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
Sidekiq.redis do |redis|
|
Sidekiq.redis do |redis|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
class MigrateJiraToGem < ActiveRecord::Migration
|
class MigrateJiraToGem < ActiveRecord::Migration
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
|
|
||||||
DOWNTIME_REASON = <<-HEREDOC
|
DOWNTIME_REASON = <<-HEREDOC.freeze
|
||||||
Refactor all Jira services properties(serialized field) to use new jira-ruby gem.
|
Refactor all Jira services properties(serialized field) to use new jira-ruby gem.
|
||||||
There were properties on old Jira service that are not needed anymore after the
|
There were properties on old Jira service that are not needed anymore after the
|
||||||
service refactoring: api_url, project_url, new_issue_url, issues_url.
|
service refactoring: api_url, project_url, new_issue_url, issues_url.
|
||||||
|
|
|
@ -2,7 +2,7 @@ class MigrateSubscriptionsProjectId < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Subscriptions will not work as expected until this migration is complete.'
|
DOWNTIME_REASON = 'Subscriptions will not work as expected until this migration is complete.'.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
execute <<-EOF.strip_heredoc
|
execute <<-EOF.strip_heredoc
|
||||||
|
|
|
@ -2,7 +2,7 @@ class AddUniqueIndexToSubscriptions < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'This migration requires downtime because it changes a column to not accept null values.'
|
DOWNTIME_REASON = 'This migration requires downtime because it changes a column to not accept null values.'.freeze
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@ class RenameRepositoryStorageColumn < ActiveRecord::Migration
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
# When a migration requires downtime you **must** uncomment the following
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
# constant and define a short and easy to understand explanation as to why the
|
||||||
# migration requires downtime.
|
# migration requires downtime.
|
||||||
DOWNTIME_REASON = 'Renaming the application_settings.repository_storage column'
|
DOWNTIME_REASON = 'Renaming the application_settings.repository_storage column'.freeze
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
# you must disable the use of transactions as these methods can not run in an
|
||||||
|
|
|
@ -25,7 +25,7 @@ class MigrateProcessCommitWorkerJobs < ActiveRecord::Migration
|
||||||
end
|
end
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Existing workers will error until they are using a newer version of the code'
|
DOWNTIME_REASON = 'Existing workers will error until they are using a newer version of the code'.freeze
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ class FillRoutesTable < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'No new namespaces should be created during data copy'
|
DOWNTIME_REASON = 'No new namespaces should be created during data copy'.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
execute <<-EOF
|
execute <<-EOF
|
||||||
|
|
|
@ -5,7 +5,7 @@ class FillProjectsRoutesTable < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'No new projects should be created during data copy'
|
DOWNTIME_REASON = 'No new projects should be created during data copy'.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
if Gitlab::Database.postgresql?
|
if Gitlab::Database.postgresql?
|
||||||
|
|
|
@ -2,7 +2,7 @@ class MigrateProjectStatistics < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Removes two columns from the projects table'
|
DOWNTIME_REASON = 'Removes two columns from the projects table'.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
# convert repository_size in float (megabytes) to integer (bytes),
|
# convert repository_size in float (megabytes) to integer (bytes),
|
||||||
|
|
|
@ -2,7 +2,7 @@ class FixupEnvironmentNameUniqueness < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Renaming non-unique environments'
|
DOWNTIME_REASON = 'Renaming non-unique environments'.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
environments = Arel::Table.new(:environments)
|
environments = Arel::Table.new(:environments)
|
||||||
|
|
|
@ -4,7 +4,7 @@ class CreateEnvironmentNameUniqueIndex < ActiveRecord::Migration
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Making a non-unique index into a unique index'
|
DOWNTIME_REASON = 'Making a non-unique index into a unique index'.freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
remove_index :environments, [:project_id, :name]
|
remove_index :environments, [:project_id, :name]
|
||||||
|
|
|
@ -5,7 +5,7 @@ class AddEnvironmentSlug < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Adding NOT NULL column environments.slug with dependent data'
|
DOWNTIME_REASON = 'Adding NOT NULL column environments.slug with dependent data'.freeze
|
||||||
|
|
||||||
# Used to generate random suffixes for the slug
|
# Used to generate random suffixes for the slug
|
||||||
LETTERS = 'a'..'z'
|
LETTERS = 'a'..'z'
|
||||||
|
|
|
@ -5,7 +5,7 @@ class AddUniqueIndexForEnvironmentSlug < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = 'Adding a *unique* index to environments.slug'
|
DOWNTIME_REASON = 'Adding a *unique* index to environments.slug'.freeze
|
||||||
|
|
||||||
disable_ddl_transaction!
|
disable_ddl_transaction!
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@ class AddForeignKeysToTimelogs < ActiveRecord::Migration
|
||||||
# When a migration requires downtime you **must** uncomment the following
|
# When a migration requires downtime you **must** uncomment the following
|
||||||
# constant and define a short and easy to understand explanation as to why the
|
# constant and define a short and easy to understand explanation as to why the
|
||||||
# migration requires downtime.
|
# migration requires downtime.
|
||||||
DOWNTIME_REASON = ''
|
DOWNTIME_REASON = ''.freeze
|
||||||
|
|
||||||
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
# When using the methods "add_concurrent_index" or "add_column_with_default"
|
||||||
# you must disable the use of transactions as these methods can not run in an
|
# you must disable the use of transactions as these methods can not run in an
|
||||||
|
|
|
@ -2,7 +2,7 @@ class RemoveInactiveJiraServiceProperties < ActiveRecord::Migration
|
||||||
include Gitlab::Database::MigrationHelpers
|
include Gitlab::Database::MigrationHelpers
|
||||||
|
|
||||||
DOWNTIME = true
|
DOWNTIME = true
|
||||||
DOWNTIME_REASON = "Removes all inactive jira_service properties"
|
DOWNTIME_REASON = "Removes all inactive jira_service properties".freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
execute("UPDATE services SET properties = '{}' WHERE services.type = 'JiraService' and services.active = false")
|
execute("UPDATE services SET properties = '{}' WHERE services.type = 'JiraService' and services.active = false")
|
||||||
|
|
|
@ -37,7 +37,7 @@ class RenameReservedProjectNames < ActiveRecord::Migration
|
||||||
unsubscribes
|
unsubscribes
|
||||||
update
|
update
|
||||||
users
|
users
|
||||||
wikis)
|
wikis).freeze
|
||||||
|
|
||||||
def up
|
def up
|
||||||
queues = Array.new(THREAD_COUNT) { Queue.new }
|
queues = Array.new(THREAD_COUNT) { Queue.new }
|
||||||
|
|
|
@ -6,7 +6,7 @@ module API
|
||||||
module APIGuard
|
module APIGuard
|
||||||
extend ActiveSupport::Concern
|
extend ActiveSupport::Concern
|
||||||
|
|
||||||
PRIVATE_TOKEN_HEADER = "HTTP_PRIVATE_TOKEN"
|
PRIVATE_TOKEN_HEADER = "HTTP_PRIVATE_TOKEN".freeze
|
||||||
PRIVATE_TOKEN_PARAM = :private_token
|
PRIVATE_TOKEN_PARAM = :private_token
|
||||||
|
|
||||||
included do |base|
|
included do |base|
|
||||||
|
|
|
@ -3,7 +3,7 @@ module API
|
||||||
include PaginationParams
|
include PaginationParams
|
||||||
|
|
||||||
before { authenticate! }
|
before { authenticate! }
|
||||||
AWARDABLES = %w[issue merge_request snippet]
|
AWARDABLES = %w[issue merge_request snippet].freeze
|
||||||
|
|
||||||
resource :projects do
|
resource :projects do
|
||||||
AWARDABLES.each do |awardable_type|
|
AWARDABLES.each do |awardable_type|
|
||||||
|
|
|
@ -3,7 +3,7 @@ module API
|
||||||
include Gitlab::Utils
|
include Gitlab::Utils
|
||||||
include Helpers::Pagination
|
include Helpers::Pagination
|
||||||
|
|
||||||
SUDO_HEADER = "HTTP_SUDO"
|
SUDO_HEADER = "HTTP_SUDO".freeze
|
||||||
SUDO_PARAM = :sudo
|
SUDO_PARAM = :sudo
|
||||||
|
|
||||||
def declared_params(options = {})
|
def declared_params(options = {})
|
||||||
|
|
|
@ -4,7 +4,7 @@ module API
|
||||||
|
|
||||||
before { authenticate! }
|
before { authenticate! }
|
||||||
|
|
||||||
NOTEABLE_TYPES = [Issue, MergeRequest, Snippet]
|
NOTEABLE_TYPES = [Issue, MergeRequest, Snippet].freeze
|
||||||
|
|
||||||
params do
|
params do
|
||||||
requires :id, type: String, desc: 'The ID of a project'
|
requires :id, type: String, desc: 'The ID of a project'
|
||||||
|
|
|
@ -7,7 +7,7 @@ module API
|
||||||
ISSUABLE_TYPES = {
|
ISSUABLE_TYPES = {
|
||||||
'merge_requests' => ->(id) { find_merge_request_with_access(id) },
|
'merge_requests' => ->(id) { find_merge_request_with_access(id) },
|
||||||
'issues' => ->(id) { find_project_issue(id) }
|
'issues' => ->(id) { find_project_issue(id) }
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
params do
|
params do
|
||||||
requires :id, type: String, desc: 'The ID of a project'
|
requires :id, type: String, desc: 'The ID of a project'
|
||||||
|
|
|
@ -37,7 +37,7 @@ module Banzai
|
||||||
and contains(., '://')
|
and contains(., '://')
|
||||||
and not(starts-with(., 'http'))
|
and not(starts-with(., 'http'))
|
||||||
and not(starts-with(., 'ftp'))
|
and not(starts-with(., 'ftp'))
|
||||||
])
|
]).freeze
|
||||||
|
|
||||||
def call
|
def call
|
||||||
return doc if context[:autolink] == false
|
return doc if context[:autolink] == false
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
module Bitbucket
|
module Bitbucket
|
||||||
class Connection
|
class Connection
|
||||||
DEFAULT_API_VERSION = '2.0'
|
DEFAULT_API_VERSION = '2.0'.freeze
|
||||||
DEFAULT_BASE_URI = 'https://api.bitbucket.org/'
|
DEFAULT_BASE_URI = 'https://api.bitbucket.org/'.freeze
|
||||||
DEFAULT_QUERY = {}
|
DEFAULT_QUERY = {}.freeze
|
||||||
|
|
||||||
attr_reader :expires_at, :expires_in, :refresh_token, :token
|
attr_reader :expires_at, :expires_in, :refresh_token, :token
|
||||||
|
|
||||||
|
|
|
@ -13,7 +13,7 @@ module Ci
|
||||||
5 => 'magenta',
|
5 => 'magenta',
|
||||||
6 => 'cyan',
|
6 => 'cyan',
|
||||||
7 => 'white', # not that this is gray in the dark (aka default) color table
|
7 => 'white', # not that this is gray in the dark (aka default) color table
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
STYLE_SWITCHES = {
|
STYLE_SWITCHES = {
|
||||||
bold: 0x01,
|
bold: 0x01,
|
||||||
|
@ -21,7 +21,7 @@ module Ci
|
||||||
underline: 0x04,
|
underline: 0x04,
|
||||||
conceal: 0x08,
|
conceal: 0x08,
|
||||||
cross: 0x10,
|
cross: 0x10,
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def self.convert(ansi, state = nil)
|
def self.convert(ansi, state = nil)
|
||||||
Converter.new.convert(ansi, state)
|
Converter.new.convert(ansi, state)
|
||||||
|
@ -86,7 +86,7 @@ module Ci
|
||||||
|
|
||||||
attr_accessor :offset, :n_open_tags, :fg_color, :bg_color, :style_mask
|
attr_accessor :offset, :n_open_tags, :fg_color, :bg_color, :style_mask
|
||||||
|
|
||||||
STATE_PARAMS = [:offset, :n_open_tags, :fg_color, :bg_color, :style_mask]
|
STATE_PARAMS = [:offset, :n_open_tags, :fg_color, :bg_color, :style_mask].freeze
|
||||||
|
|
||||||
def convert(raw, new_state)
|
def convert(raw, new_state)
|
||||||
reset_state
|
reset_state
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
module Ci
|
module Ci
|
||||||
module API
|
module API
|
||||||
module Helpers
|
module Helpers
|
||||||
BUILD_TOKEN_HEADER = "HTTP_BUILD_TOKEN"
|
BUILD_TOKEN_HEADER = "HTTP_BUILD_TOKEN".freeze
|
||||||
BUILD_TOKEN_PARAM = :token
|
BUILD_TOKEN_PARAM = :token
|
||||||
UPDATE_RUNNER_EVERY = 10 * 60
|
UPDATE_RUNNER_EVERY = 10 * 60
|
||||||
|
|
||||||
|
|
|
@ -5,7 +5,7 @@ module ContainerRegistry
|
||||||
class Client
|
class Client
|
||||||
attr_accessor :uri
|
attr_accessor :uri
|
||||||
|
|
||||||
MANIFEST_VERSION = 'application/vnd.docker.distribution.manifest.v2+json'
|
MANIFEST_VERSION = 'application/vnd.docker.distribution.manifest.v2+json'.freeze
|
||||||
|
|
||||||
# Taken from: FaradayMiddleware::FollowRedirects
|
# Taken from: FaradayMiddleware::FollowRedirects
|
||||||
REDIRECT_CODES = Set.new [301, 302, 303, 307]
|
REDIRECT_CODES = Set.new [301, 302, 303, 307]
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Gitlab
|
||||||
module Auth
|
module Auth
|
||||||
class MissingPersonalTokenError < StandardError; end
|
class MissingPersonalTokenError < StandardError; end
|
||||||
|
|
||||||
SCOPES = [:api, :read_user]
|
SCOPES = [:api, :read_user].freeze
|
||||||
DEFAULT_SCOPES = [:api]
|
DEFAULT_SCOPES = [:api].freeze
|
||||||
OPTIONAL_SCOPES = SCOPES - DEFAULT_SCOPES
|
OPTIONAL_SCOPES = SCOPES - DEFAULT_SCOPES
|
||||||
|
|
||||||
class << self
|
class << self
|
||||||
|
|
|
@ -15,7 +15,7 @@ module Gitlab
|
||||||
canceled: '#9f9f9f',
|
canceled: '#9f9f9f',
|
||||||
skipped: '#9f9f9f',
|
skipped: '#9f9f9f',
|
||||||
unknown: '#9f9f9f'
|
unknown: '#9f9f9f'
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def initialize(badge)
|
def initialize(badge)
|
||||||
@entity = badge.entity
|
@entity = badge.entity
|
||||||
|
|
|
@ -13,7 +13,7 @@ module Gitlab
|
||||||
medium: '#dfb317',
|
medium: '#dfb317',
|
||||||
low: '#e05d44',
|
low: '#e05d44',
|
||||||
unknown: '#9f9f9f'
|
unknown: '#9f9f9f'
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def initialize(badge)
|
def initialize(badge)
|
||||||
@entity = badge.entity
|
@entity = badge.entity
|
||||||
|
|
|
@ -9,7 +9,7 @@ module Gitlab
|
||||||
include Validatable
|
include Validatable
|
||||||
include Attributable
|
include Attributable
|
||||||
|
|
||||||
ALLOWED_KEYS = %i[name untracked paths when expire_in]
|
ALLOWED_KEYS = %i[name untracked paths when expire_in].freeze
|
||||||
|
|
||||||
attributes ALLOWED_KEYS
|
attributes ALLOWED_KEYS
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@ module Gitlab
|
||||||
class Cache < Node
|
class Cache < Node
|
||||||
include Configurable
|
include Configurable
|
||||||
|
|
||||||
ALLOWED_KEYS = %i[key untracked paths]
|
ALLOWED_KEYS = %i[key untracked paths].freeze
|
||||||
|
|
||||||
validations do
|
validations do
|
||||||
validates :config, allowed_keys: ALLOWED_KEYS
|
validates :config, allowed_keys: ALLOWED_KEYS
|
||||||
|
|
|
@ -8,7 +8,7 @@ module Gitlab
|
||||||
class Environment < Node
|
class Environment < Node
|
||||||
include Validatable
|
include Validatable
|
||||||
|
|
||||||
ALLOWED_KEYS = %i[name url action on_stop]
|
ALLOWED_KEYS = %i[name url action on_stop].freeze
|
||||||
|
|
||||||
validations do
|
validations do
|
||||||
validate do
|
validate do
|
||||||
|
|
|
@ -11,7 +11,7 @@ module Gitlab
|
||||||
|
|
||||||
ALLOWED_KEYS = %i[tags script only except type image services allow_failure
|
ALLOWED_KEYS = %i[tags script only except type image services allow_failure
|
||||||
type stage when artifacts cache dependencies before_script
|
type stage when artifacts cache dependencies before_script
|
||||||
after_script variables environment coverage]
|
after_script variables environment coverage].freeze
|
||||||
|
|
||||||
validations do
|
validations do
|
||||||
validates :config, allowed_keys: ALLOWED_KEYS
|
validates :config, allowed_keys: ALLOWED_KEYS
|
||||||
|
|
|
@ -4,7 +4,7 @@ module Gitlab
|
||||||
MARKDOWN_SYMBOLS = {
|
MARKDOWN_SYMBOLS = {
|
||||||
addition: "+",
|
addition: "+",
|
||||||
deletion: "-"
|
deletion: "-"
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
attr_accessor :raw_line, :rich_line
|
attr_accessor :raw_line, :rich_line
|
||||||
|
|
||||||
|
|
|
@ -3,8 +3,8 @@ module Gitlab
|
||||||
class Message
|
class Message
|
||||||
attr_reader :path, :offline
|
attr_reader :path, :offline
|
||||||
|
|
||||||
OFFLINE = "\e[31moffline\e[0m"
|
OFFLINE = "\e[31moffline\e[0m".freeze
|
||||||
ONLINE = "\e[32monline\e[0m"
|
ONLINE = "\e[32monline\e[0m".freeze
|
||||||
|
|
||||||
# path - The file path of the migration.
|
# path - The file path of the migration.
|
||||||
# offline - When set to `true` the migration will require downtime.
|
# offline - When set to `true` the migration will require downtime.
|
||||||
|
|
|
@ -5,7 +5,7 @@ require 'gitlab/email/handler/unsubscribe_handler'
|
||||||
module Gitlab
|
module Gitlab
|
||||||
module Email
|
module Email
|
||||||
module Handler
|
module Handler
|
||||||
HANDLERS = [UnsubscribeHandler, CreateNoteHandler, CreateIssueHandler]
|
HANDLERS = [UnsubscribeHandler, CreateNoteHandler, CreateIssueHandler].freeze
|
||||||
|
|
||||||
def self.for(mail, mail_key)
|
def self.for(mail, mail_key)
|
||||||
HANDLERS.find do |klass|
|
HANDLERS.find do |klass|
|
||||||
|
|
|
@ -10,7 +10,7 @@ module Gitlab
|
||||||
# ExclusiveLease.
|
# ExclusiveLease.
|
||||||
#
|
#
|
||||||
class ExclusiveLease
|
class ExclusiveLease
|
||||||
LUA_CANCEL_SCRIPT = <<-EOS
|
LUA_CANCEL_SCRIPT = <<-EOS.freeze
|
||||||
local key, uuid = KEYS[1], ARGV[1]
|
local key, uuid = KEYS[1], ARGV[1]
|
||||||
if redis.call("get", key) == uuid then
|
if redis.call("get", key) == uuid then
|
||||||
redis.call("del", key)
|
redis.call("del", key)
|
||||||
|
|
|
@ -14,7 +14,7 @@ module Gitlab
|
||||||
koding: '.koding.yml',
|
koding: '.koding.yml',
|
||||||
gitlab_ci: '.gitlab-ci.yml',
|
gitlab_ci: '.gitlab-ci.yml',
|
||||||
avatar: /\Alogo\.(png|jpg|gif)\z/
|
avatar: /\Alogo\.(png|jpg|gif)\z/
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
# Returns an Array of file types based on the given paths.
|
# Returns an Array of file types based on the given paths.
|
||||||
#
|
#
|
||||||
|
|
|
@ -10,10 +10,10 @@ module Gitlab
|
||||||
deploy_key_upload:
|
deploy_key_upload:
|
||||||
'This deploy key does not have write access to this project.',
|
'This deploy key does not have write access to this project.',
|
||||||
no_repo: 'A repository for this project does not exist yet.'
|
no_repo: 'A repository for this project does not exist yet.'
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
DOWNLOAD_COMMANDS = %w{ git-upload-pack git-upload-archive }
|
DOWNLOAD_COMMANDS = %w{ git-upload-pack git-upload-archive }.freeze
|
||||||
PUSH_COMMANDS = %w{ git-receive-pack }
|
PUSH_COMMANDS = %w{ git-receive-pack }.freeze
|
||||||
ALL_COMMANDS = DOWNLOAD_COMMANDS + PUSH_COMMANDS
|
ALL_COMMANDS = DOWNLOAD_COMMANDS + PUSH_COMMANDS
|
||||||
|
|
||||||
attr_reader :actor, :project, :protocol, :user_access, :authentication_abilities
|
attr_reader :actor, :project, :protocol, :user_access, :authentication_abilities
|
||||||
|
|
|
@ -3,7 +3,7 @@ module Gitlab
|
||||||
extend self
|
extend self
|
||||||
|
|
||||||
# For every version update, the version history in import_export.md has to be kept up to date.
|
# For every version update, the version history in import_export.md has to be kept up to date.
|
||||||
VERSION = '0.1.6'
|
VERSION = '0.1.6'.freeze
|
||||||
FILENAME_LIMIT = 50
|
FILENAME_LIMIT = 50
|
||||||
|
|
||||||
def export_path(relative_path:)
|
def export_path(relative_path:)
|
||||||
|
|
|
@ -2,8 +2,8 @@ module Gitlab
|
||||||
module Metrics
|
module Metrics
|
||||||
# Rack middleware for tracking Rails and Grape requests.
|
# Rack middleware for tracking Rails and Grape requests.
|
||||||
class RackMiddleware
|
class RackMiddleware
|
||||||
CONTROLLER_KEY = 'action_controller.instance'
|
CONTROLLER_KEY = 'action_controller.instance'.freeze
|
||||||
ENDPOINT_KEY = 'api.endpoint'
|
ENDPOINT_KEY = 'api.endpoint'.freeze
|
||||||
CONTENT_TYPES = {
|
CONTENT_TYPES = {
|
||||||
'text/html' => :html,
|
'text/html' => :html,
|
||||||
'text/plain' => :txt,
|
'text/plain' => :txt,
|
||||||
|
@ -14,7 +14,7 @@ module Gitlab
|
||||||
'image/jpeg' => :jpeg,
|
'image/jpeg' => :jpeg,
|
||||||
'image/gif' => :gif,
|
'image/gif' => :gif,
|
||||||
'image/svg+xml' => :svg
|
'image/svg+xml' => :svg
|
||||||
}
|
}.freeze
|
||||||
|
|
||||||
def initialize(app)
|
def initialize(app)
|
||||||
@app = app
|
@app = app
|
||||||
|
|
|
@ -5,7 +5,7 @@ module Gitlab
|
||||||
class ActionView < ActiveSupport::Subscriber
|
class ActionView < ActiveSupport::Subscriber
|
||||||
attach_to :action_view
|
attach_to :action_view
|
||||||
|
|
||||||
SERIES = 'views'
|
SERIES = 'views'.freeze
|
||||||
|
|
||||||
def render_template(event)
|
def render_template(event)
|
||||||
track(event) if current_transaction
|
track(event) if current_transaction
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue