Enable Style/MutableConstant

This commit is contained in:
Douwe Maan 2017-02-21 17:32:18 -06:00
parent 3dadf306dd
commit b7d8df503c
118 changed files with 190 additions and 192 deletions

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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]]

View File

@ -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

View File

@ -13,7 +13,7 @@
# #
class TodosFinder class TodosFinder
NONE = '0' NONE = '0'.freeze
attr_accessor :current_user, :params attr_accessor :current_user, :params

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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'

View File

@ -1,5 +1,5 @@
class ProjectMember < Member class ProjectMember < Member
SOURCE_TYPE = 'Project' SOURCE_TYPE = 'Project'.freeze
include Gitlab::ShellAdapter include Gitlab::ShellAdapter

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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?

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -1,5 +1,5 @@
module Gollum module Gollum
GIT_ADAPTER = "rugged" GIT_ADAPTER = "rugged".freeze
end end
require "gollum-lib" require "gollum-lib"

View File

@ -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) }

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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|

View File

@ -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

View File

@ -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

View File

@ -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!

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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!

View File

@ -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!

View File

@ -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!

View File

@ -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!

View File

@ -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|

View File

@ -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.

View File

@ -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

View File

@ -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|

View File

@ -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.

View File

@ -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

View File

@ -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!

View File

@ -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

View File

@ -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!

View File

@ -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

View File

@ -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?

View File

@ -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),

View File

@ -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)

View File

@ -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]

View File

@ -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'

View File

@ -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!

View File

@ -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

View File

@ -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")

View File

@ -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 }

View File

@ -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|

View File

@ -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|

View File

@ -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 = {})

View File

@ -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'

View File

@ -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'

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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.

View File

@ -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|

View File

@ -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)

View File

@ -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.
# #

View File

@ -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

View File

@ -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:)

View File

@ -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

View File

@ -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