提交 8d98bb0c 编写于 作者: M Matthew Draper 提交者: GitHub

Merge pull request #29728 from kirs/frozen-activesupport

Use frozen-string-literal in ActiveSupport
......@@ -77,6 +77,12 @@ Layout/SpaceBeforeFirstArg:
Style/MethodDefParentheses:
Enabled: true
Style/FrozenStringLiteralComment:
Enabled: true
EnforcedStyle: always
Include:
- 'activesupport/**/*'
# Use `foo {}` not `foo{}`.
Layout/SpaceBeforeBlockBraces:
Enabled: true
......
# frozen_string_literal: true
require "rake/testtask"
task default: :test
......
# frozen_string_literal: true
version = File.read(File.expand_path("../RAILS_VERSION", __dir__)).strip
Gem::Specification.new do |s|
......
#!/usr/bin/env ruby
# frozen_string_literal: true
begin
$:.unshift(File.expand_path("../lib", __dir__))
......
#!/usr/bin/env ruby
# frozen_string_literal: true
COMPONENT_ROOT = File.expand_path("..", __dir__)
require_relative "../../tools/test"
# frozen_string_literal: true
#--
# Copyright (c) 2005-2017 David Heinemeier Hansson
#
......
# frozen_string_literal: true
require "active_support"
require_relative "time"
require_relative "core_ext"
# frozen_string_literal: true
module ActiveSupport
# Wrapping an array in an +ArrayInquirer+ gives a friendlier way to check
# its string-like contents:
......
# frozen_string_literal: true
module ActiveSupport
# Backtraces often include many lines that are not relevant for the context
# under review. This makes it hard to find the signal amongst the backtrace
......
# frozen_string_literal: true
require_relative "core_ext/benchmark"
require_relative "core_ext/hash/keys"
......
# frozen_string_literal: true
begin
require "builder"
rescue LoadError => e
......
# frozen_string_literal: true
require "zlib"
require_relative "core_ext/array/extract_options"
require_relative "core_ext/array/wrap"
......
# frozen_string_literal: true
require_relative "../core_ext/marshal"
require_relative "../core_ext/file/atomic"
require_relative "../core_ext/string/conversions"
......
# frozen_string_literal: true
begin
require "dalli"
rescue LoadError => e
......
# frozen_string_literal: true
require "monitor"
module ActiveSupport
......
# frozen_string_literal: true
module ActiveSupport
module Cache
# A cache store implementation which doesn't actually store anything. Useful in
......
# frozen_string_literal: true
require_relative "../../core_ext/object/duplicable"
require_relative "../../core_ext/string/inflections"
require_relative "../../per_thread_registry"
......
# frozen_string_literal: true
require "rack/body_proxy"
require "rack/utils"
......
# frozen_string_literal: true
require_relative "concern"
require_relative "descendants_tracker"
require_relative "core_ext/array/extract_options"
......
# frozen_string_literal: true
module ActiveSupport
# A typical module looks like this:
#
......
# frozen_string_literal: true
require "thread"
require "monitor"
......
# frozen_string_literal: true
require_relative "concern"
require_relative "ordered_options"
require_relative "core_ext/array/extract_options"
......
# frozen_string_literal: true
Dir.glob(File.expand_path("core_ext/*.rb", __dir__)).each do |path|
require path
end
# frozen_string_literal: true
require_relative "array/wrap"
require_relative "array/access"
require_relative "array/conversions"
......
# frozen_string_literal: true
class Array
# Returns the tail of the array from +position+.
#
......
# frozen_string_literal: true
require_relative "../../xml_mini"
require_relative "../hash/keys"
require_relative "../string/inflections"
......
# frozen_string_literal: true
class Hash
# By default, only instances of Hash itself are extractable.
# Subclasses of Hash may implement this method and return
......
# frozen_string_literal: true
class Array
# Splits or iterates over the array in groups of size +number+,
# padding any remaining slots with +fill_with+ unless it is +false+.
......
# frozen_string_literal: true
require_relative "../../array_inquirer"
class Array
......
# frozen_string_literal: true
class Array
# The human way of thinking about adding stuff to the end of a list is with append.
alias_method :append, :push unless [].respond_to?(:append)
......
# frozen_string_literal: true
class Array
# Wraps its argument in an array unless it is already an array (or array-like).
#
......
# frozen_string_literal: true
require "benchmark"
class << Benchmark
......
# frozen_string_literal: true
require_relative "big_decimal/conversions"
# frozen_string_literal: true
require "bigdecimal"
require "bigdecimal/util"
......
# frozen_string_literal: true
require_relative "class/attribute"
require_relative "class/subclasses"
# frozen_string_literal: true
require_relative "../kernel/singleton_class"
require_relative "../module/remove_method"
require_relative "../array/extract_options"
......
# frozen_string_literal: true
# cattr_* became mattr_* aliases in 7dfbd91b0780fbd6a1dd9bfbc176e10894871d2d,
# but we keep this around for libraries that directly require it knowing they
# want cattr_*. No need to deprecate.
......
# frozen_string_literal: true
require_relative "../module/anonymous"
require_relative "../module/reachable"
......
# frozen_string_literal: true
require_relative "date/acts_like"
require_relative "date/blank"
require_relative "date/calculations"
......
# frozen_string_literal: true
require_relative "../object/acts_like"
class Date
......
# frozen_string_literal: true
require "date"
class Date #:nodoc:
......
# frozen_string_literal: true
require "date"
require_relative "../../duration"
require_relative "../object/acts_like"
......
# frozen_string_literal: true
require "date"
require_relative "../../inflector/methods"
require_relative "zones"
......
# frozen_string_literal: true
require "date"
require_relative "../date_and_time/zones"
......
# frozen_string_literal: true
require_relative "../object/try"
module DateAndTime
......
# frozen_string_literal: true
require_relative "../module/attribute_accessors"
module DateAndTime
......
# frozen_string_literal: true
module DateAndTime
module Zones
# Returns the simultaneous time in <tt>Time.zone</tt> if a zone is given or
......
# frozen_string_literal: true
require_relative "date_time/acts_like"
require_relative "date_time/blank"
require_relative "date_time/calculations"
......
# frozen_string_literal: true
require "date"
require_relative "../object/acts_like"
......
# frozen_string_literal: true
require "date"
class DateTime #:nodoc:
......
# frozen_string_literal: true
require "date"
class DateTime
......
# frozen_string_literal: true
require_relative "../date_and_time/compatibility"
require_relative "../module/remove_method"
......
# frozen_string_literal: true
require "date"
require_relative "../../inflector/methods"
require_relative "../time/conversions"
......
# frozen_string_literal: true
require "securerandom"
module Digest
......
# frozen_string_literal: true
module Enumerable
# Enumerable#sum was added in Ruby 2.4, but it only works with Numeric elements
# when we omit an identity.
......
# frozen_string_literal: true
require_relative "file/atomic"
# frozen_string_literal: true
require "fileutils"
class File
......
# frozen_string_literal: true
require_relative "hash/compact"
require_relative "hash/conversions"
require_relative "hash/deep_merge"
......
# frozen_string_literal: true
class Hash
unless Hash.instance_methods(false).include?(:compact)
# Returns a hash with non +nil+ values.
......
# frozen_string_literal: true
require_relative "../../xml_mini"
require_relative "../../time"
require_relative "../object/blank"
......
# frozen_string_literal: true
class Hash
# Returns a new hash with +self+ and +other_hash+ merged recursively.
#
......
# frozen_string_literal: true
class Hash
# Returns a hash that includes everything except given keys.
# hash = { a: true, b: false, c: nil }
......
# frozen_string_literal: true
require_relative "../../hash_with_indifferent_access"
class Hash
......
# frozen_string_literal: true
class Hash
# Returns a new hash with all keys converted using the +block+ operation.
#
......
# frozen_string_literal: true
class Hash
# Merges the caller into +other_hash+. For example,
#
......
# frozen_string_literal: true
class Hash
# Slices a hash to include only the given keys. Returns a hash containing
# the given keys.
......
# frozen_string_literal: true
class Hash
# Returns a new hash with the results of running +block+ once for every value.
# The keys are unchanged.
......
# frozen_string_literal: true
require_relative "integer/multiple"
require_relative "integer/inflections"
require_relative "integer/time"
# frozen_string_literal: true
require_relative "../../inflector"
class Integer
......
# frozen_string_literal: true
class Integer
# Check whether the integer is evenly divisible by the argument.
#
......
# frozen_string_literal: true
require_relative "../../duration"
require_relative "../numeric/time"
......
# frozen_string_literal: true
require_relative "kernel/agnostics"
require_relative "kernel/concern"
require_relative "kernel/reporting"
......
# frozen_string_literal: true
class Object
# Makes backticks behave (somewhat more) similarly on all platforms.
# On win32 `nonexistent_command` raises Errno::ENOENT; on Unix, the
......
# frozen_string_literal: true
require_relative "../module/concerning"
module Kernel
......
# frozen_string_literal: true
module Kernel
module_function
......
# frozen_string_literal: true
module Kernel
# class_eval on an object acts like singleton_class.class_eval.
def class_eval(*args, &block)
......
# frozen_string_literal: true
class LoadError
REGEXPS = [
/^no such file to load -- (.+)$/i,
......
# frozen_string_literal: true
module ActiveSupport
module MarshalWithAutoloading # :nodoc:
def load(source, proc = nil)
......
# frozen_string_literal: true
require_relative "module/aliasing"
require_relative "module/introspection"
require_relative "module/anonymous"
......
# frozen_string_literal: true
class Module
# Allows you to make aliases for attributes, which includes
# getter, setter, and a predicate.
......
# frozen_string_literal: true
class Module
# A module may or may not have a name.
#
......
# frozen_string_literal: true
class Module
# Declares an attribute reader backed by an internally-named instance variable.
def attr_internal_reader(*attrs)
......
# frozen_string_literal: true
require_relative "../array/extract_options"
require_relative "../regexp"
......
# frozen_string_literal: true
require_relative "../array/extract_options"
require_relative "../regexp"
......
# frozen_string_literal: true
require_relative "../../concern"
class Module
......
# frozen_string_literal: true
require "set"
require_relative "../regexp"
......
# frozen_string_literal: true
class Module
# deprecate :foo
# deprecate bar: 'message'
......
# frozen_string_literal: true
require_relative "../../inflector"
class Module
......
# frozen_string_literal: true
require_relative "anonymous"
require_relative "../string/inflections"
......
# frozen_string_literal: true
class Module
# Removes the named method, if it exists.
def remove_possible_method(method)
......
# frozen_string_literal: true
class NameError
# Extract the name of the missing constant from the exception message.
#
......
# frozen_string_literal: true
require_relative "numeric/bytes"
require_relative "numeric/time"
require_relative "numeric/inquiry"
......
# frozen_string_literal: true
class Numeric
KILOBYTE = 1024
MEGABYTE = KILOBYTE * 1024
......
# frozen_string_literal: true
require_relative "../big_decimal/conversions"
require_relative "../../number_helper"
require_relative "../module/deprecation"
......
# frozen_string_literal: true
unless 1.respond_to?(:positive?) # TODO: Remove this file when we drop support to ruby < 2.3
class Numeric
# Returns true if the number is positive.
......
# frozen_string_literal: true
require_relative "../../duration"
require_relative "../time/calculations"
require_relative "../time/acts_like"
......
# frozen_string_literal: true
require_relative "object/acts_like"
require_relative "object/blank"
require_relative "object/duplicable"
......
# frozen_string_literal: true
class Object
# A duck-type assistant method. For example, Active Support extends Date
# to define an <tt>acts_like_date?</tt> method, and extends Time to define
......
# frozen_string_literal: true
require_relative "../regexp"
class Object
......
# frozen_string_literal: true
require_relative "to_param"
require_relative "to_query"
require_relative "../array/conversions"
......
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册