Commit 15b878e2 authored by gfyoung's avatar gfyoung

Enable more frozen string in app/models/**/*.rb

Partially addresses #47424.
parent b211f7c2
# frozen_string_literal: true
# == AccessRequestable concern # == AccessRequestable concern
# #
# Contains functionality related to objects that can receive request for access. # Contains functionality related to objects that can receive request for access.
......
# frozen_string_literal: true
# Adapter class to unify the interface between mounted uploaders and the # Adapter class to unify the interface between mounted uploaders and the
# Ci::Artifact model # Ci::Artifact model
# Meant to be prepended so the interface can stay the same # Meant to be prepended so the interface can stay the same
......
# frozen_string_literal: true
# Include atomic internal id generation scheme for a model # Include atomic internal id generation scheme for a model
# #
# This allows us to atomically generate internal ids that are # This allows us to atomically generate internal ids that are
......
# frozen_string_literal: true
module Avatarable module Avatarable
extend ActiveSupport::Concern extend ActiveSupport::Concern
...@@ -57,7 +59,8 @@ module Avatarable ...@@ -57,7 +59,8 @@ module Avatarable
only_path = false only_path = false
end end
url_base = "" url_base = []
if use_asset_host if use_asset_host
url_base << asset_host unless only_path url_base << asset_host unless only_path
else else
...@@ -65,7 +68,7 @@ module Avatarable ...@@ -65,7 +68,7 @@ module Avatarable
url_base << gitlab_config.relative_url_root url_base << gitlab_config.relative_url_root
end end
url_base + avatar.local_url + query_params url_base.join + avatar.local_url + query_params
end end
# Path that is persisted in the tracking Upload model. Used to fetch the # Path that is persisted in the tracking Upload model. Used to fetch the
......
# frozen_string_literal: true
module Awardable module Awardable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Provides a way to work around Rails issue where dependent objects are all # Provides a way to work around Rails issue where dependent objects are all
# loaded into memory before destroyed: https://github.com/rails/rails/issues/22510. # loaded into memory before destroyed: https://github.com/rails/rails/issues/22510.
# #
......
# frozen_string_literal: true
module BlobLike module BlobLike
extend ActiveSupport::Concern extend ActiveSupport::Concern
include Linguist::BlobHelper include Linguist::BlobHelper
......
# frozen_string_literal: true
# Overrides `as_json` and `to_json` to raise an exception when called in order # Overrides `as_json` and `to_json` to raise an exception when called in order
# to prevent accidentally exposing attributes # to prevent accidentally exposing attributes
# #
......
# frozen_string_literal: true
# Returns and caches in thread max member access for a resource # Returns and caches in thread max member access for a resource
# #
module BulkMemberAccessLoad module BulkMemberAccessLoad
......
# frozen_string_literal: true
# This module takes care of updating cache columns for Markdown-containing # This module takes care of updating cache columns for Markdown-containing
# fields. Use like this in the body of your class: # fields. Use like this in the body of your class:
# #
......
# frozen_string_literal: true
module CacheableAttributes module CacheableAttributes
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Concern for querying columns with specific case sensitivity handling. # Concern for querying columns with specific case sensitivity handling.
module CaseSensitivity module CaseSensitivity
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ChronicDurationAttribute module ChronicDurationAttribute
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module CreatedAtFilterable module CreatedAtFilterable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DeploymentPlatform module DeploymentPlatform
# EE would override this and utilize environment argument # EE would override this and utilize environment argument
# rubocop:disable Gitlab/ModuleWithInstanceVariables # rubocop:disable Gitlab/ModuleWithInstanceVariables
......
# frozen_string_literal: true
module DiffFile module DiffFile
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Contains functionality shared between `DiffDiscussion` and `LegacyDiffDiscussion`. # Contains functionality shared between `DiffDiscussion` and `LegacyDiffDiscussion`.
module DiscussionOnDiff module DiscussionOnDiff
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module EachBatch module EachBatch
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Editable module Editable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module EnumWithNil module EnumWithNil
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Expirable module Expirable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
## ##
# This module is for replacing `dependent: :destroy` and `before_destroy` hooks. # This module is for replacing `dependent: :destroy` and `before_destroy` hooks.
# #
......
# frozen_string_literal: true
module FasterCacheKeys module FasterCacheKeys
# A faster version of Rails' "cache_key" method. # A faster version of Rails' "cache_key" method.
# #
......
# frozen_string_literal: true
module FeatureGate module FeatureGate
def flipper_id def flipper_id
return nil if new_record? return nil if new_record?
......
# frozen_string_literal: true
module GhostUser module GhostUser
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module GroupDescendant module GroupDescendant
# Returns the hierarchy of a project or group in the from of a hash upto a # Returns the hierarchy of a project or group in the from of a hash upto a
# given top. # given top.
......
# frozen_string_literal: true
module HasStatus module HasStatus
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module HasVariable module HasVariable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Module that can be included into a model to make it easier to ignore database # Module that can be included into a model to make it easier to ignore database
# columns. # columns.
# #
......
# frozen_string_literal: true
module IidRoutes module IidRoutes
## ##
# This automagically enforces all related routes to use `iid` instead of `id` # This automagically enforces all related routes to use `iid` instead of `id`
......
# frozen_string_literal: true
module Importable module Importable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# == Issuable concern # == Issuable concern
# #
# Contains common functionality shared between Issues and MergeRequests # Contains common functionality shared between Issues and MergeRequests
......
# frozen_string_literal: true
module LoadedInGroupList module LoadedInGroupList
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ManualInverseAssociation module ManualInverseAssociation
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# == Mentionable concern # == Mentionable concern
# #
# Contains functionality related to objects that can mention Users, Issues, MergeRequests, Commits or Snippets by # Contains functionality related to objects that can mention Users, Issues, MergeRequests, Commits or Snippets by
......
# frozen_string_literal: true
module Mentionable module Mentionable
module ReferenceRegexes module ReferenceRegexes
def self.reference_pattern(link_patterns, issue_pattern) def self.reference_pattern(link_patterns, issue_pattern)
......
# frozen_string_literal: true
module Milestoneish module Milestoneish
def closed_items_count(user) def closed_items_count(user)
memoize_per_user(user, :closed_items_count) do memoize_per_user(user, :closed_items_count) do
......
# frozen_string_literal: true
# Contains functionality shared between `DiffNote` and `LegacyDiffNote`. # Contains functionality shared between `DiffNote` and `LegacyDiffNote`.
module NoteOnDiff module NoteOnDiff
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Noteable module Noteable
# Names of all implementers of `Noteable` that support resolvable notes. # Names of all implementers of `Noteable` that support resolvable notes.
RESOLVABLE_TYPES = %w(MergeRequest).freeze RESOLVABLE_TYPES = %w(MergeRequest).freeze
......
# frozen_string_literal: true
# == Participable concern # == Participable concern
# #
# Contains functionality related to objects that can have participants, such as # Contains functionality related to objects that can have participants, such as
......
# frozen_string_literal: true
module Presentable module Presentable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Makes api V4 compatible with old project features permissions methods # Makes api V4 compatible with old project features permissions methods
# #
# After migrating issues_enabled merge_requests_enabled builds_enabled snippets_enabled and wiki_enabled # After migrating issues_enabled merge_requests_enabled builds_enabled snippets_enabled and wiki_enabled
......
# frozen_string_literal: true
module PrometheusAdapter module PrometheusAdapter
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ProtectedBranchAccess module ProtectedBranchAccess
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ProtectedRef module ProtectedRef
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ProtectedRefAccess module ProtectedRefAccess
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ProtectedTagAccess module ProtectedTagAccess
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# The ReactiveCaching concern is used to fetch some data in the background and # The ReactiveCaching concern is used to fetch some data in the background and
# store it in the Rails cache, keeping it up-to-date for as long as it is being # store it in the Rails cache, keeping it up-to-date for as long as it is being
# requested. If the data hasn't been requested for +reactive_cache_lifetime+, # requested. If the data hasn't been requested for +reactive_cache_lifetime+,
......
# frozen_string_literal: true
module ReactiveService module ReactiveService
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module RedisCacheable module RedisCacheable
extend ActiveSupport::Concern extend ActiveSupport::Concern
include Gitlab::Utils::StrongMemoize include Gitlab::Utils::StrongMemoize
......
# frozen_string_literal: true
# == Referable concern # == Referable concern
# #
# Contains functionality related to making a model referable in Markdown, such # Contains functionality related to making a model referable in Markdown, such
......
# frozen_string_literal: true
module RelativePositioning module RelativePositioning
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ResolvableDiscussion module ResolvableDiscussion
extend ActiveSupport::Concern extend ActiveSupport::Concern
include ::Gitlab::Utils::StrongMemoize include ::Gitlab::Utils::StrongMemoize
......
# frozen_string_literal: true
module ResolvableNote module ResolvableNote
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Store object full path in separate table for easy lookup and uniq validation # Store object full path in separate table for easy lookup and uniq validation
# Object must have name and path db fields and respond to parent and parent_changed? methods. # Object must have name and path db fields and respond to parent and parent_changed? methods.
module Routable module Routable
......
# frozen_string_literal: true
module SelectForProjectAuthorization module SelectForProjectAuthorization
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ShaAttribute module ShaAttribute
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# == Sortable concern # == Sortable concern
# #
# Set default scope for ordering objects # Set default scope for ordering objects
......
# frozen_string_literal: true
module Spammable module Spammable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Storage module Storage
module LegacyNamespace module LegacyNamespace
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Storage module Storage
module LegacyProjectWiki module LegacyProjectWiki
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Storage module Storage
module LegacyRepository module LegacyRepository
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# == Strip Attribute module # == Strip Attribute module
# #
# Contains functionality to clean attributes before validation # Contains functionality to clean attributes before validation
......
# frozen_string_literal: true
# == Subscribable concern # == Subscribable concern
# #
# Users can subscribe to these models. # Users can subscribe to these models.
......
# frozen_string_literal: true
require 'task_list' require 'task_list'
require 'task_list/filter' require 'task_list/filter'
......
# frozen_string_literal: true
# ThrottledTouch can be used to throttle the number of updates triggered by # ThrottledTouch can be used to throttle the number of updates triggered by
# calling "touch" on an ActiveRecord model. # calling "touch" on an ActiveRecord model.
module ThrottledTouch module ThrottledTouch
......
# frozen_string_literal: true
# == TimeTrackable concern # == TimeTrackable concern
# #
# Contains functionality related to objects that support time tracking. # Contains functionality related to objects that support time tracking.
......
# frozen_string_literal: true
module TokenAuthenticatable module TokenAuthenticatable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module TriggerableHooks module TriggerableHooks
AVAILABLE_TRIGGERS = { AVAILABLE_TRIGGERS = {
repository_update_hooks: :repository_update_events, repository_update_hooks: :repository_update_events,
......
# frozen_string_literal: true
# Uniquify # Uniquify
# #
# Return a version of the given 'base' string that is unique # Return a version of the given 'base' string that is unique
......
# frozen_string_literal: true
module UpdatedAtFilterable module UpdatedAtFilterable
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ValidAttribute module ValidAttribute
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Mounted uploaders are destroyed by carrierwave's after_commit # Mounted uploaders are destroyed by carrierwave's after_commit
# hook. This hook fetches upload location (local vs remote) from # hook. This hook fetches upload location (local vs remote) from
# Upload model. So it's neccessary to make sure that during that # Upload model. So it's neccessary to make sure that during that
......
# frozen_string_literal: true
module ConversationalDevelopmentIndex module ConversationalDevelopmentIndex
class Card class Card
attr_accessor :metric, :title, :description, :feature, :blog, :docs attr_accessor :metric, :title, :description, :feature, :blog, :docs
......
# frozen_string_literal: true
module ConversationalDevelopmentIndex module ConversationalDevelopmentIndex
class IdeaToProductionStep class IdeaToProductionStep
attr_accessor :metric, :title, :features attr_accessor :metric, :title, :features
......
# frozen_string_literal: true
module ConversationalDevelopmentIndex module ConversationalDevelopmentIndex
class Metric < ActiveRecord::Base class Metric < ActiveRecord::Base
include Presentable include Presentable
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class Added < Base class Added < Base
include Simple include Simple
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class Base class Base
PARTIAL_PATH_PREFIX = 'projects/diffs/viewers'.freeze PARTIAL_PATH_PREFIX = 'projects/diffs/viewers'.freeze
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
module ClientSide module ClientSide
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class Deleted < Base class Deleted < Base
include Simple include Simple
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class Image < Base class Image < Base
include Rich include Rich
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class ModeChanged < Base class ModeChanged < Base
include Simple include Simple
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class NoPreview < Base class NoPreview < Base
include Simple include Simple
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class NotDiffable < Base class NotDiffable < Base
include Simple include Simple
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class Renamed < Base class Renamed < Base
include Simple include Simple
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
module Rich module Rich
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
module ServerSide module ServerSide
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
module Simple module Simple
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
module Static module Static
extend ActiveSupport::Concern extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer module DiffViewer
class Text < Base class Text < Base
include Simple include Simple
......
# frozen_string_literal: true
class ProjectHook < WebHook class ProjectHook < WebHook
include TriggerableHooks include TriggerableHooks
......
# frozen_string_literal: true
class ServiceHook < WebHook class ServiceHook < WebHook
belongs_to :service belongs_to :service
validates :service, presence: true validates :service, presence: true
......
# frozen_string_literal: true
class SystemHook < WebHook class SystemHook < WebHook
include TriggerableHooks include TriggerableHooks
......
# frozen_string_literal: true
class WebHook < ActiveRecord::Base class WebHook < ActiveRecord::Base
include Sortable include Sortable
......
# frozen_string_literal: true
class WebHookLog < ActiveRecord::Base class WebHookLog < ActiveRecord::Base
belongs_to :web_hook belongs_to :web_hook
......
# frozen_string_literal: true
class Issue::Metrics < ActiveRecord::Base class Issue::Metrics < ActiveRecord::Base
belongs_to :issue belongs_to :issue
......
# frozen_string_literal: true
class GroupMember < Member class GroupMember < Member
SOURCE_TYPE = 'Namespace'.freeze SOURCE_TYPE = 'Namespace'.freeze
......
# frozen_string_literal: true
class ProjectMember < Member class ProjectMember < Member
SOURCE_TYPE = 'Project'.freeze SOURCE_TYPE = 'Project'.freeze
......
# frozen_string_literal: true
class MergeRequest::Metrics < ActiveRecord::Base class MergeRequest::Metrics < ActiveRecord::Base
belongs_to :merge_request belongs_to :merge_request
belongs_to :pipeline, class_name: 'Ci::Pipeline', foreign_key: :pipeline_id belongs_to :pipeline, class_name: 'Ci::Pipeline', foreign_key: :pipeline_id
......
# frozen_string_literal: true
module Network module Network
class Commit class Commit
include ActionView::Helpers::TagHelper include ActionView::Helpers::TagHelper
......
# frozen_string_literal: true
module Network module Network
class Graph class Graph
attr_reader :days, :commits, :map, :notes, :repo attr_reader :days, :commits, :map, :notes, :repo
......
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