Commit b7d8df50 authored by Douwe Maan's avatar Douwe Maan

Enable Style/MutableConstant

parent 3dadf306
...@@ -308,6 +308,9 @@ Style/MultilineOperationIndentation: ...@@ -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: ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 @@ ...@@ -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 @@ ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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)
......
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 ...@@ -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
......
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'
......
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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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" ...@@ -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 ...@@ -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
......
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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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
......
# 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 @@ ...@@ -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)
......
module Gollum module Gollum
GIT_ADAPTER = "rugged" GIT_ADAPTER = "rugged".freeze
end end
require "gollum-lib" require "gollum-lib"
......
...@@ -10,7 +10,7 @@ end ...@@ -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) }
......
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 @@ ...@@ -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 @@ ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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|
......
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 ...@@ -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 ...@@ -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 ...@@ -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|
......
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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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
......
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 ...@@ -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 ...@@ -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 ...@@ -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
......
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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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' ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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 ...@@ -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
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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