# typed: false # DO NOT EDIT MANUALLY # This is an autogenerated file for types exported from the `activesupport` gem. # Please instead update this file by running `bin/tapioca gem activesupport`. # source://yard-0.9.28/lib/yard.rb:62 ::RUBY19 = T.let(T.unsafe(nil), TrueClass) # source://activesupport-7.0.3.1/lib/active_support/lazy_load_hooks.rb:3 module ActiveSupport extend ::ActiveSupport::LazyLoadHooks extend ::ActiveSupport::Autoload # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:9 def parse_json_times; end # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:9 def parse_json_times=(val); end # source://activesupport-7.0.3.1/lib/active_support.rb:94 def test_order; end # source://activesupport-7.0.3.1/lib/active_support.rb:94 def test_order=(val); end # source://activesupport-7.0.3.1/lib/active_support.rb:95 def test_parallelization_threshold; end # source://activesupport-7.0.3.1/lib/active_support.rb:95 def test_parallelization_threshold=(val); end class << self # source://activesupport-7.0.3.1/lib/active_support.rb:99 def cache_format_version; end # source://activesupport-7.0.3.1/lib/active_support.rb:103 def cache_format_version=(value); end # source://activesupport-7.0.3.1/lib/active_support.rb:88 def eager_load!; end # source://activesupport-7.0.3.1/lib/active_support.rb:97 def error_reporter; end # source://activesupport-7.0.3.1/lib/active_support.rb:97 def error_reporter=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:8 def escape_html_entities_in_json(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:8 def escape_html_entities_in_json=(arg); end # Returns the currently loaded version of Active Support as a Gem::Version. # # source://activesupport-7.0.3.1/lib/active_support/gem_version.rb:5 def gem_version; end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:8 def json_encoder(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:8 def json_encoder=(arg); end # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:9 def parse_json_times; end # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:9 def parse_json_times=(val); end # source://activesupport-7.0.3.1/lib/active_support.rb:94 def test_order; end # source://activesupport-7.0.3.1/lib/active_support.rb:94 def test_order=(val); end # source://activesupport-7.0.3.1/lib/active_support.rb:95 def test_parallelization_threshold; end # source://activesupport-7.0.3.1/lib/active_support.rb:95 def test_parallelization_threshold=(val); end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:8 def time_precision(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:8 def time_precision=(arg); end # source://activesupport-7.0.3.1/lib/active_support.rb:107 def to_time_preserves_timezone; end # source://activesupport-7.0.3.1/lib/active_support.rb:111 def to_time_preserves_timezone=(value); end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:8 def use_standard_json_time_format(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:8 def use_standard_json_time_format=(arg); end # source://activesupport-7.0.3.1/lib/active_support.rb:115 def utc_to_local_returns_utc_offset_times; end # source://activesupport-7.0.3.1/lib/active_support.rb:119 def utc_to_local_returns_utc_offset_times=(value); end # Returns the currently loaded version of Active Support as a Gem::Version. # # source://activesupport-7.0.3.1/lib/active_support/version.rb:7 def version; end end end # Actionable errors lets you define actions to resolve an error. # # To make an error actionable, include the ActiveSupport::ActionableError # module and invoke the +action+ class macro to define the action. An action # needs a name and a block to execute. # # source://activesupport-7.0.3.1/lib/active_support/actionable_error.rb:9 module ActiveSupport::ActionableError extend ::ActiveSupport::Concern include GeneratedInstanceMethods mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::ActiveSupport::ActionableError::ClassMethods class << self # source://activesupport-7.0.3.1/lib/active_support/actionable_error.rb:18 def actions(error); end # source://activesupport-7.0.3.1/lib/active_support/actionable_error.rb:27 def dispatch(error, name); end end module GeneratedClassMethods def _actions; end def _actions=(value); end def _actions?; end end module GeneratedInstanceMethods def _actions; end def _actions=(value); end def _actions?; end end end # source://activesupport-7.0.3.1/lib/active_support/actionable_error.rb:33 module ActiveSupport::ActionableError::ClassMethods # Defines an action that can resolve the error. # # class PendingMigrationError < MigrationError # include ActiveSupport::ActionableError # # action "Run pending migrations" do # ActiveRecord::Tasks::DatabaseTasks.migrate # end # end # # source://activesupport-7.0.3.1/lib/active_support/actionable_error.rb:43 def action(name, &block); end end # source://activesupport-7.0.3.1/lib/active_support/actionable_error.rb:12 class ActiveSupport::ActionableError::NonActionable < ::StandardError; end # Wrapping an array in an +ArrayInquirer+ gives a friendlier way to check # its string-like contents: # # variants = ActiveSupport::ArrayInquirer.new([:phone, :tablet]) # # variants.phone? # => true # variants.tablet? # => true # variants.desktop? # => false # # source://activesupport-7.0.3.1/lib/active_support/array_inquirer.rb:24 class ActiveSupport::ArrayInquirer < ::Array # Passes each element of +candidates+ collection to ArrayInquirer collection. # The method returns true if any element from the ArrayInquirer collection # is equal to the stringified or symbolized form of any element in the +candidates+ collection. # # If +candidates+ collection is not given, method returns true. # # variants = ActiveSupport::ArrayInquirer.new([:phone, :tablet]) # # variants.any? # => true # variants.any?(:phone, :tablet) # => true # variants.any?('phone', 'desktop') # => true # variants.any?(:desktop, :watch) # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/array_inquirer.rb:25 def any?(*candidates); end private # source://activesupport-7.0.3.1/lib/active_support/array_inquirer.rb:40 def method_missing(name, *args); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/array_inquirer.rb:36 def respond_to_missing?(name, include_private = T.unsafe(nil)); end end # Autoload and eager load conveniences for your library. # # This module allows you to define autoloads based on # Rails conventions (i.e. no need to define the path # it is automatically guessed based on the filename) # and also define a set of constants that needs to be # eager loaded: # # module MyLib # extend ActiveSupport::Autoload # # autoload :Model # # eager_autoload do # autoload :Cache # end # end # # Then your library can be eager loaded by simply calling: # # MyLib.eager_load! # # source://activesupport-7.0.3.1/lib/active_support/dependencies/autoload.rb:27 module ActiveSupport::Autoload # source://activesupport-7.0.3.1/lib/active_support/dependencies/autoload.rb:37 def autoload(const_name, path = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/dependencies/autoload.rb:57 def autoload_at(path); end # source://activesupport-7.0.3.1/lib/active_support/dependencies/autoload.rb:50 def autoload_under(path); end # source://activesupport-7.0.3.1/lib/active_support/dependencies/autoload.rb:75 def autoloads; end # source://activesupport-7.0.3.1/lib/active_support/dependencies/autoload.rb:64 def eager_autoload; end # source://activesupport-7.0.3.1/lib/active_support/dependencies/autoload.rb:71 def eager_load!; end class << self # source://activesupport-7.0.3.1/lib/active_support/dependencies/autoload.rb:28 def extended(base); end end end # 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 # noise, and adds debugging time. With a BacktraceCleaner, filters and # silencers are used to remove the noisy lines, so that only the most relevant # lines remain. # # Filters are used to modify lines of data, while silencers are used to remove # lines entirely. The typical filter use case is to remove lengthy path # information from the start of each line, and view file paths relevant to the # app directory instead of the file system root. The typical silencer use case # is to exclude the output of a noisy library from the backtrace, so that you # can focus on the rest. # # bc = ActiveSupport::BacktraceCleaner.new # bc.add_filter { |line| line.gsub(Rails.root.to_s, '') } # strip the Rails.root prefix # bc.add_silencer { |line| /puma|rubygems/.match?(line) } # skip any lines from puma or rubygems # bc.clean(exception.backtrace) # perform the cleanup # # To reconfigure an existing BacktraceCleaner (like the default one in Rails) # and show as much data as possible, you can always call # BacktraceCleaner#remove_silencers!, which will restore the # backtrace to a pristine state. If you need to reconfigure an existing # BacktraceCleaner so that it does not filter or modify the paths of any lines # of the backtrace, you can call BacktraceCleaner#remove_filters! # These two methods will give you a completely untouched backtrace. # # Inspired by the Quiet Backtrace gem by thoughtbot. # # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:31 class ActiveSupport::BacktraceCleaner # @return [BacktraceCleaner] a new instance of BacktraceCleaner # # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:32 def initialize; end # Adds a filter from the block provided. Each line in the backtrace will be # mapped against this filter. # # # Will turn "/my/rails/root/app/models/person.rb" into "/app/models/person.rb" # backtrace_cleaner.add_filter { |line| line.gsub(Rails.root, '') } # # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:60 def add_filter(&block); end # Adds a silencer from the block provided. If the silencer returns +true+ # for a given line, it will be excluded from the clean backtrace. # # # Will reject all lines that include the word "puma", like "/gems/puma/server.rb" or "/app/my_puma_server/rb" # backtrace_cleaner.add_silencer { |line| /puma/.match?(line) } # # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:69 def add_silencer(&block); end # Returns the backtrace after all filters and silencers have been run # against it. Filters run first, then silencers. # # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:41 def clean(backtrace, kind = T.unsafe(nil)); end # Returns the backtrace after all filters and silencers have been run # against it. Filters run first, then silencers. # # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:41 def filter(backtrace, kind = T.unsafe(nil)); end # Removes all filters, but leaves in the silencers. Useful if you suddenly # need to see entire filepaths in the backtrace that you had already # filtered out. # # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:83 def remove_filters!; end # Removes all silencers, but leaves in the filters. Useful if your # context of debugging suddenly expands as you suspect a bug in one of # the libraries you use. # # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:76 def remove_silencers!; end private # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:90 def add_gem_filter; end # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:99 def add_gem_silencer; end # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:103 def add_stdlib_silencer; end # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:107 def filter_backtrace(backtrace); end # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:123 def noise(backtrace); end # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:115 def silence(backtrace); end end # source://activesupport-7.0.3.1/lib/active_support/backtrace_cleaner.rb:88 ActiveSupport::BacktraceCleaner::FORMATTED_GEMS_PATTERN = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/benchmarkable.rb:7 module ActiveSupport::Benchmarkable # Allows you to measure the execution time of a block in a template and # records the result to the log. Wrap this block around expensive operations # or possible bottlenecks to get a time reading for the operation. For # example, let's say you thought your file processing method was taking too # long; you could wrap it in a benchmark block. # # <% benchmark 'Process data files' do %> # <%= expensive_files_operation %> # <% end %> # # That would add something like "Process data files (345.2ms)" to the log, # which you can then use to compare timings when optimizing your code. # # You may give an optional logger level (:debug, :info, # :warn, :error) as the :level option. The # default logger level value is :info. # # <% benchmark 'Low-level files', level: :debug do %> # <%= lowlevel_files_operation %> # <% end %> # # Finally, you can pass true as the third argument to silence all log # activity (other than the timing information) from inside the block. This # is great for boiling down a noisy block to just a single statement that # produces one log line: # # <% benchmark 'Process data files', level: :info, silence: true do %> # <%= expensive_and_chatty_files_operation %> # <% end %> # # source://activesupport-7.0.3.1/lib/active_support/benchmarkable.rb:37 def benchmark(message = T.unsafe(nil), options = T.unsafe(nil), &block); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/big_decimal/conversions.rb:7 module ActiveSupport::BigDecimalWithDefaultFormat # source://activesupport-7.0.3.1/lib/active_support/core_ext/big_decimal/conversions.rb:8 def to_s(format = T.unsafe(nil)); end end # See ActiveSupport::Cache::Store for documentation. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:16 module ActiveSupport::Cache class << self # Expands out the +key+ argument into a key that can be used for the # cache store. Optionally accepts a namespace, and all keys will be # scoped within that namespace. # # If the +key+ argument provided is an array, or responds to +to_a+, then # each of elements in the array will be turned into parameters/keys and # concatenated into a single key. For example: # # ActiveSupport::Cache.expand_cache_key([:foo, :bar]) # => "foo/bar" # ActiveSupport::Cache.expand_cache_key([:foo, :bar], "namespace") # => "namespace/foo/bar" # # The +key+ argument can also respond to +cache_key+ or +to_param+. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:100 def expand_cache_key(key, namespace = T.unsafe(nil)); end # Returns the value of attribute format_version. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:41 def format_version; end # Sets the attribute format_version # # @param value the value to set the attribute format_version to. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:41 def format_version=(_arg0); end # Creates a new Store object according to the given options. # # If no arguments are passed to this method, then a new # ActiveSupport::Cache::MemoryStore object will be returned. # # If you pass a Symbol as the first argument, then a corresponding cache # store class under the ActiveSupport::Cache namespace will be created. # For example: # # ActiveSupport::Cache.lookup_store(:memory_store) # # => returns a new ActiveSupport::Cache::MemoryStore object # # ActiveSupport::Cache.lookup_store(:mem_cache_store) # # => returns a new ActiveSupport::Cache::MemCacheStore object # # Any additional arguments will be passed to the corresponding cache store # class's constructor: # # ActiveSupport::Cache.lookup_store(:file_store, '/tmp/cache') # # => same as: ActiveSupport::Cache::FileStore.new('/tmp/cache') # # If the first argument is not a Symbol, then it will simply be returned: # # ActiveSupport::Cache.lookup_store(MyOwnCacheStore.new) # # => returns MyOwnCacheStore.new # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:68 def lookup_store(store = T.unsafe(nil), *parameters); end private # source://activesupport-7.0.3.1/lib/active_support/cache.rb:112 def retrieve_cache_key(key); end # Obtains the specified cache store class, given the name of the +store+. # Raises an error when the store class cannot be found. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:124 def retrieve_store_class(store); end end end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:828 module ActiveSupport::Cache::Coders class << self # source://activesupport-7.0.3.1/lib/active_support/cache.rb:834 def [](version); end end end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:846 module ActiveSupport::Cache::Coders::Loader extend ::ActiveSupport::Cache::Coders::Loader # source://activesupport-7.0.3.1/lib/active_support/cache.rb:849 def load(payload); end end # The one set by Marshal. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:829 ActiveSupport::Cache::Coders::MARK_61 = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/cache.rb:831 ActiveSupport::Cache::Coders::MARK_70_COMPRESSED = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/cache.rb:830 ActiveSupport::Cache::Coders::MARK_70_UNCOMPRESSED = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/cache.rb:869 module ActiveSupport::Cache::Coders::Rails61Coder include ::ActiveSupport::Cache::Coders::Loader extend ::ActiveSupport::Cache::Coders::Loader extend ::ActiveSupport::Cache::Coders::Rails61Coder # source://activesupport-7.0.3.1/lib/active_support/cache.rb:873 def dump(entry); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:877 def dump_compressed(entry, threshold); end end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:882 module ActiveSupport::Cache::Coders::Rails70Coder include ::ActiveSupport::Cache::Coders::Loader extend ::ActiveSupport::Cache::Coders::Loader extend ::ActiveSupport::Cache::Coders::Rails70Coder # source://activesupport-7.0.3.1/lib/active_support/cache.rb:886 def dump(entry); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:890 def dump_compressed(entry, threshold); end end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:27 ActiveSupport::Cache::DEFAULT_COMPRESS_LIMIT = T.let(T.unsafe(nil), Integer) # This class is used to represent cache entries. Cache entries have a value, an optional # expiration time, and an optional version. The expiration time is used to support the :race_condition_ttl option # on the cache. The version is used to support the :version option on the cache for rejecting # mismatches. # # Since cache entries in most instances will be serialized, the internals of this class are highly optimized # using short instance variable names that are lazily defined. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:911 class ActiveSupport::Cache::Entry # Creates a new cache entry for the specified value. Options supported are # +:compressed+, +:version+, +:expires_at+ and +:expires_in+. # # @return [Entry] a new instance of Entry # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:922 def initialize(value, compressed: T.unsafe(nil), version: T.unsafe(nil), expires_in: T.unsafe(nil), expires_at: T.unsafe(nil), **_arg5); end # Returns the size of the cached value. This could be less than # value.bytesize if the data is compressed. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:958 def bytesize; end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:973 def compressed(compress_threshold); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:969 def compressed?; end # Duplicates the value in a class. This is used by cache implementations that don't natively # serialize entries to protect against accidental cache modifications. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:1003 def dup_value!; end # Checks if the entry is expired. The +expires_in+ parameter can override # the value set when the entry was created. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:940 def expired?; end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:944 def expires_at; end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:948 def expires_at=(value); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:997 def local?; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:934 def mismatched?(version); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:1013 def pack; end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:930 def value; end # Returns the value of attribute version. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:918 def version; end private # source://activesupport-7.0.3.1/lib/active_support/cache.rb:1020 def uncompress(value); end class << self # source://activesupport-7.0.3.1/lib/active_support/cache.rb:913 def unpack(members); end end end # A cache store implementation which stores everything on the filesystem. # # FileStore implements the Strategy::LocalCache strategy which implements # an in-memory cache inside of a block. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:13 class ActiveSupport::Cache::FileStore < ::ActiveSupport::Cache::Store # @return [FileStore] a new instance of FileStore # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:21 def initialize(cache_path, **options); end # Returns the value of attribute cache_path. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:14 def cache_path; end # Preemptively iterates through all stored keys and removes the ones which have expired. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:41 def cleanup(options = T.unsafe(nil)); end # Deletes all items from the cache. In this case it deletes all the entries in the specified # file store directory except for .keep or .gitkeep. Be careful which directory is specified in your # config file when using +FileStore+ because everything in that directory will be deleted. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:34 def clear(options = T.unsafe(nil)); end # Decrements an already existing integer value that is stored in the cache. # If the key is not found nothing is done. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:57 def decrement(name, amount = T.unsafe(nil), options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:61 def delete_matched(matcher, options = T.unsafe(nil)); end # Increments an already existing integer value that is stored in the cache. # If the key is not found nothing is done. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:51 def increment(name, amount = T.unsafe(nil), options = T.unsafe(nil)); end private # Delete empty directories in the cache. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:160 def delete_empty_directories(dir); end # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:98 def delete_entry(key, **options); end # Make sure a file path's directories exist. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:169 def ensure_cache_path(path); end # Translate a file path into a key. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:154 def file_path_key(path); end # Lock a file for a block so only one process can modify it at a time. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:113 def lock_file(file_name, &block); end # Modifies the amount of an already existing integer value that is stored in the cache. # If the key is not found nothing is done. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:187 def modify_value(name, amount, options); end # Translate a key into a file path. # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:127 def normalize_key(key, options); end # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:73 def read_entry(key, **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:80 def read_serialized_entry(key, **_arg1); end # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:173 def search_dir(dir, &callback); end # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:87 def write_entry(key, entry, **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:91 def write_serialized_entry(key, payload, **options); end class << self # Advertise cache versioning support. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:27 def supports_cache_versioning?; end end end # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:16 ActiveSupport::Cache::FileStore::DIR_FORMATTER = T.let(T.unsafe(nil), String) # max filename size on file system is 255, minus room for timestamp, pid, and random characters appended by Tempfile (used by atomic write) # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:17 ActiveSupport::Cache::FileStore::FILENAME_MAX_SIZE = T.let(T.unsafe(nil), Integer) # max is 1024, plus some room # # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:18 ActiveSupport::Cache::FileStore::FILEPATH_MAX_SIZE = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/cache/file_store.rb:19 ActiveSupport::Cache::FileStore::GITKEEP_FILES = T.let(T.unsafe(nil), Array) # A cache store implementation which stores everything into memory in the # same process. If you're running multiple Ruby on Rails server processes # (which is the case if you're using Phusion Passenger or puma clustered mode), # then this means that Rails server process instances won't be able # to share cache data with each other and this may not be the most # appropriate cache in that scenario. # # This cache has a bounded size specified by the +:size+ options to the # initializer (default is 32Mb). When the cache exceeds the allotted size, # a cleanup will occur which tries to prune the cache down to three quarters # of the maximum size by removing the least recently used entries. # # Unlike other Cache store implementations, MemoryStore does not compress # values by default. MemoryStore does not benefit from compression as much # as other Store implementations, as it does not send data over a network. # However, when compression is enabled, it still pays the full cost of # compression in terms of cpu use. # # MemoryStore is thread-safe. # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:26 class ActiveSupport::Cache::MemoryStore < ::ActiveSupport::Cache::Store # @return [MemoryStore] a new instance of MemoryStore # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:48 def initialize(options = T.unsafe(nil)); end # Preemptively iterates through all stored keys and removes the ones which have expired. # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:75 def cleanup(options = T.unsafe(nil)); end # Delete all data stored in a given cache store. # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:67 def clear(options = T.unsafe(nil)); end # Decrement an integer value in the cache. # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:117 def decrement(name, amount = T.unsafe(nil), options = T.unsafe(nil)); end # Deletes cache entries if the cache key matches a given pattern. # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:122 def delete_matched(matcher, options = T.unsafe(nil)); end # Increment an integer value in the cache. # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:112 def increment(name, amount = T.unsafe(nil), options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:133 def inspect; end # To ensure entries fit within the specified memory prune the cache by removing the least # recently accessed entries. # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:88 def prune(target_size, max_time = T.unsafe(nil)); end # Returns true if the cache is currently being pruned. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:107 def pruning?; end # Synchronize calls to the cache. This should be called wherever the underlying cache implementation # is not thread safe. # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:139 def synchronize(&block); end private # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:150 def cached_size(key, payload); end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:146 def default_coder; end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:183 def delete_entry(key, **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:191 def modify_value(name, amount, options); end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:154 def read_entry(key, **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:166 def write_entry(key, entry, **options); end class << self # Advertise cache versioning support. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:62 def supports_cache_versioning?; end end end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:27 module ActiveSupport::Cache::MemoryStore::DupCoder extend ::ActiveSupport::Cache::MemoryStore::DupCoder # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:30 def dump(entry); end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:35 def dump_compressed(entry, threshold); end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:41 def load(entry); end end # source://activesupport-7.0.3.1/lib/active_support/cache/memory_store.rb:144 ActiveSupport::Cache::MemoryStore::PER_ENTRY_OVERHEAD = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/cache.rb:812 module ActiveSupport::Cache::NullCoder extend ::ActiveSupport::Cache::NullCoder # source://activesupport-7.0.3.1/lib/active_support/cache.rb:815 def dump(entry); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:819 def dump_compressed(entry, threshold); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:823 def load(payload); end end # A cache store implementation which doesn't actually store anything. Useful in # development and test environments where you don't want caching turned on but # need to go through the caching interface. # # This cache does implement the local cache strategy, so values will actually # be cached inside blocks that utilize this strategy. See # ActiveSupport::Cache::Strategy::LocalCache for more details. # # source://activesupport-7.0.3.1/lib/active_support/cache/null_store.rb:12 class ActiveSupport::Cache::NullStore < ::ActiveSupport::Cache::Store include ::ActiveSupport::Cache::Strategy::LocalCache # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:81 def cleanup(**options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:75 def clear(**options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:100 def decrement(name, amount = T.unsafe(nil), **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:87 def delete_matched(matcher, options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:93 def increment(name, amount = T.unsafe(nil), **options); end private # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:147 def delete_entry(key, **_arg1); end # source://activesupport-7.0.3.1/lib/active_support/cache/null_store.rb:36 def read_entry(key, **s); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:108 def read_serialized_entry(key, raw: T.unsafe(nil), **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/null_store.rb:43 def write_entry(key, entry, **_arg2); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:138 def write_serialized_entry(key, payload, **_arg2); end class << self # Advertise cache versioning support. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache/null_store.rb:16 def supports_cache_versioning?; end end end # Mapping of canonical option names to aliases that a store will recognize. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:30 ActiveSupport::Cache::OPTION_ALIASES = T.let(T.unsafe(nil), Hash) # An abstract cache store class. There are multiple cache store # implementations, each having its own additional features. See the classes # under the ActiveSupport::Cache module, e.g. # ActiveSupport::Cache::MemCacheStore. MemCacheStore is currently the most # popular cache store for large production websites. # # Some implementations may not support all methods beyond the basic cache # methods of +fetch+, +write+, +read+, +exist?+, and +delete+. # # ActiveSupport::Cache::Store can store any Ruby object that is supported by # its +coder+'s +dump+ and +load+ methods. # # cache = ActiveSupport::Cache::MemoryStore.new # # cache.read('city') # => nil # cache.write('city', "Duckburgh") # cache.read('city') # => "Duckburgh" # # cache.write('not serializable', Proc.new {}) # => TypeError # # Keys are always translated into Strings and are case sensitive. When an # object is specified as a key and has a +cache_key+ method defined, this # method will be called to define the key. Otherwise, the +to_param+ # method will be called. Hashes and Arrays can also be used as keys. The # elements will be delimited by slashes, and the elements within a Hash # will be sorted by key so they are consistent. # # cache.read('city') == cache.read(:city) # => true # # Nil values can be cached. # # If your cache is on a shared infrastructure, you can define a namespace # for your cache entries. If a namespace is defined, it will be prefixed on # to every key. The namespace can be either a static value or a Proc. If it # is a Proc, it will be invoked when each key is evaluated so that you can # use application logic to invalidate keys. # # cache.namespace = -> { @last_mod_time } # Set the namespace to a variable # @last_mod_time = Time.now # Invalidate the entire cache by changing namespace # # Cached data larger than 1kB are compressed by default. To turn off # compression, pass compress: false to the initializer or to # individual +fetch+ or +write+ method calls. The 1kB compression # threshold is configurable with the :compress_threshold option, # specified in bytes. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:180 class ActiveSupport::Cache::Store # Creates a new cache. The options will be passed to any write method calls # except for :namespace which can be used to set the global # namespace for the cache. # # @return [Store] a new instance of Store # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:206 def initialize(options = T.unsafe(nil)); end # Cleanups the cache by removing expired entries. # # Options are passed to the underlying cache implementation. # # Some implementations may not support this method. # # @raise [NotImplementedError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:577 def cleanup(options = T.unsafe(nil)); end # Clears the entire cache. Be careful with this method since it could # affect other processes if shared cache is being used. # # The options hash is passed to the underlying cache implementation. # # Some implementations may not support this method. # # @raise [NotImplementedError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:587 def clear(options = T.unsafe(nil)); end # Decrements an integer value in the cache. # # Options are passed to the underlying cache implementation. # # Some implementations may not support this method. # # @raise [NotImplementedError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:568 def decrement(name, amount = T.unsafe(nil), options = T.unsafe(nil)); end # Deletes an entry in the cache. Returns +true+ if an entry is deleted. # # Options are passed to the underlying cache implementation. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:509 def delete(name, options = T.unsafe(nil)); end # Deletes all entries with keys matching the pattern. # # Options are passed to the underlying cache implementation. # # Some implementations may not support this method. # # @raise [NotImplementedError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:550 def delete_matched(matcher, options = T.unsafe(nil)); end # Deletes multiple entries in the cache. # # Options are passed to the underlying cache implementation. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:520 def delete_multi(names, options = T.unsafe(nil)); end # Returns +true+ if the cache contains an entry for the given key. # # Options are passed to the underlying cache implementation. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:532 def exist?(name, options = T.unsafe(nil)); end # Fetches data from the cache, using the given key. If there is data in # the cache with the given key, then that data is returned. # # If there is no such data in the cache (a cache miss), then +nil+ will be # returned. However, if a block has been passed, that block will be passed # the key and executed in the event of a cache miss. The return value of the # block will be written to the cache under the given cache key, and that # return value will be returned. # # cache.write('today', 'Monday') # cache.fetch('today') # => "Monday" # # cache.fetch('city') # => nil # cache.fetch('city') do # 'Duckburgh' # end # cache.fetch('city') # => "Duckburgh" # # You may also specify additional options via the +options+ argument. # Setting force: true forces a cache "miss," meaning we treat # the cache value as missing even if it's present. Passing a block is # required when +force+ is true so this always results in a cache write. # # cache.write('today', 'Monday') # cache.fetch('today', force: true) { 'Tuesday' } # => 'Tuesday' # cache.fetch('today', force: true) # => ArgumentError # # The +:force+ option is useful when you're calling some other method to # ask whether you should force a cache write. Otherwise, it's clearer to # just call Cache#write. # # Setting skip_nil: true will not cache nil result: # # cache.fetch('foo') { nil } # cache.fetch('bar', skip_nil: true) { nil } # cache.exist?('foo') # => true # cache.exist?('bar') # => false # # # Setting compress: false disables compression of the cache entry. # # Setting :expires_in will set an expiration time on the cache. # All caches support auto-expiring content after a specified number of # seconds. This value can be specified as an option to the constructor # (in which case all entries will be affected), or it can be supplied to # the +fetch+ or +write+ method to affect just one entry. # :expire_in and :expired_in are aliases for # :expires_in. # # cache = ActiveSupport::Cache::MemoryStore.new(expires_in: 5.minutes) # cache.write(key, value, expires_in: 1.minute) # Set a lower value for one entry # # Setting :expires_at will set an absolute expiration time on the cache. # All caches support auto-expiring content after a specified number of # seconds. This value can only be supplied to the +fetch+ or +write+ method to # affect just one entry. # # cache = ActiveSupport::Cache::MemoryStore.new # cache.write(key, value, expires_at: Time.now.at_end_of_hour) # # Setting :version verifies the cache stored under name # is of the same version. nil is returned on mismatches despite contents. # This feature is used to support recyclable cache keys. # # Setting :race_condition_ttl is very useful in situations where # a cache entry is used very frequently and is under heavy load. If a # cache expires and due to heavy load several different processes will try # to read data natively and then they all will try to write to cache. To # avoid that case the first process to find an expired cache entry will # bump the cache expiration time by the value set in :race_condition_ttl. # Yes, this process is extending the time for a stale value by another few # seconds. Because of extended life of the previous cache, other processes # will continue to use slightly stale data for a just a bit longer. In the # meantime that first process will go ahead and will write into cache the # new value. After that all the processes will start getting the new value. # The key is to keep :race_condition_ttl small. # # If the process regenerating the entry errors out, the entry will be # regenerated after the specified number of seconds. Also note that the # life of stale cache is extended only if it expired recently. Otherwise # a new value is generated and :race_condition_ttl does not play # any role. # # # Set all values to expire after one minute. # cache = ActiveSupport::Cache::MemoryStore.new(expires_in: 1.minute) # # cache.write('foo', 'original value') # val_1 = nil # val_2 = nil # sleep 60 # # Thread.new do # val_1 = cache.fetch('foo', race_condition_ttl: 10.seconds) do # sleep 1 # 'new value 1' # end # end # # Thread.new do # val_2 = cache.fetch('foo', race_condition_ttl: 10.seconds) do # 'new value 2' # end # end # # cache.fetch('foo') # => "original value" # sleep 10 # First thread extended the life of cache by another 10 seconds # cache.fetch('foo') # => "new value 1" # val_1 # => "new value 1" # val_2 # => "original value" # # Other options will be handled by the specific cache store implementation. # Internally, #fetch calls #read_entry, and calls #write_entry on a cache # miss. +options+ will be passed to the #read and #write calls. # # For example, MemCacheStore's #write method supports the +:raw+ # option, which tells the memcached server to store all values as strings. # We can use this option with #fetch too: # # cache = ActiveSupport::Cache::MemCacheStore.new # cache.fetch("foo", force: true, raw: true) do # :bar # end # cache.fetch('foo') # => "bar" # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:352 def fetch(name, options = T.unsafe(nil), &block); end # Fetches data from the cache, using the given keys. If there is data in # the cache with the given keys, then that data is returned. Otherwise, # the supplied block is called for each key for which there was no data, # and the result will be written to the cache and returned. # Therefore, you need to pass a block that returns the data to be written # to the cache. If you do not want to write the cache when the cache is # not found, use #read_multi. # # Returns a hash with the data for each of the names. For example: # # cache.write("bim", "bam") # cache.fetch_multi("bim", "unknown_key") do |key| # "Fallback value for key: #{key}" # end # # => { "bim" => "bam", # # "unknown_key" => "Fallback value for key: unknown_key" } # # Options are passed to the underlying cache implementation. For example: # # cache.fetch_multi("fizz", expires_in: 5.seconds) do |key| # "buzz" # end # # => {"fizz"=>"buzz"} # cache.read("fizz") # # => "buzz" # sleep(6) # cache.read("fizz") # # => nil # # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:472 def fetch_multi(*names); end # Increments an integer value in the cache. # # Options are passed to the underlying cache implementation. # # Some implementations may not support this method. # # @raise [NotImplementedError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:559 def increment(name, amount = T.unsafe(nil), options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:181 def logger; end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:181 def logger=(val); end # Silences the logger within a block. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:222 def mute; end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:541 def new_entry(value, options = T.unsafe(nil)); end # Returns the value of attribute options. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:183 def options; end # Reads data from the cache, using the given key. If there is data in # the cache with the given key, then that data is returned. Otherwise, # +nil+ is returned. # # Note, if data was written with the :expires_in or # :version options, both of these conditions are applied before # the data is returned. # # Options are passed to the underlying cache implementation. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:387 def read(name, options = T.unsafe(nil)); end # Reads multiple values at once from the cache. Options can be passed # in the last argument. # # Some cache implementation may optimize this method. # # Returns a hash mapping the names provided to the values found. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:420 def read_multi(*names); end # Returns the value of attribute silence. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:183 def silence; end # Silences the logger. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:216 def silence!; end # Returns the value of attribute silence. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:183 def silence?; end # Writes the value to the cache, with the key. # # Options are passed to the underlying cache implementation. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:497 def write(name, value, options = T.unsafe(nil)); end # Cache Storage API to write multiple values at once. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:432 def write_multi(hash, options = T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/cache.rb:592 def default_coder; end # Deletes an entry from the cache implementation. Subclasses must # implement this method. # # @raise [NotImplementedError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:669 def delete_entry(key, **options); end # Deletes multiples entries in the cache implementation. Subclasses MAY # implement this method. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:675 def delete_multi_entries(entries, **options); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:636 def deserialize_entry(payload); end # Expands key to be a consistent string value. Invokes +cache_key+ if # object responds to +cache_key+. Otherwise, +to_param+ method will be # called. If the key is a Hash, then keys will be sorted alphabetically. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:742 def expanded_key(key); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:763 def expanded_version(key); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:797 def get_entry_value(entry, name, options); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:781 def handle_expired_entry(entry, key, options); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:771 def instrument(operation, key, options = T.unsafe(nil)); end # Adds the namespace defined in the options to a pattern designed to # match keys. Implementations that support delete_matched should call # this method to translate a pattern that matches names into one that # matches namespaced keys. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:600 def key_matcher(pattern, options); end # Merges the default options with ones specific to a method call. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:680 def merged_options(call_options); end # Prefix the key with a namespace string: # # namespace_key 'foo', namespace: 'cache' # # => 'cache:foo' # # With a namespace block: # # namespace_key 'foo', namespace: -> { 'cache' } # # => 'cache:foo' # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:720 def namespace_key(key, options = T.unsafe(nil)); end # Expands and namespaces the cache key. May be overridden by # cache stores to do additional normalization. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:707 def normalize_key(key, options = T.unsafe(nil)); end # Normalize aliased options to their canonical form # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:694 def normalize_options(options); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:759 def normalize_version(key, options = T.unsafe(nil)); end # Reads an entry from the cache implementation. Subclasses must implement # this method. # # @raise [NotImplementedError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:617 def read_entry(key, **options); end # Reads multiple entries from the cache implementation. Subclasses MAY # implement this method. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:642 def read_multi_entries(names, **options); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:802 def save_block_result_to_cache(name, options); end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:627 def serialize_entry(entry, **options); end # Writes an entry to the cache implementation. Subclasses must implement # this method. # # @raise [NotImplementedError] # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:623 def write_entry(key, entry, **options); end # Writes multiple entries to the cache implementation. Subclasses MAY # implement this method. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:661 def write_multi_entries(hash, **options); end class << self # source://activesupport-7.0.3.1/lib/active_support/cache.rb:181 def logger; end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:181 def logger=(val); end private # source://activesupport-7.0.3.1/lib/active_support/cache.rb:195 def ensure_connection_pool_added!; end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:188 def retrieve_pool_options(options); end end end # source://activesupport-7.0.3.1/lib/active_support/cache.rb:34 module ActiveSupport::Cache::Strategy; end # Caches that implement LocalCache will be backed by an in-memory cache for the # duration of a block. Repeated calls to the cache for the same key will hit the # in-memory cache for faster access. # # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:11 module ActiveSupport::Cache::Strategy::LocalCache # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:81 def cleanup(**options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:75 def clear(**options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:100 def decrement(name, amount = T.unsafe(nil), **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:87 def delete_matched(matcher, options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:93 def increment(name, amount = T.unsafe(nil), **options); end # Middleware class can be inserted as a Rack handler to be local cache for the # duration of request. # # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:69 def middleware; end # Use a local cache for the duration of block. # # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:63 def with_local_cache(&block); end private # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:170 def bypass_local_cache(&block); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:147 def delete_entry(key, **_arg1); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:166 def local_cache; end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:162 def local_cache_key; end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:122 def read_multi_entries(keys, **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:108 def read_serialized_entry(key, raw: T.unsafe(nil), **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:174 def use_temporary_local_cache(temporary_cache); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:152 def write_cache_value(name, value, **options); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:138 def write_serialized_entry(key, payload, **_arg2); end end # Class for storing and registering the local caches. # # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:15 module ActiveSupport::Cache::Strategy::LocalCache::LocalCacheRegistry extend ::ActiveSupport::Cache::Strategy::LocalCache::LocalCacheRegistry # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:18 def cache_for(local_cache_key); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:23 def set_cache_for(local_cache_key, value); end end # Simple memory backed cache. This cache is not thread safe and is intended only # for serving as a temporary memory cache for a single thread. # # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:31 class ActiveSupport::Cache::Strategy::LocalCache::LocalStore # @return [LocalStore] a new instance of LocalStore # # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:32 def initialize; end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:36 def clear(options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:53 def delete_entry(key); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:57 def fetch_entry(key); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:40 def read_entry(key); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:44 def read_multi_entries(keys); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache.rb:48 def write_entry(key, entry); end end # -- # This class wraps up local storage for middlewares. Only the middleware method should # construct them. # # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache_middleware.rb:13 class ActiveSupport::Cache::Strategy::LocalCache::Middleware # @return [Middleware] a new instance of Middleware # # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache_middleware.rb:16 def initialize(name, local_cache_key); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache_middleware.rb:27 def call(env); end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache_middleware.rb:14 def local_cache_key; end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache_middleware.rb:14 def name; end # source://activesupport-7.0.3.1/lib/active_support/cache/strategy/local_cache_middleware.rb:22 def new(app); end end # These options mean something to all cache implementations. Individual cache # implementations may support additional options. # # source://activesupport-7.0.3.1/lib/active_support/cache.rb:25 ActiveSupport::Cache::UNIVERSAL_OPTIONS = T.let(T.unsafe(nil), Array) # CachingKeyGenerator is a wrapper around KeyGenerator which allows users to avoid # re-executing the key generation process when it's called using the same +salt+ and # +key_size+. # # source://activesupport-7.0.3.1/lib/active_support/key_generator.rb:47 class ActiveSupport::CachingKeyGenerator # @return [CachingKeyGenerator] a new instance of CachingKeyGenerator # # source://activesupport-7.0.3.1/lib/active_support/key_generator.rb:48 def initialize(key_generator); end # Returns a derived key suitable for use. # # source://activesupport-7.0.3.1/lib/active_support/key_generator.rb:54 def generate_key(*args); end end # Callbacks are code hooks that are run at key points in an object's life cycle. # The typical use case is to have a base class define a set of callbacks # relevant to the other functionality it supplies, so that subclasses can # install callbacks that enhance or modify the base functionality without # needing to override or redefine methods of the base class. # # Mixing in this module allows you to define the events in the object's # life cycle that will support callbacks (via ClassMethods#define_callbacks), # set the instance methods, procs, or callback objects to be called (via # ClassMethods#set_callback), and run the installed callbacks at the # appropriate times (via +run_callbacks+). # # By default callbacks are halted by throwing +:abort+. # See ClassMethods#define_callbacks for details. # # Three kinds of callbacks are supported: before callbacks, run before a # certain event; after callbacks, run after the event; and around callbacks, # blocks that surround the event, triggering it when they yield. Callback code # can be contained in instance methods, procs or lambdas, or callback objects # that respond to certain predetermined methods. See ClassMethods#set_callback # for details. # # class Record # include ActiveSupport::Callbacks # define_callbacks :save # # def save # run_callbacks :save do # puts "- save" # end # end # end # # class PersonRecord < Record # set_callback :save, :before, :saving_message # def saving_message # puts "saving..." # end # # set_callback :save, :after do |object| # puts "saved" # end # end # # person = PersonRecord.new # person.save # # Output: # saving... # - save # saved # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:63 module ActiveSupport::Callbacks extend ::ActiveSupport::Concern include GeneratedInstanceMethods mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::ActiveSupport::Callbacks::ClassMethods mixes_in_class_methods ::ActiveSupport::DescendantsTracker # Runs the callbacks for the given event. # # Calls the before and around callbacks in the order they were set, yields # the block (if given one), and then runs the after callbacks in reverse # order. # # If the callback chain was halted, returns +false+. Otherwise returns the # result of the block, +nil+ if no callbacks have been set, or +true+ # if callbacks have been set but no block is given. # # run_callbacks :save do # save # end # # -- # # As this method is used in many places, and often wraps large portions of # user code, it has an additional design goal of minimizing its impact on # the visible call stack. An exception from inside a :before or :after # callback can be as noisy as it likes -- but when control has passed # smoothly through and into the supplied block, we want as little evidence # as possible that we were here. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:95 def run_callbacks(kind); end private # A hook invoked every time a before callback is halted. # This can be overridden in ActiveSupport::Callbacks implementors in order # to provide better debugging/logging. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:147 def halted_callback_hook(filter, name); end module GeneratedClassMethods def __callbacks; end def __callbacks=(value); end def __callbacks?; end end module GeneratedInstanceMethods def __callbacks; end def __callbacks?; end end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:71 ActiveSupport::Callbacks::CALLBACK_FILTER_TYPES = T.let(T.unsafe(nil), Array) # A future invocation of user-supplied code (either as a callback, # or a condition filter). # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:375 module ActiveSupport::Callbacks::CallTemplate class << self # Filters support: # # Symbols:: A method to call. # Procs:: A proc to call with the object. # Objects:: An object with a before_foo method on it to call. # # All of these objects are converted into a CallTemplate and handled # the same after this point. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:533 def build(filter, callback); end end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:434 class ActiveSupport::Callbacks::CallTemplate::InstanceExec0 # @return [InstanceExec0] a new instance of InstanceExec0 # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:435 def initialize(block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:439 def expand(target, value, block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:449 def inverted_lambda; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:443 def make_lambda; end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:456 class ActiveSupport::Callbacks::CallTemplate::InstanceExec1 # @return [InstanceExec1] a new instance of InstanceExec1 # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:457 def initialize(block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:461 def expand(target, value, block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:471 def inverted_lambda; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:465 def make_lambda; end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:478 class ActiveSupport::Callbacks::CallTemplate::InstanceExec2 # @return [InstanceExec2] a new instance of InstanceExec2 # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:479 def initialize(block); end # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:483 def expand(target, value, block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:495 def inverted_lambda; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:488 def make_lambda; end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:376 class ActiveSupport::Callbacks::CallTemplate::MethodCall # @return [MethodCall] a new instance of MethodCall # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:377 def initialize(method); end # Return the parts needed to make this call, with the given # input values. # # Returns an array of the form: # # [target, block, method, *arguments] # # This array can be used as such: # # target.send(method, *arguments, &block) # # The actual invocation is left up to the caller to minimize # call stack pollution. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:394 def expand(target, value, block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:404 def inverted_lambda; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:398 def make_lambda; end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:411 class ActiveSupport::Callbacks::CallTemplate::ObjectCall # @return [ObjectCall] a new instance of ObjectCall # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:412 def initialize(target, method); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:417 def expand(target, value, block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:427 def inverted_lambda; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:421 def make_lambda; end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:503 class ActiveSupport::Callbacks::CallTemplate::ProcCall # @return [ProcCall] a new instance of ProcCall # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:504 def initialize(target); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:508 def expand(target, value, block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:518 def inverted_lambda; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:512 def make_lambda; end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:280 class ActiveSupport::Callbacks::Callback # @return [Callback] a new instance of Callback # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:295 def initialize(name, filter, kind, options, chain_config); end # Wraps code with filter # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:330 def apply(callback_sequence); end # Returns the value of attribute chain_config. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:293 def chain_config; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:344 def current_scopes; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:320 def duplicates?(other); end # Returns the value of attribute filter. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:293 def filter; end # Returns the value of attribute kind. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:292 def kind; end # Sets the attribute kind # # @param value the value to set the attribute kind to. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:292 def kind=(_arg0); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:316 def matches?(_kind, _filter); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:304 def merge_conditional_options(chain, if_option:, unless_option:); end # Returns the value of attribute name. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:292 def name; end # Sets the attribute name # # @param value the value to set the attribute name to. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:292 def name=(_arg0); end private # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:352 def check_conditionals(conditionals); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:367 def conditions_lambdas; end class << self # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:281 def build(chain, filter, kind, options); end end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:349 ActiveSupport::Callbacks::Callback::EMPTY_ARRAY = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:603 class ActiveSupport::Callbacks::CallbackChain include ::Enumerable # @return [CallbackChain] a new instance of CallbackChain # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:608 def initialize(name, config); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:654 def append(*callbacks); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:633 def clear; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:645 def compile; end # Returns the value of attribute config. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:606 def config; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:628 def delete(o); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:619 def each(&block); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:621 def empty?; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:620 def index(o); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:623 def insert(index, o); end # Returns the value of attribute name. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:606 def name; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:658 def prepend(*callbacks); end protected # Returns the value of attribute chain. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:663 def chain; end private # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:666 def append_one(callback); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:683 def default_terminator; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:639 def initialize_copy(other); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:672 def prepend_one(callback); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:678 def remove_duplicates(callback); end end # Execute before and after filters in a sequence instead of # chaining them with nested lambda calls, see: # https://github.com/rails/rails/issues/18011 # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:556 class ActiveSupport::Callbacks::CallbackSequence # @return [CallbackSequence] a new instance of CallbackSequence # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:557 def initialize(nested = T.unsafe(nil), call_template = T.unsafe(nil), user_conditions = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:571 def after(&after); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:576 def around(call_template, user_conditions); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:566 def before(&before); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:590 def expand_call_template(arg, block); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:586 def final?; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:598 def invoke_after(arg); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:594 def invoke_before(arg); end # Returns the value of attribute nested. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:584 def nested; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:580 def skip?(arg); end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:695 module ActiveSupport::Callbacks::ClassMethods # This is used internally to append, prepend and skip callbacks to the # CallbackChain. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:705 def __update_callbacks(name); end # Define sets of events in the object life cycle that support callbacks. # # define_callbacks :validate # define_callbacks :initialize, :save, :destroy # # ===== Options # # * :terminator - Determines when a before filter will halt the # callback chain, preventing following before and around callbacks from # being called and the event from being triggered. # This should be a lambda to be executed. # The current object and the result lambda of the callback will be provided # to the terminator lambda. # # define_callbacks :validate, terminator: ->(target, result_lambda) { result_lambda.call == false } # # In this example, if any before validate callbacks returns +false+, # any successive before and around callback is not executed. # # The default terminator halts the chain when a callback throws +:abort+. # # * :skip_after_callbacks_if_terminated - Determines if after # callbacks should be terminated by the :terminator option. By # default after callbacks are executed no matter if callback chain was # terminated or not. This option has no effect if :terminator # option is set to +nil+. # # * :scope - Indicates which methods should be executed when an # object is used as a callback. # # class Audit # def before(caller) # puts 'Audit: before is called' # end # # def before_save(caller) # puts 'Audit: before_save is called' # end # end # # class Account # include ActiveSupport::Callbacks # # define_callbacks :save # set_callback :save, :before, Audit.new # # def save # run_callbacks :save do # puts 'save in main' # end # end # end # # In the above case whenever you save an account the method # Audit#before will be called. On the other hand # # define_callbacks :save, scope: [:kind, :name] # # would trigger Audit#before_save instead. That's constructed # by calling #{kind}_#{name} on the given instance. In this # case "kind" is "before" and "name" is "save". In this context +:kind+ # and +:name+ have special meanings: +:kind+ refers to the kind of # callback (before/after/around) and +:name+ refers to the method on # which callbacks are being defined. # # A declaration like # # define_callbacks :save, scope: [:name] # # would call Audit#save. # # ===== Notes # # +names+ passed to +define_callbacks+ must not end with # !, ? or =. # # Calling +define_callbacks+ multiple times with the same +names+ will # overwrite previous callbacks registered with +set_callback+. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:917 def define_callbacks(*names); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:696 def normalize_callback_params(filters, block); end # Remove all set callbacks for the given event. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:827 def reset_callbacks(name); end # Install a callback for the given event. # # set_callback :save, :before, :before_method # set_callback :save, :after, :after_method, if: :condition # set_callback :save, :around, ->(r, block) { stuff; result = block.call; stuff } # # The second argument indicates whether the callback is to be run +:before+, # +:after+, or +:around+ the event. If omitted, +:before+ is assumed. This # means the first example above can also be written as: # # set_callback :save, :before_method # # The callback can be specified as a symbol naming an instance method; as a # proc, lambda, or block; or as an object that responds to a certain method # determined by the :scope argument to +define_callbacks+. # # If a proc, lambda, or block is given, its body is evaluated in the context # of the current object. It can also optionally accept the current object as # an argument. # # Before and around callbacks are called in the order that they are set; # after callbacks are called in the reverse order. # # Around callbacks can access the return value from the event, if it # wasn't halted, from the +yield+ call. # # ===== Options # # * :if - A symbol or an array of symbols, each naming an instance # method or a proc; the callback will be called only when they all return # a true value. # # If a proc is given, its body is evaluated in the context of the # current object. It can also optionally accept the current object as # an argument. # * :unless - A symbol or an array of symbols, each naming an # instance method or a proc; the callback will be called only when they # all return a false value. # # If a proc is given, its body is evaluated in the context of the # current object. It can also optionally accept the current object as # an argument. # * :prepend - If +true+, the callback will be prepended to the # existing chain rather than appended. # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:756 def set_callback(name, *filter_list, &block); end # Skip a previously set callback. Like +set_callback+, :if or # :unless options may be passed in order to control when the # callback is skipped. # # class Writer < PersonRecord # attr_accessor :age # skip_callback :save, :before, :saving_message, if: -> { age > 18 } # end # # When if option returns true, callback is skipped. # # writer = Writer.new # writer.age = 20 # writer.save # # Output: # - save # saved # # When if option returns false, callback is NOT skipped. # # young_writer = Writer.new # young_writer.age = 17 # young_writer.save # # Output: # saving... # - save # saved # # An ArgumentError will be raised if the callback has not # already been set (unless the :raise option is set to false). # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:802 def skip_callback(name, *filter_list, &block); end protected # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:948 def get_callbacks(name); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:952 def set_callbacks(name, callbacks); end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:150 module ActiveSupport::Callbacks::Conditionals; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:151 class ActiveSupport::Callbacks::Conditionals::Value # @return [Value] a new instance of Value # # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:152 def initialize(&block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:155 def call(target, value); end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:159 module ActiveSupport::Callbacks::Filters; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:212 class ActiveSupport::Callbacks::Filters::After class << self # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:213 def build(callback_sequence, user_callback, user_conditions, chain_config); end private # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:255 def conditional(callback_sequence, user_callback, user_conditions); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:244 def halting(callback_sequence, user_callback); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:229 def halting_and_conditional(callback_sequence, user_callback, user_conditions); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:269 def simple(callback_sequence, user_callback); end end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:162 class ActiveSupport::Callbacks::Filters::Before class << self # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:163 def build(callback_sequence, user_callback, user_conditions, chain_config, filter, name); end private # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:192 def halting(callback_sequence, user_callback, halted_lambda, filter, name); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:173 def halting_and_conditional(callback_sequence, user_callback, user_conditions, halted_lambda, filter, name); end end end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:160 class ActiveSupport::Callbacks::Filters::Environment < ::Struct # Returns the value of attribute halted # # @return [Object] the current value of halted def halted; end # Sets the attribute halted # # @param value [Object] the value to set the attribute halted to. # @return [Object] the newly set value def halted=(_); end # Returns the value of attribute target # # @return [Object] the current value of target def target; end # Sets the attribute target # # @param value [Object] the value to set the attribute target to. # @return [Object] the newly set value def target=(_); end # Returns the value of attribute value # # @return [Object] the current value of value def value; end # Sets the attribute value # # @param value [Object] the value to set the attribute value to. # @return [Object] the newly set value def value=(_); end class << self def [](*_arg0); end def inspect; end def keyword_init?; end def members; end def new(*_arg0); end end end # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:4 class ActiveSupport::CodeGenerator # @return [CodeGenerator] a new instance of CodeGenerator # # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:48 def initialize(owner, path, line); end # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:55 def define_cached_method(name, namespace:, as: T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:59 def execute; end class << self # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:36 def batch(owner, path, line); end end end # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:5 class ActiveSupport::CodeGenerator::MethodSet # @return [MethodSet] a new instance of MethodSet # # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:8 def initialize(namespace); end # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:25 def apply(owner, path, line); end # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:14 def define_cached_method(name, as: T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/code_generator.rb:6 ActiveSupport::CodeGenerator::MethodSet::METHOD_CACHES = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/compare_range.rb:4 module ActiveSupport::CompareWithRange # Extends the default Range#=== to support range comparisons. # (1..5) === (1..5) # => true # (1..5) === (2..3) # => true # (1..5) === (1...6) # => true # (1..5) === (2..6) # => false # # The native Range#=== behavior is untouched. # ('a'..'f') === ('c') # => true # (5..9) === (11) # => false # # The given range must be fully bounded, with both start and end. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/compare_range.rb:16 def ===(value); end # Extends the default Range#include? to support range comparisons. # (1..5).include?(1..5) # => true # (1..5).include?(2..3) # => true # (1..5).include?(1...6) # => true # (1..5).include?(2..6) # => false # # The native Range#include? behavior is untouched. # ('a'..'f').include?('c') # => true # (5..9).include?(11) # => false # # The given range must be fully bounded, with both start and end. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/compare_range.rb:41 def include?(value); end end # A typical module looks like this: # # module M # def self.included(base) # base.extend ClassMethods # base.class_eval do # scope :disabled, -> { where(disabled: true) } # end # end # # module ClassMethods # ... # end # end # # By using ActiveSupport::Concern the above module could instead be # written as: # # require "active_support/concern" # # module M # extend ActiveSupport::Concern # # included do # scope :disabled, -> { where(disabled: true) } # end # # class_methods do # ... # end # end # # Moreover, it gracefully handles module dependencies. Given a +Foo+ module # and a +Bar+ module which depends on the former, we would typically write the # following: # # module Foo # def self.included(base) # base.class_eval do # def self.method_injected_by_foo # ... # end # end # end # end # # module Bar # def self.included(base) # base.method_injected_by_foo # end # end # # class Host # include Foo # We need to include this dependency for Bar # include Bar # Bar is the module that Host really needs # end # # But why should +Host+ care about +Bar+'s dependencies, namely +Foo+? We # could try to hide these from +Host+ directly including +Foo+ in +Bar+: # # module Bar # include Foo # def self.included(base) # base.method_injected_by_foo # end # end # # class Host # include Bar # end # # Unfortunately this won't work, since when +Foo+ is included, its base # is the +Bar+ module, not the +Host+ class. With ActiveSupport::Concern, # module dependencies are properly resolved: # # require "active_support/concern" # # module Foo # extend ActiveSupport::Concern # included do # def self.method_injected_by_foo # ... # end # end # end # # module Bar # extend ActiveSupport::Concern # include Foo # # included do # self.method_injected_by_foo # end # end # # class Host # include Bar # It works, now Bar takes care of its dependencies # end # # === Prepending concerns # # Just like include, concerns also support prepend with a corresponding # prepended do callback. module ClassMethods or class_methods do are # prepended as well. # # prepend is also used for any dependencies. # # source://activesupport-7.0.3.1/lib/active_support/concern.rb:110 module ActiveSupport::Concern # source://activesupport-7.0.3.1/lib/active_support/concern.rb:127 def append_features(base); end # Define class methods from given block. # You can define private class methods as well. # # module Example # extend ActiveSupport::Concern # # class_methods do # def foo; puts 'foo'; end # # private # def bar; puts 'bar'; end # end # end # # class Buzz # include Example # end # # Buzz.foo # => "foo" # Buzz.bar # => private method 'bar' called for Buzz:Class(NoMethodError) # # source://activesupport-7.0.3.1/lib/active_support/concern.rb:207 def class_methods(&class_methods_module_definition); end # Evaluate given block in context of base class, # so that you can write class macros here. # When you define more than one +included+ block, it raises an exception. # # source://activesupport-7.0.3.1/lib/active_support/concern.rb:156 def included(base = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/concern.rb:140 def prepend_features(base); end # Evaluate given block in context of base class, # so that you can write class macros here. # When you define more than one +prepended+ block, it raises an exception. # # source://activesupport-7.0.3.1/lib/active_support/concern.rb:173 def prepended(base = T.unsafe(nil), &block); end class << self # source://activesupport-7.0.3.1/lib/active_support/concern.rb:123 def extended(base); end end end # source://activesupport-7.0.3.1/lib/active_support/concern.rb:111 class ActiveSupport::Concern::MultipleIncludedBlocks < ::StandardError # @return [MultipleIncludedBlocks] a new instance of MultipleIncludedBlocks # # source://activesupport-7.0.3.1/lib/active_support/concern.rb:112 def initialize; end end # source://activesupport-7.0.3.1/lib/active_support/concern.rb:117 class ActiveSupport::Concern::MultiplePrependBlocks < ::StandardError # @return [MultiplePrependBlocks] a new instance of MultiplePrependBlocks # # source://activesupport-7.0.3.1/lib/active_support/concern.rb:118 def initialize; end end # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:7 module ActiveSupport::Concurrency; end # A share/exclusive lock, otherwise known as a read/write lock. # # https://en.wikipedia.org/wiki/Readers%E2%80%93writer_lock # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:11 class ActiveSupport::Concurrency::ShareLock include ::MonitorMixin # @return [ShareLock] a new instance of ShareLock # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:50 def initialize; end # Execute the supplied block while holding the Exclusive lock. If # +no_wait+ is set and the lock is not immediately available, # returns +nil+ without yielding. Otherwise, returns the result of # the block. # # See +start_exclusive+ for other options. # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:148 def exclusive(purpose: T.unsafe(nil), compatible: T.unsafe(nil), after_compatible: T.unsafe(nil), no_wait: T.unsafe(nil)); end # We track Thread objects, instead of just using counters, because # we need exclusive locks to be reentrant, and we need to be able # to upgrade share locks to exclusive. # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:18 def raw_state; end # Execute the supplied block while holding the Share lock. # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:159 def sharing; end # Returns false if +no_wait+ is set and the lock is not # immediately available. Otherwise, returns true after the lock # has been acquired. # # +purpose+ and +compatible+ work together; while this thread is # waiting for the exclusive lock, it will yield its share (if any) # to any other attempt whose +purpose+ appears in this attempt's # +compatible+ list. This allows a "loose" upgrade, which, being # less strict, prevents some classes of deadlocks. # # For many resources, loose upgrades are sufficient: if a thread # is awaiting a lock, it is not running any other code. With # +purpose+ matching, it is possible to yield only to other # threads whose activity will not interfere. # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:76 def start_exclusive(purpose: T.unsafe(nil), compatible: T.unsafe(nil), no_wait: T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:114 def start_sharing; end # Relinquish the exclusive lock. Must only be called by the thread # that called start_exclusive (and currently holds the lock). # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:96 def stop_exclusive(compatible: T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:131 def stop_sharing; end # Temporarily give up all held Share locks while executing the # supplied block, allowing any +compatible+ exclusive lock request # to proceed. # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:171 def yield_shares(purpose: T.unsafe(nil), compatible: T.unsafe(nil), block_share: T.unsafe(nil)); end private # Must be called within synchronize # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:204 def busy_for_exclusive?(purpose); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:209 def busy_for_sharing?(purpose); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:214 def eligible_waiters?(compatible); end # source://activesupport-7.0.3.1/lib/active_support/concurrency/share_lock.rb:218 def wait_for(method, &block); end end # Configurable provides a config method to store and retrieve # configuration options as an OrderedOptions. # # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:9 module ActiveSupport::Configurable extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveSupport::Configurable::ClassMethods # Reads and writes attributes from a configuration OrderedOptions. # # require "active_support/configurable" # # class User # include ActiveSupport::Configurable # end # # user = User.new # # user.config.allowed_access = true # user.config.level = 1 # # user.config.allowed_access # => true # user.config.level # => 1 # # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:145 def config; end end # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:27 module ActiveSupport::Configurable::ClassMethods # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:28 def config; end # @yield [config] # # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:37 def configure; end private # Allows you to add shortcut so that you don't have to refer to attribute # through config. Also look at the example for config to contrast. # # Defines both class and instance config accessors. # # class User # include ActiveSupport::Configurable # config_accessor :allowed_access # end # # User.allowed_access # => nil # User.allowed_access = false # User.allowed_access # => false # # user = User.new # user.allowed_access # => false # user.allowed_access = true # user.allowed_access # => true # # User.allowed_access # => false # # The attribute name must be a valid method name in Ruby. # # class User # include ActiveSupport::Configurable # config_accessor :"1_Badname" # end # # => NameError: invalid config attribute name # # To omit the instance writer method, pass instance_writer: false. # To omit the instance reader method, pass instance_reader: false. # # class User # include ActiveSupport::Configurable # config_accessor :allowed_access, instance_reader: false, instance_writer: false # end # # User.allowed_access = false # User.allowed_access # => false # # User.new.allowed_access = true # => NoMethodError # User.new.allowed_access # => NoMethodError # # Or pass instance_accessor: false, to omit both instance methods. # # class User # include ActiveSupport::Configurable # config_accessor :allowed_access, instance_accessor: false # end # # User.allowed_access = false # User.allowed_access # => false # # User.new.allowed_access = true # => NoMethodError # User.new.allowed_access # => NoMethodError # # Also you can pass default or a block to set up the attribute with a default value. # # class User # include ActiveSupport::Configurable # config_accessor :allowed_access, default: false # config_accessor :hair_colors do # [:brown, :black, :blonde, :red] # end # end # # User.allowed_access # => false # User.hair_colors # => [:brown, :black, :blonde, :red] # # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:109 def config_accessor(*names, instance_reader: T.unsafe(nil), instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:12 class ActiveSupport::Configurable::Configuration < ::ActiveSupport::InheritableOptions # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:13 def compile_methods!; end class << self # Compiles reader methods so we don't have to go through method_missing. # # source://activesupport-7.0.3.1/lib/active_support/configurable.rb:18 def compile_methods!(keys); end end end # Reads a YAML configuration file, evaluating any ERB, then # parsing the resulting YAML. # # Warns in case of YAML confusing characters, like invisible # non-breaking spaces. # # source://activesupport-7.0.3.1/lib/active_support/configuration_file.rb:9 class ActiveSupport::ConfigurationFile # @return [ConfigurationFile] a new instance of ConfigurationFile # # source://activesupport-7.0.3.1/lib/active_support/configuration_file.rb:12 def initialize(content_path); end # source://activesupport-7.0.3.1/lib/active_support/configuration_file.rb:21 def parse(context: T.unsafe(nil), **options); end private # source://activesupport-7.0.3.1/lib/active_support/configuration_file.rb:35 def read(content_path); end # source://activesupport-7.0.3.1/lib/active_support/configuration_file.rb:46 def render(context); end class << self # source://activesupport-7.0.3.1/lib/active_support/configuration_file.rb:17 def parse(content_path, **options); end end end # source://activesupport-7.0.3.1/lib/active_support/configuration_file.rb:10 class ActiveSupport::ConfigurationFile::FormatError < ::StandardError; end # Abstract super class that provides a thread-isolated attributes singleton, which resets automatically # before and after each request. This allows you to keep all the per-request attributes easily # available to the whole system. # # The following full app-like example demonstrates how to use a Current class to # facilitate easy access to the global, per-request attributes without passing them deeply # around everywhere: # # # app/models/current.rb # class Current < ActiveSupport::CurrentAttributes # attribute :account, :user # attribute :request_id, :user_agent, :ip_address # # resets { Time.zone = nil } # # def user=(user) # super # self.account = user.account # Time.zone = user.time_zone # end # end # # # app/controllers/concerns/authentication.rb # module Authentication # extend ActiveSupport::Concern # # included do # before_action :authenticate # end # # private # def authenticate # if authenticated_user = User.find_by(id: cookies.encrypted[:user_id]) # Current.user = authenticated_user # else # redirect_to new_session_url # end # end # end # # # app/controllers/concerns/set_current_request_details.rb # module SetCurrentRequestDetails # extend ActiveSupport::Concern # # included do # before_action do # Current.request_id = request.uuid # Current.user_agent = request.user_agent # Current.ip_address = request.ip # end # end # end # # class ApplicationController < ActionController::Base # include Authentication # include SetCurrentRequestDetails # end # # class MessagesController < ApplicationController # def create # Current.account.messages.create(message_params) # end # end # # class Message < ApplicationRecord # belongs_to :creator, default: -> { Current.user } # after_create { |message| Event.create(record: message) } # end # # class Event < ApplicationRecord # before_create do # self.request_id = Current.request_id # self.user_agent = Current.user_agent # self.ip_address = Current.ip_address # end # end # # A word of caution: It's easy to overdo a global singleton like Current and tangle your model as a result. # Current should only be used for a few, top-level globals, like account, user, and request details. # The attributes stuck in Current should be used by more or less all actions on all requests. If you start # sticking controller-specific attributes in there, you're going to create a mess. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:89 class ActiveSupport::CurrentAttributes include ::ActiveSupport::Callbacks extend ::ActiveSupport::Callbacks::ClassMethods extend ::ActiveSupport::DescendantsTracker # @return [CurrentAttributes] a new instance of CurrentAttributes # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:188 def initialize; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks?; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:940 def _reset_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:928 def _run_reset_callbacks(&block); end # Returns the value of attribute attributes. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:186 def attributes; end # Sets the attribute attributes # # @param value the value to set the attribute attributes to. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:186 def attributes=(_arg0); end # Reset all attributes. Should be called before and after actions, when used as a per-request singleton. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:211 def reset; end # Expose one or more attributes within a block. Old values are returned after the block concludes. # Example demonstrating the common use of needing to set Current attributes outside the request-cycle: # # class Chat::PublicationJob < ApplicationJob # def perform(attributes, room_number, creator) # Current.set(person: creator) do # Chat::Publisher.publish(attributes: attributes, room_number: room_number) # end # end # end # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:202 def set(set_attributes); end private # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:218 def assign_attributes(new_attributes); end # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:222 def compute_attributes(keys); end class << self # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks=(value); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks?; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:932 def _reset_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:936 def _reset_callbacks=(value); end # Calls this block after #reset is called on the instance. Used for resetting external collaborators, like Time.zone. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:142 def after_reset(&block); end # Declares one or more attributes that will be given both class and instance accessor methods. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:100 def attribute(*names); end # Calls this block before #reset is called on the instance. Used for resetting external collaborators that depend on current values. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:137 def before_reset(&block); end # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:153 def clear_all; end # Returns singleton instance for this class in this thread. If none exists, one is created. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:95 def instance; end # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:147 def reset(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:149 def reset_all; end # Calls this block after #reset is called on the instance. Used for resetting external collaborators, like Time.zone. # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:142 def resets(&block); end # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:147 def set(*_arg0, **_arg1, &_arg2); end private # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:163 def current_instances; end # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:167 def current_instances_key; end # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:159 def generated_attribute_methods; end # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:171 def method_missing(name, *args, **_arg2, &block); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/current_attributes.rb:181 def respond_to_missing?(name, _); end end end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:6 module ActiveSupport::Dependencies class << self # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:62 def _autoloaded_tracked_classes; end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:62 def _autoloaded_tracked_classes=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:56 def _eager_load_paths; end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:56 def _eager_load_paths=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:49 def autoload_once_paths; end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:49 def autoload_once_paths=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:43 def autoload_paths; end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:43 def autoload_paths=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:69 def autoloader; end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:69 def autoloader=(_arg0); end # Private method that reloads constants autoloaded by the main autoloader. # # Rails.application.reloader.reload! is the public interface for application # reload. That involves more things, like deleting unloaded classes from the # internal state of the descendants tracker, or reloading routes. # # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:76 def clear; end # Private method that helps configuring the autoloaders. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:94 def eager_load?(path); end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:10 def interlock; end # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:10 def interlock=(_arg0); end # Execute the supplied block while holding an exclusive lock, # preventing any other thread from being inside a #run_interlock # block at the same time. # # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:24 def load_interlock(&block); end # Execute the supplied block without interference from any # concurrent loads. # # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:17 def run_interlock(&block); end # Private method used by require_dependency. # # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:84 def search_for_file(relpath); end # Execute the supplied block while holding an exclusive lock, # preventing any other thread from being inside a #run_interlock # block at the same time. # # source://activesupport-7.0.3.1/lib/active_support/dependencies.rb:31 def unload_interlock(&block); end end end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:7 class ActiveSupport::Dependencies::Interlock # @return [Interlock] a new instance of Interlock # # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:8 def initialize; end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:32 def done_running; end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:24 def done_unloading; end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:12 def loading(&block); end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:40 def permit_concurrent_loads(&block); end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:44 def raw_state(&block); end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:36 def running(&block); end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:28 def start_running; end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:20 def start_unloading; end # source://activesupport-7.0.3.1/lib/active_support/dependencies/interlock.rb:16 def unloading(&block); end end # source://activesupport-7.0.3.1/lib/active_support/dependencies/require_dependency.rb:3 module ActiveSupport::Dependencies::RequireDependency # Warning: This method is obsolete. The semantics of the autoloader # match Ruby's and you do not need to be defensive with load order anymore. # Just refer to classes and modules normally. # # Engines that do not control the mode in which their parent application runs # should call +require_dependency+ where needed in case the runtime mode is # +:classic+. # # source://activesupport-7.0.3.1/lib/active_support/dependencies/require_dependency.rb:11 def require_dependency(filename); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/deprecated_conversions.rb:4 module ActiveSupport::DeprecatedNumericWithFormat # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/deprecated_conversions.rb:5 def to_s(format = T.unsafe(nil), options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/deprecated_conversions.rb:4 module ActiveSupport::DeprecatedRangeWithFormat # source://activesupport-7.0.3.1/lib/active_support/deprecation/method_wrappers.rb:63 def to_default_s(*args, **_arg1, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/deprecated_conversions.rb:6 def to_s(format = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/deprecated_conversions.rb:5 ActiveSupport::DeprecatedRangeWithFormat::NOT_SET = T.let(T.unsafe(nil), Object) # \Deprecation specifies the API used by Rails to deprecate methods, instance # variables, objects, and constants. # # source://activesupport-7.0.3.1/lib/active_support/deprecation.rb:8 class ActiveSupport::Deprecation include ::Singleton include ::ActiveSupport::Deprecation::InstanceDelegator include ::ActiveSupport::Deprecation::Behavior include ::ActiveSupport::Deprecation::Reporting include ::ActiveSupport::Deprecation::Disallowed include ::ActiveSupport::Deprecation::MethodWrapper extend ::Singleton::SingletonClassMethods extend ::ActiveSupport::Deprecation::InstanceDelegator::ClassMethods extend ::ActiveSupport::Deprecation::InstanceDelegator::OverrideDelegators # It accepts two parameters on initialization. The first is a version of library # and the second is a library name. # # ActiveSupport::Deprecation.new('2.0', 'MyLibrary') # # @return [Deprecation] a new instance of Deprecation # # source://activesupport-7.0.3.1/lib/active_support/deprecation.rb:41 def initialize(deprecation_horizon = T.unsafe(nil), gem_name = T.unsafe(nil)); end # The version number in which the deprecated behavior will be removed, by default. # # source://activesupport-7.0.3.1/lib/active_support/deprecation.rb:35 def deprecation_horizon; end # The version number in which the deprecated behavior will be removed, by default. # # source://activesupport-7.0.3.1/lib/active_support/deprecation.rb:35 def deprecation_horizon=(_arg0); end class << self # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def allow(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def behavior(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def behavior=(arg); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def debug(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def debug=(arg); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def deprecate_methods(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def deprecation_horizon(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def deprecation_horizon=(arg); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:31 def deprecation_warning(deprecated_method_name, message = T.unsafe(nil), caller_backtrace = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def disallowed_behavior(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def disallowed_behavior=(arg); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def disallowed_warnings(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def disallowed_warnings=(arg); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def gem_name(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def gem_name=(arg); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def silence(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def silenced(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:21 def silenced=(arg); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:26 def warn(message = T.unsafe(nil), callstack = T.unsafe(nil)); end end end # Behavior module allows to determine how to display deprecation messages. # You can create a custom behavior or set any from the +DEFAULT_BEHAVIORS+ # constant. Available behaviors are: # # [+raise+] Raise ActiveSupport::DeprecationException. # [+stderr+] Log all deprecation warnings to $stderr. # [+log+] Log all deprecation warnings to +Rails.logger+. # [+notify+] Use +ActiveSupport::Notifications+ to notify +deprecation.rails+. # [+silence+] Do nothing. On Rails, set config.active_support.report_deprecations = false to disable all behaviors. # # Setting behaviors only affects deprecations that happen after boot time. # For more information you can read the documentation of the +behavior=+ method. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:61 module ActiveSupport::Deprecation::Behavior # Returns the current behavior or if one isn't set, defaults to +:stderr+. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:66 def behavior; end # Sets the behavior to the specified value. Can be a single value, array, # or an object that responds to +call+. # # Available behaviors: # # [+raise+] Raise ActiveSupport::DeprecationException. # [+stderr+] Log all deprecation warnings to $stderr. # [+log+] Log all deprecation warnings to +Rails.logger+. # [+notify+] Use +ActiveSupport::Notifications+ to notify +deprecation.rails+. # [+silence+] Do nothing. # # Setting behaviors only affects deprecations that happen after boot time. # Deprecation warnings raised by gems are not affected by this setting # because they happen before Rails boots up. # # ActiveSupport::Deprecation.behavior = :stderr # ActiveSupport::Deprecation.behavior = [:stderr, :log] # ActiveSupport::Deprecation.behavior = MyCustomHandler # ActiveSupport::Deprecation.behavior = ->(message, callstack, deprecation_horizon, gem_name) { # # custom stuff # } # # If you are using Rails, you can set config.active_support.report_deprecations = false to disable # all deprecation behaviors. This is similar to the +silence+ option but more performant. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:99 def behavior=(behavior); end # Whether to print a backtrace along with the warning. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:63 def debug; end # Whether to print a backtrace along with the warning. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:63 def debug=(_arg0); end # Returns the current behavior for disallowed deprecations or if one isn't set, defaults to +:raise+. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:71 def disallowed_behavior; end # Sets the behavior for disallowed deprecations (those configured by # ActiveSupport::Deprecation.disallowed_warnings=) to the specified # value. As with +behavior=+, this can be a single value, array, or an # object that responds to +call+. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:107 def disallowed_behavior=(behavior); end private # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:112 def arity_coerce(behavior); end end # Default warning behaviors per Rails.env. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:13 ActiveSupport::Deprecation::DEFAULT_BEHAVIORS = T.let(T.unsafe(nil), Hash) # DeprecatedConstantAccessor transforms a constant into a deprecated one by # hooking +const_missing+. # # It takes the names of an old (deprecated) constant and of a new constant # (both in string form) and optionally a deprecator. The deprecator defaults # to +ActiveSupport::Deprecator+ if none is specified. # # The deprecated constant now returns the same object as the new one rather # than a proxy object, so it can be used transparently in +rescue+ blocks # etc. # # PLANETS = %w(mercury venus earth mars jupiter saturn uranus neptune pluto) # # # (In a later update, the original implementation of `PLANETS` has been removed.) # # PLANETS_POST_2006 = %w(mercury venus earth mars jupiter saturn uranus neptune) # include ActiveSupport::Deprecation::DeprecatedConstantAccessor # deprecate_constant 'PLANETS', 'PLANETS_POST_2006' # # PLANETS.map { |planet| planet.capitalize } # # => DEPRECATION WARNING: PLANETS is deprecated! Use PLANETS_POST_2006 instead. # (Backtrace information…) # ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"] # # source://activesupport-7.0.3.1/lib/active_support/deprecation/constant_accessor.rb:28 module ActiveSupport::Deprecation::DeprecatedConstantAccessor class << self # @private # # source://activesupport-7.0.3.1/lib/active_support/deprecation/constant_accessor.rb:29 def included(base); end end end # DeprecatedConstantProxy transforms a constant into a deprecated one. It # takes the names of an old (deprecated) constant and of a new constant # (both in string form) and optionally a deprecator. The deprecator defaults # to +ActiveSupport::Deprecator+ if none is specified. The deprecated constant # now returns the value of the new one. # # PLANETS = %w(mercury venus earth mars jupiter saturn uranus neptune pluto) # # # (In a later update, the original implementation of `PLANETS` has been removed.) # # PLANETS_POST_2006 = %w(mercury venus earth mars jupiter saturn uranus neptune) # PLANETS = ActiveSupport::Deprecation::DeprecatedConstantProxy.new('PLANETS', 'PLANETS_POST_2006') # # PLANETS.map { |planet| planet.capitalize } # # => DEPRECATION WARNING: PLANETS is deprecated! Use PLANETS_POST_2006 instead. # (Backtrace information…) # ["Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn", "Uranus", "Neptune"] # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:123 class ActiveSupport::Deprecation::DeprecatedConstantProxy < ::Module # @return [DeprecatedConstantProxy] a new instance of DeprecatedConstantProxy # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:131 def initialize(old_const, new_const, deprecator = T.unsafe(nil), message: T.unsafe(nil)); end # Returns the class of the new constant. # # PLANETS_POST_2006 = %w(mercury venus earth mars jupiter saturn uranus neptune) # PLANETS = ActiveSupport::Deprecation::DeprecatedConstantProxy.new('PLANETS', 'PLANETS_POST_2006') # PLANETS.class # => Array # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:157 def class; end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:150 def hash(*_arg0, **_arg1, &_arg2); end # Don't give a deprecation warning on inspect since test/unit and error # logs rely on it for diagnostics. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:144 def inspect; end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:150 def instance_methods(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:150 def name(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:150 def respond_to?(*_arg0, **_arg1, &_arg2); end private # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:166 def const_missing(name); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:171 def method_missing(called, *args, &block); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:162 def target; end class << self # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:124 def new(*args, **options, &block); end end end # DeprecatedInstanceVariableProxy transforms an instance variable into a # deprecated one. It takes an instance of a class, a method on that class # and an instance variable. It optionally takes a deprecator as the last # argument. The deprecator defaults to +ActiveSupport::Deprecator+ if none # is specified. # # class Example # def initialize # @request = ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy.new(self, :request, :@request) # @_request = :special_request # end # # def request # @_request # end # # def old_request # @request # end # end # # example = Example.new # # => # # # example.old_request.to_s # # => DEPRECATION WARNING: @request is deprecated! Call request.to_s instead of # @request.to_s # (Backtrace information…) # "special_request" # # example.request.to_s # # => "special_request" # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:88 class ActiveSupport::Deprecation::DeprecatedInstanceVariableProxy < ::ActiveSupport::Deprecation::DeprecationProxy # @return [DeprecatedInstanceVariableProxy] a new instance of DeprecatedInstanceVariableProxy # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:89 def initialize(instance, method, var = T.unsafe(nil), deprecator = T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:97 def target; end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:101 def warn(callstack, called, args); end end # DeprecatedObjectProxy transforms an object into a deprecated one. It # takes an object, a deprecation message, and optionally a deprecator. The # deprecator defaults to +ActiveSupport::Deprecator+ if none is specified. # # deprecated_object = ActiveSupport::Deprecation::DeprecatedObjectProxy.new(Object.new, "This object is now deprecated") # # => # # # deprecated_object.to_s # DEPRECATION WARNING: This object is now deprecated. # (Backtrace) # # => "#" # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:39 class ActiveSupport::Deprecation::DeprecatedObjectProxy < ::ActiveSupport::Deprecation::DeprecationProxy # @return [DeprecatedObjectProxy] a new instance of DeprecatedObjectProxy # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:40 def initialize(object, message, deprecator = T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:47 def target; end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:51 def warn(callstack, called, args); end end # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:5 class ActiveSupport::Deprecation::DeprecationProxy # Don't give a deprecation warning on inspect since test/unit and error # logs rely on it for diagnostics. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:17 def inspect; end private # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:22 def method_missing(called, *args, &block); end class << self # source://activesupport-7.0.3.1/lib/active_support/deprecation/proxy_wrappers.rb:6 def new(*args, &block); end end end # source://activesupport-7.0.3.1/lib/active_support/deprecation/disallowed.rb:5 module ActiveSupport::Deprecation::Disallowed # Returns the configured criteria used to identify deprecation messages # which should be treated as disallowed. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/disallowed.rb:21 def disallowed_warnings; end # Sets the criteria used to identify deprecation messages which should be # disallowed. Can be an array containing strings, symbols, or regular # expressions. (Symbols are treated as strings). These are compared against # the text of the generated deprecation warning. # # Additionally the scalar symbol +:all+ may be used to treat all # deprecations as disallowed. # # Deprecations matching a substring or regular expression will be handled # using the configured +ActiveSupport::Deprecation.disallowed_behavior+ # rather than +ActiveSupport::Deprecation.behavior+ # # source://activesupport-7.0.3.1/lib/active_support/deprecation/disallowed.rb:17 def disallowed_warnings=(_arg0); end private # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/deprecation/disallowed.rb:26 def deprecation_disallowed?(message); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/deprecation/disallowed.rb:40 def explicitly_allowed?(message); end end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:7 module ActiveSupport::Deprecation::InstanceDelegator mixes_in_class_methods ::ActiveSupport::Deprecation::InstanceDelegator::ClassMethods mixes_in_class_methods ::ActiveSupport::Deprecation::InstanceDelegator::OverrideDelegators class << self # @private # # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:8 def included(base); end end end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:14 module ActiveSupport::Deprecation::InstanceDelegator::ClassMethods # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:15 def include(included_module); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:20 def method_added(method_name); end end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:25 module ActiveSupport::Deprecation::InstanceDelegator::OverrideDelegators # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:31 def deprecation_warning(deprecated_method_name, message = T.unsafe(nil), caller_backtrace = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/instance_delegator.rb:26 def warn(message = T.unsafe(nil), callstack = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/deprecation/method_wrappers.rb:8 module ActiveSupport::Deprecation::MethodWrapper # Declare that a method has been deprecated. # # class Fred # def aaa; end # def bbb; end # def ccc; end # def ddd; end # def eee; end # end # # Using the default deprecator: # ActiveSupport::Deprecation.deprecate_methods(Fred, :aaa, bbb: :zzz, ccc: 'use Bar#ccc instead') # # => Fred # # Fred.new.aaa # # DEPRECATION WARNING: aaa is deprecated and will be removed from Rails 5.1. (called from irb_binding at (irb):10) # # => nil # # Fred.new.bbb # # DEPRECATION WARNING: bbb is deprecated and will be removed from Rails 5.1 (use zzz instead). (called from irb_binding at (irb):11) # # => nil # # Fred.new.ccc # # DEPRECATION WARNING: ccc is deprecated and will be removed from Rails 5.1 (use Bar#ccc instead). (called from irb_binding at (irb):12) # # => nil # # Passing in a custom deprecator: # custom_deprecator = ActiveSupport::Deprecation.new('next-release', 'MyGem') # ActiveSupport::Deprecation.deprecate_methods(Fred, ddd: :zzz, deprecator: custom_deprecator) # # => [:ddd] # # Fred.new.ddd # DEPRECATION WARNING: ddd is deprecated and will be removed from MyGem next-release (use zzz instead). (called from irb_binding at (irb):15) # # => nil # # Using a custom deprecator directly: # custom_deprecator = ActiveSupport::Deprecation.new('next-release', 'MyGem') # custom_deprecator.deprecate_methods(Fred, eee: :zzz) # # => [:eee] # # Fred.new.eee # DEPRECATION WARNING: eee is deprecated and will be removed from MyGem next-release (use zzz instead). (called from irb_binding at (irb):18) # # => nil # # source://activesupport-7.0.3.1/lib/active_support/deprecation/method_wrappers.rb:52 def deprecate_methods(target_module, *method_names); end end # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:7 module ActiveSupport::Deprecation::Reporting # Allow previously disallowed deprecation warnings within the block. # allowed_warnings can be an array containing strings, symbols, or regular # expressions. (Symbols are treated as strings). These are compared against # the text of deprecation warning messages generated within the block. # Matching warnings will be exempt from the rules set by # +ActiveSupport::Deprecation.disallowed_warnings+ # # The optional if: argument accepts a truthy/falsy value or an object that # responds to .call. If truthy, then matching warnings will be allowed. # If falsey then the method yields to the block without allowing the warning. # # ActiveSupport::Deprecation.disallowed_behavior = :raise # ActiveSupport::Deprecation.disallowed_warnings = [ # "something broke" # ] # # ActiveSupport::Deprecation.warn('something broke!') # # => ActiveSupport::DeprecationException # # ActiveSupport::Deprecation.allow ['something broke'] do # ActiveSupport::Deprecation.warn('something broke!') # end # # => nil # # ActiveSupport::Deprecation.allow ['something broke'], if: Rails.env.production? do # ActiveSupport::Deprecation.warn('something broke!') # end # # => ActiveSupport::DeprecationException for dev/test, nil for production # # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:72 def allow(allowed_warnings = T.unsafe(nil), if: T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:86 def deprecation_warning(deprecated_method_name, message = T.unsafe(nil), caller_backtrace = T.unsafe(nil)); end # Name of gem where method is deprecated # # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:11 def gem_name; end # Name of gem where method is deprecated # # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:11 def gem_name=(_arg0); end # Silence deprecation warnings within the block. # # ActiveSupport::Deprecation.warn('something broke!') # # => "DEPRECATION WARNING: something broke! (called from your_code.rb:1)" # # ActiveSupport::Deprecation.silence do # ActiveSupport::Deprecation.warn('something broke!') # end # # => nil # # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:40 def silence(&block); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:82 def silenced; end # Whether to print a message (silent mode) # # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:9 def silenced=(_arg0); end # Outputs a deprecation warning to the output configured by # ActiveSupport::Deprecation.behavior. # # ActiveSupport::Deprecation.warn('something broke!') # # => "DEPRECATION WARNING: something broke! (called from your_code.rb:1)" # # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:18 def warn(message = T.unsafe(nil), callstack = T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:137 def _extract_callstack(callstack); end # Outputs a deprecation warning message # # deprecated_method_warning(:method_name) # # => "method_name is deprecated and will be removed from Rails #{deprecation_horizon}" # deprecated_method_warning(:method_name, :another_method) # # => "method_name is deprecated and will be removed from Rails #{deprecation_horizon} (use another_method instead)" # deprecated_method_warning(:method_name, "Optional message") # # => "method_name is deprecated and will be removed from Rails #{deprecation_horizon} (Optional message)" # # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:102 def deprecated_method_warning(method_name, message = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:116 def deprecation_caller_message(callstack); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:111 def deprecation_message(callstack, message = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:127 def extract_callstack(callstack); end # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:152 def ignored_callstack(path); end end # source://activesupport-7.0.3.1/lib/active_support/deprecation/reporting.rb:150 ActiveSupport::Deprecation::Reporting::RAILS_GEM_ROOT = T.let(T.unsafe(nil), String) # Raised when ActiveSupport::Deprecation::Behavior#behavior is set with :raise. # You would set :raise, as a behavior to raise errors and proactively report exceptions from deprecations. # # source://activesupport-7.0.3.1/lib/active_support/deprecation/behaviors.rb:8 class ActiveSupport::DeprecationException < ::StandardError; end # This module provides an internal implementation to track descendants # which is faster than iterating through ObjectSpace. # # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:9 module ActiveSupport::DescendantsTracker # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:88 def descendants; end # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:92 def direct_descendants; end # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:82 def subclasses; end class << self # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:66 def clear(classes); end # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:62 def descendants(klass); end # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:11 def direct_descendants(klass); end # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:50 def disable_clear!; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:77 def native?; end # source://activesupport-7.0.3.1/lib/active_support/descendants_tracker.rb:58 def subclasses(klass); end end end # source://activesupport-7.0.3.1/lib/active_support/digest.rb:6 class ActiveSupport::Digest class << self # source://activesupport-7.0.3.1/lib/active_support/digest.rb:8 def hash_digest_class; end # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/digest.rb:12 def hash_digest_class=(klass); end # source://activesupport-7.0.3.1/lib/active_support/digest.rb:17 def hexdigest(arg); end end end # Provides accurate date and time measurements using Date#advance and # Time#advance, respectively. It mainly supports the methods on Numeric. # # 1.month.ago # equivalent to Time.now.advance(months: -1) # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:13 class ActiveSupport::Duration # @return [Duration] a new instance of Duration # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:223 def initialize(value, parts, variable = T.unsafe(nil)); end # Returns the modulo of this Duration by another Duration or Numeric. # Numeric values are treated as seconds. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:306 def %(other); end # Multiplies this Duration by a Numeric and returns a new Duration. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:281 def *(other); end # Adds another Duration or a Numeric to this Duration. Numeric values # are treated as seconds. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:262 def +(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:320 def +@; end # Subtracts another Duration or a Numeric from this Duration. Numeric # values are treated as seconds. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:276 def -(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:316 def -@; end # Divides this Duration by a Numeric and returns a new Duration. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:292 def /(other); end # Compares one Duration with another or a Numeric to this Duration. # Numeric values are treated as seconds. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:252 def <=>(other); end # Returns +true+ if +other+ is also a Duration instance with the # same +value+, or if other == value. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:335 def ==(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:475 def _parts; end # Calculates a new Time or Date that is as far in the future # as this Duration represents. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:430 def after(time = T.unsafe(nil)); end # Calculates a new Time or Date that is as far in the past # as this Duration represents. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:438 def ago(time = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:453 def as_json(options = T.unsafe(nil)); end # Calculates a new Time or Date that is as far in the past # as this Duration represents. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:438 def before(time = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:239 def coerce(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:461 def encode_with(coder); end # Returns +true+ if +other+ is also a Duration instance, which has the # same parts as this one. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:420 def eql?(other); end # Calculates a new Time or Date that is as far in the future # as this Duration represents. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:430 def from_now(time = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:424 def hash; end # Returns the amount of days a duration covers as a float # # 12.hours.in_days # => 0.5 # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:393 def in_days; end # Returns the amount of hours a duration covers as a float # # 1.day.in_hours # => 24.0 # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:386 def in_hours; end # Returns the amount of minutes a duration covers as a float # # 1.day.in_minutes # => 1440.0 # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:379 def in_minutes; end # Returns the amount of months a duration covers as a float # # 9.weeks.in_months # => 2.07 # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:407 def in_months; end # Returns the number of seconds that this Duration represents. # # 1.minute.to_i # => 60 # 1.hour.to_i # => 3600 # 1.day.to_i # => 86400 # # Note that this conversion makes some assumptions about the # duration of some periods, e.g. months are always 1/12 of year # and years are 365.2425 days: # # # equivalent to (1.year / 12).to_i # 1.month.to_i # => 2629746 # # # equivalent to 365.2425.days.to_i # 1.year.to_i # => 31556952 # # In such cases, Ruby's core # Date[https://ruby-doc.org/stdlib/libdoc/date/rdoc/Date.html] and # Time[https://ruby-doc.org/stdlib/libdoc/time/rdoc/Time.html] should be used for precision # date and time arithmetic. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:371 def in_seconds; end # Returns the amount of weeks a duration covers as a float # # 2.months.in_weeks # => 8.696 # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:400 def in_weeks; end # Returns the amount of years a duration covers as a float # # 30.days.in_years # => 0.082 # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:414 def in_years; end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:457 def init_with(coder); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:444 def inspect; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:329 def instance_of?(klass); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:324 def is_a?(klass); end # Build ISO 8601 Duration string for this duration. # The +precision+ parameter can be used to limit seconds' precision of duration. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:467 def iso8601(precision: T.unsafe(nil)); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:324 def kind_of?(klass); end # Returns a copy of the parts hash that defines the duration # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:235 def parts; end # Calculates a new Time or Date that is as far in the future # as this Duration represents. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:430 def since(time = T.unsafe(nil)); end # Returns the number of seconds that this Duration represents. # # 1.minute.to_i # => 60 # 1.hour.to_i # => 3600 # 1.day.to_i # => 86400 # # Note that this conversion makes some assumptions about the # duration of some periods, e.g. months are always 1/12 of year # and years are 365.2425 days: # # # equivalent to (1.year / 12).to_i # 1.month.to_i # => 2629746 # # # equivalent to 365.2425.days.to_i # 1.year.to_i # => 31556952 # # In such cases, Ruby's core # Date[https://ruby-doc.org/stdlib/libdoc/date/rdoc/Date.html] and # Time[https://ruby-doc.org/stdlib/libdoc/time/rdoc/Time.html] should be used for precision # date and time arithmetic. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:371 def to_i; end # Returns the amount of seconds a duration covers as a string. # For more information check to_i method. # # 1.day.to_s # => "86400" # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:347 def to_s; end # Calculates a new Time or Date that is as far in the past # as this Duration represents. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:438 def until(time = T.unsafe(nil)); end # Returns the value of attribute value. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:132 def value; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:471 def variable?; end private # source://activesupport-7.0.3.1/lib/active_support/duration.rb:506 def method_missing(method, *args, &block); end # @raise [TypeError] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:510 def raise_type_error(other); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:502 def respond_to_missing?(method, _); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:480 def sum(sign, time = T.unsafe(nil)); end class << self # source://activesupport-7.0.3.1/lib/active_support/duration.rb:148 def ===(other); end # Creates a new Duration from a seconds value that is converted # to the individual parts: # # ActiveSupport::Duration.build(31556952).parts # => {:years=>1} # ActiveSupport::Duration.build(2716146).parts # => {:months=>1, :days=>1} # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:188 def build(value); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:166 def days(value); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:162 def hours(value); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:158 def minutes(value); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:174 def months(value); end # Creates a new Duration from string formatted according to ISO 8601 Duration. # # See {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601#Durations] for more information. # This method allows negative parts to be present in pattern. # If invalid string is provided, it will raise +ActiveSupport::Duration::ISO8601Parser::ParsingError+. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:143 def parse(iso8601duration); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:154 def seconds(value); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:170 def weeks(value); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:178 def years(value); end private # source://activesupport-7.0.3.1/lib/active_support/duration.rb:216 def calculate_total_seconds(parts); end end end # Parses a string formatted according to ISO 8601 Duration into the hash. # # See {ISO 8601}[https://en.wikipedia.org/wiki/ISO_8601#Durations] for more information. # # This parser allows negative parts to be present in pattern. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:12 class ActiveSupport::Duration::ISO8601Parser # @return [ISO8601Parser] a new instance of ISO8601Parser # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:34 def initialize(string); end # Returns the value of attribute mode. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:32 def mode; end # Sets the attribute mode # # @param value the value to set the attribute mode to. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:32 def mode=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:41 def parse!; end # Returns the value of attribute parts. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:31 def parts; end # Returns the value of attribute scanner. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:31 def scanner; end # Returns the value of attribute sign. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:32 def sign; end # Sets the attribute sign # # @param value the value to set the attribute sign to. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:32 def sign=(_arg0); end private # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:83 def finished?; end # Parses number which can be a float with either comma or period. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:88 def number; end # @raise [ParsingError] # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:96 def raise_parsing_error(reason = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:92 def scan(pattern); end # Checks for various semantic errors as stated in ISO 8601 standard. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:101 def validate!; end end # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:17 ActiveSupport::Duration::ISO8601Parser::COMMA = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:22 ActiveSupport::Duration::ISO8601Parser::DATE_COMPONENT = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:28 ActiveSupport::Duration::ISO8601Parser::DATE_COMPONENTS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:20 ActiveSupport::Duration::ISO8601Parser::DATE_MARKER = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:25 ActiveSupport::Duration::ISO8601Parser::DATE_TO_PART = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:16 ActiveSupport::Duration::ISO8601Parser::PERIOD = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:15 ActiveSupport::Duration::ISO8601Parser::PERIOD_OR_COMMA = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:13 class ActiveSupport::Duration::ISO8601Parser::ParsingError < ::ArgumentError; end # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:19 ActiveSupport::Duration::ISO8601Parser::SIGN_MARKER = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:23 ActiveSupport::Duration::ISO8601Parser::TIME_COMPONENT = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:29 ActiveSupport::Duration::ISO8601Parser::TIME_COMPONENTS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:21 ActiveSupport::Duration::ISO8601Parser::TIME_MARKER = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_parser.rb:26 ActiveSupport::Duration::ISO8601Parser::TIME_TO_PART = T.let(T.unsafe(nil), Hash) # Serializes duration to string according to ISO 8601 Duration format. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_serializer.rb:8 class ActiveSupport::Duration::ISO8601Serializer # @return [ISO8601Serializer] a new instance of ISO8601Serializer # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_serializer.rb:11 def initialize(duration, precision: T.unsafe(nil)); end # Builds and returns output string. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_serializer.rb:17 def serialize; end private # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_serializer.rb:58 def format_seconds(seconds); end # Return pair of duration's parts and whole duration sign. # Parts are summarized (as they can become repetitive due to addition, etc). # Zero parts are removed as not significant. # If all parts are negative it will negate all of them and return minus as a sign. # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_serializer.rb:41 def normalize; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_serializer.rb:54 def week_mixed_with_date?(parts); end end # source://activesupport-7.0.3.1/lib/active_support/duration/iso8601_serializer.rb:9 ActiveSupport::Duration::ISO8601Serializer::DATE_COMPONENTS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/duration.rb:129 ActiveSupport::Duration::PARTS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/duration.rb:119 ActiveSupport::Duration::PARTS_IN_SECONDS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/duration.rb:114 ActiveSupport::Duration::SECONDS_PER_DAY = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/duration.rb:113 ActiveSupport::Duration::SECONDS_PER_HOUR = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/duration.rb:112 ActiveSupport::Duration::SECONDS_PER_MINUTE = T.let(T.unsafe(nil), Integer) # 1/12 of a gregorian year # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:116 ActiveSupport::Duration::SECONDS_PER_MONTH = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/duration.rb:115 ActiveSupport::Duration::SECONDS_PER_WEEK = T.let(T.unsafe(nil), Integer) # length of a gregorian year (365.2425 days) # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:117 ActiveSupport::Duration::SECONDS_PER_YEAR = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/duration.rb:14 class ActiveSupport::Duration::Scalar < ::Numeric # @return [Scalar] a new instance of Scalar # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:18 def initialize(value); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:84 def %(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:65 def *(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:40 def +(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:52 def -(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:26 def -@; end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:76 def /(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:30 def <=>(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:22 def coerce(other); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:16 def to_f(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:16 def to_i(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:16 def to_s(*_arg0, **_arg1, &_arg2); end # Returns the value of attribute value. # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:15 def value; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:92 def variable?; end private # source://activesupport-7.0.3.1/lib/active_support/duration.rb:97 def calculate(op, other); end # @raise [TypeError] # # source://activesupport-7.0.3.1/lib/active_support/duration.rb:107 def raise_type_error(other); end end # source://activesupport-7.0.3.1/lib/active_support/duration.rb:130 ActiveSupport::Duration::VARIABLE_PARTS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/each.rb:6 module ActiveSupport::EachTimeWithZone # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/each.rb:7 def each(&block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/each.rb:12 def step(n = T.unsafe(nil), &block); end private # @raise [TypeError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/each.rb:18 def ensure_iteration_allowed; end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:4 module ActiveSupport::EnumerableCoreExt; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:5 module ActiveSupport::EnumerableCoreExt::Constants private # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:7 def const_missing(name); end end # HACK: For performance reasons, Enumerable shouldn't have any constants of its own. # So we move SoleItemExpectedError into ActiveSupport::EnumerableCoreExt. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:25 ActiveSupport::EnumerableCoreExt::SoleItemExpectedError = Enumerable::SoleItemExpectedError # source://activesupport-7.0.3.1/lib/active_support/environment_inquirer.rb:6 class ActiveSupport::EnvironmentInquirer < ::ActiveSupport::StringInquirer # @return [EnvironmentInquirer] a new instance of EnvironmentInquirer # # source://activesupport-7.0.3.1/lib/active_support/environment_inquirer.rb:8 def initialize(env); end def development?; end def production?; end def test?; end end # source://activesupport-7.0.3.1/lib/active_support/environment_inquirer.rb:7 ActiveSupport::EnvironmentInquirer::DEFAULT_ENVIRONMENTS = T.let(T.unsafe(nil), Array) # +ActiveSupport::ErrorReporter+ is a common interface for error reporting services. # # To rescue and report any unhandled error, you can use the +handle+ method: # # Rails.error.handle do # do_something! # end # # If an error is raised, it will be reported and swallowed. # # Alternatively if you want to report the error but not swallow it, you can use +record+ # # Rails.error.record do # do_something! # end # # Both methods can be restricted to only handle a specific exception class # # maybe_tags = Rails.error.handle(Redis::BaseError) { redis.get("tags") } # # You can also pass some extra context information that may be used by the error subscribers: # # Rails.error.handle(context: { section: "admin" }) do # # ... # end # # Additionally a +severity+ can be passed along to communicate how important the error report is. # +severity+ can be one of +:error+, +:warning+, or +:info+. Handled errors default to the +:warning+ # severity, and unhandled ones to +:error+. # # Both +handle+ and +record+ pass through the return value from the block. In the case of +handle+ # rescuing an error, a fallback can be provided. The fallback must be a callable whose result will # be returned when the block raises and is handled: # # user = Rails.error.handle(fallback: -> { User.anonymous }) do # User.find_by(params) # end # # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:41 class ActiveSupport::ErrorReporter # @return [ErrorReporter] a new instance of ErrorReporter # # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:46 def initialize(*subscribers, logger: T.unsafe(nil)); end # Report any unhandled exception, and swallow it. # # Rails.error.handle do # 1 + '1' # end # # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:57 def handle(error_class = T.unsafe(nil), severity: T.unsafe(nil), context: T.unsafe(nil), fallback: T.unsafe(nil)); end # Returns the value of attribute logger. # # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:44 def logger; end # Sets the attribute logger # # @param value the value to set the attribute logger to. # # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:44 def logger=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:64 def record(error_class = T.unsafe(nil), severity: T.unsafe(nil), context: T.unsafe(nil)); end # When the block based +handle+ and +record+ methods are not suitable, you can directly use +report+ # # Rails.error.report(error, handled: true) # # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:95 def report(error, handled:, severity: T.unsafe(nil), context: T.unsafe(nil)); end # Update the execution context that is accessible to error subscribers # # Rails.error.set_context(section: "checkout", user_id: @user.id) # # See +ActiveSupport::ExecutionContext.set+ # # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:88 def set_context(*_arg0, **_arg1, &_arg2); end # Register a new error subscriber. The subscriber must respond to # # report(Exception, handled: Boolean, context: Hash) # # The +report+ method +should+ never raise an error. # # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:76 def subscribe(subscriber); end end # source://activesupport-7.0.3.1/lib/active_support/error_reporter.rb:42 ActiveSupport::ErrorReporter::SEVERITIES = T.let(T.unsafe(nil), Array) # Allows you to "listen" to changes in a file system. # The evented file updater does not hit disk when checking for updates. # Instead, it uses platform-specific file system events to trigger a change # in state. # # The file checker takes an array of files to watch or a hash specifying directories # and file extensions to watch. It also takes a block that is called when # EventedFileUpdateChecker#execute is run or when EventedFileUpdateChecker#execute_if_updated # is run and there have been changes to the file system. # # Example: # # checker = ActiveSupport::EventedFileUpdateChecker.new(["/tmp/foo"]) { puts "changed" } # checker.updated? # # => false # checker.execute_if_updated # # => nil # # FileUtils.touch("/tmp/foo") # # checker.updated? # # => true # checker.execute_if_updated # # => "changed" # # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:35 class ActiveSupport::EventedFileUpdateChecker # @return [EventedFileUpdateChecker] a new instance of EventedFileUpdateChecker # # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:36 def initialize(files, dirs = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:55 def execute; end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:60 def execute_if_updated; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:46 def updated?; end end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:68 class ActiveSupport::EventedFileUpdateChecker::Core # @return [Core] a new instance of Core # # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:71 def initialize(files, dirs); end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:129 def changed(modified, added, removed); end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:163 def common_path(paths); end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:157 def directories_to_watch; end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:90 def finalizer; end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:123 def normalize_dirs!; end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:114 def restart; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:119 def restart?; end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:103 def start; end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:110 def stop; end # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:97 def thread_safely; end # Returns the value of attribute updated. # # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:69 def updated; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/evented_file_update_checker.rb:135 def watching?(file); end end # source://activesupport-7.0.3.1/lib/active_support/execution_context.rb:4 module ActiveSupport::ExecutionContext class << self # source://activesupport-7.0.3.1/lib/active_support/execution_context.rb:34 def []=(key, value); end # source://activesupport-7.0.3.1/lib/active_support/execution_context.rb:7 def after_change(&block); end # source://activesupport-7.0.3.1/lib/active_support/execution_context.rb:43 def clear; end # Updates the execution context. If a block is given, it resets the provided keys to their # previous value once the block exits. # # source://activesupport-7.0.3.1/lib/active_support/execution_context.rb:13 def set(**options); end # source://activesupport-7.0.3.1/lib/active_support/execution_context.rb:39 def to_h; end private # source://activesupport-7.0.3.1/lib/active_support/execution_context.rb:48 def store; end end end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:8 class ActiveSupport::ExecutionWrapper include ::ActiveSupport::Callbacks extend ::ActiveSupport::Callbacks::ClassMethods extend ::ActiveSupport::DescendantsTracker # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks?; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:940 def _complete_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:940 def _run_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:928 def _run_complete_callbacks(&block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:928 def _run_run_callbacks(&block); end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:142 def complete; end # Complete this in-flight execution. This method *must* be called # exactly once on the result of any call to +run!+. # # Where possible, prefer +wrap+. # # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:136 def complete!; end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:128 def run; end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:123 def run!; end private # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:147 def hook_state; end class << self # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks=(value); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks?; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:932 def _complete_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:936 def _complete_callbacks=(value); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:932 def _run_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:936 def _run_callbacks=(value); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:119 def active?; end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:115 def active_key; end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:111 def error_reporter; end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:101 def perform; end # Register an object to be invoked during both the +run+ and # +complete+ steps. # # +hook.complete+ will be passed the value returned from +hook.run+, # and will only be invoked if +run+ has previously been called. # (Mostly, this means it won't be invoked if an exception occurs in # a preceding +to_run+ block; all ordinary +to_complete+ blocks are # invoked in that situation.) # # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:51 def register_hook(hook, outer: T.unsafe(nil)); end # Run this execution. # # Returns an instance, whose +complete!+ method *must* be invoked # after the work has been performed. # # Where possible, prefer +wrap+. # # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:67 def run!(reset: T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:22 def to_complete(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:18 def to_run(*args, &block); end # Perform the work in the supplied block as an execution. # # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:87 def wrap; end end end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:33 class ActiveSupport::ExecutionWrapper::CompleteHook < ::Struct # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:34 def after(target); end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:34 def before(target); end # Returns the value of attribute hook # # @return [Object] the current value of hook def hook; end # Sets the attribute hook # # @param value [Object] the value to set the attribute hook to. # @return [Object] the newly set value def hook=(_); end class << self def [](*_arg0); end def inspect; end def keyword_init?; end def members; end def new(*_arg0); end end end # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:11 ActiveSupport::ExecutionWrapper::Null = T.let(T.unsafe(nil), Object) # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:26 class ActiveSupport::ExecutionWrapper::RunHook < ::Struct # source://activesupport-7.0.3.1/lib/active_support/execution_wrapper.rb:27 def before(target); end # Returns the value of attribute hook # # @return [Object] the current value of hook def hook; end # Sets the attribute hook # # @param value [Object] the value to set the attribute hook to. # @return [Object] the newly set value def hook=(_); end class << self def [](*_arg0); end def inspect; end def keyword_init?; end def members; end def new(*_arg0); end end end # source://activesupport-7.0.3.1/lib/active_support/executor.rb:6 class ActiveSupport::Executor < ::ActiveSupport::ExecutionWrapper; end # FileUpdateChecker specifies the API used by Rails to watch files # and control reloading. The API depends on four methods: # # * +initialize+ which expects two parameters and one block as # described below. # # * +updated?+ which returns a boolean if there were updates in # the filesystem or not. # # * +execute+ which executes the given block on initialization # and updates the latest watched files and timestamp. # # * +execute_if_updated+ which just executes the block if it was updated. # # After initialization, a call to +execute_if_updated+ must execute # the block only if there was really a change in the filesystem. # # This class is used by Rails to reload the I18n framework whenever # they are changed upon a new request. # # i18n_reloader = ActiveSupport::FileUpdateChecker.new(paths) do # I18n.reload! # end # # ActiveSupport::Reloader.to_prepare do # i18n_reloader.execute_if_updated # end # # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:33 class ActiveSupport::FileUpdateChecker # It accepts two parameters on initialization. The first is an array # of files and the second is an optional hash of directories. The hash must # have directories as keys and the value is an array of extensions to be # watched under that directory. # # This method must also receive a block that will be called once a path # changes. The array of files and list of directories cannot be changed # after FileUpdateChecker has been initialized. # # @return [FileUpdateChecker] a new instance of FileUpdateChecker # # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:42 def initialize(files, dirs = T.unsafe(nil), &block); end # Executes the given block and updates the latest watched files and # timestamp. # # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:80 def execute; end # Execute the block given if updated. # # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:90 def execute_if_updated; end # Check if any of the entries were updated. If so, the watched and/or # updated_at values are cached until the block is executed via +execute+ # or +execute_if_updated+. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:61 def updated?; end private # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:156 def compile_ext(array); end # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:142 def compile_glob(hash); end # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:152 def escape(key); end # This method returns the maximum mtime of the files in +paths+, or +nil+ # if the array is empty. # # Files with a mtime in the future are ignored. Such abnormal situation # can happen for example if the user changes the clock by hand. It is # healthy to consider this edge case because with mtimes in the future # reloading is not triggered. # # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:120 def max_mtime(paths); end # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:109 def updated_at(paths); end # source://activesupport-7.0.3.1/lib/active_support/file_update_checker.rb:101 def watched; end end # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:4 module ActiveSupport::ForkTracker class << self # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:59 def after_fork(&block); end # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:40 def check!; end # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:48 def hook!; end # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:64 def unregister(callback); end end end # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:15 module ActiveSupport::ForkTracker::CoreExt # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:16 def fork(*_arg0, **_arg1, &_arg2); end end # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:31 module ActiveSupport::ForkTracker::CoreExtPrivate include ::ActiveSupport::ForkTracker::CoreExt end # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:5 module ActiveSupport::ForkTracker::ModernCoreExt # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:6 def _fork; end end # A convenient wrapper for the zlib standard library that allows # compression/decompression of strings with gzip. # # gzip = ActiveSupport::Gzip.compress('compress me!') # # => "\x1F\x8B\b\x00o\x8D\xCDO\x00\x03K\xCE\xCF-(J-.V\xC8MU\x04\x00R>n\x83\f\x00\x00\x00" # # ActiveSupport::Gzip.decompress(gzip) # # => "compress me!" # # source://activesupport-7.0.3.1/lib/active_support/gzip.rb:15 module ActiveSupport::Gzip class << self # Compresses a string using gzip. # # source://activesupport-7.0.3.1/lib/active_support/gzip.rb:30 def compress(source, level = T.unsafe(nil), strategy = T.unsafe(nil)); end # Decompresses a gzipped string. # # source://activesupport-7.0.3.1/lib/active_support/gzip.rb:25 def decompress(source); end end end # source://activesupport-7.0.3.1/lib/active_support/gzip.rb:16 class ActiveSupport::Gzip::Stream < ::StringIO # @return [Stream] a new instance of Stream # # source://activesupport-7.0.3.1/lib/active_support/gzip.rb:17 def initialize(*_arg0); end # source://activesupport-7.0.3.1/lib/active_support/gzip.rb:21 def close; end end # Implements a hash where keys :foo and "foo" are considered # to be the same. # # rgb = ActiveSupport::HashWithIndifferentAccess.new # # rgb[:black] = '#000000' # rgb[:black] # => '#000000' # rgb['black'] # => '#000000' # # rgb['white'] = '#FFFFFF' # rgb[:white] # => '#FFFFFF' # rgb['white'] # => '#FFFFFF' # # Internally symbols are mapped to strings when used as keys in the entire # writing interface (calling []=, merge, etc). This # mapping belongs to the public interface. For example, given: # # hash = ActiveSupport::HashWithIndifferentAccess.new(a: 1) # # You are guaranteed that the key is returned as a string: # # hash.keys # => ["a"] # # Technically other types of keys are accepted: # # hash = ActiveSupport::HashWithIndifferentAccess.new(a: 1) # hash[0] = 0 # hash # => {"a"=>1, 0=>0} # # but this class is intended for use cases where strings or symbols are the # expected keys and it is convenient to understand both as the same. For # example the +params+ hash in Ruby on Rails. # # Note that core extensions define Hash#with_indifferent_access: # # rgb = { black: '#000000', white: '#FFFFFF' }.with_indifferent_access # # which may be handy. # # To access this class outside of Rails, require the core extension with: # # require "active_support/core_ext/hash/indifferent_access" # # which will, in turn, require this file. # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:55 class ActiveSupport::HashWithIndifferentAccess < ::Hash # @return [HashWithIndifferentAccess] a new instance of HashWithIndifferentAccess # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:68 def initialize(constructor = T.unsafe(nil)); end # Same as Hash#[] where the key passed as argument can be # either a string or a symbol: # # counters = ActiveSupport::HashWithIndifferentAccess.new # counters[:foo] = 1 # # counters['foo'] # => 1 # counters[:foo] # => 1 # counters[:zoo] # => nil # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:166 def [](key); end # Assigns a new value to the hash: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash[:key] = 'value' # # This value can be later fetched using either +:key+ or 'key'. # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:96 def []=(key, value); end # Same as Hash#assoc where the key passed as argument can be # either a string or a symbol: # # counters = ActiveSupport::HashWithIndifferentAccess.new # counters[:foo] = 1 # # counters.assoc('foo') # => ["foo", 1] # counters.assoc(:foo) # => ["foo", 1] # counters.assoc(:zoo) # => nil # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:179 def assoc(key); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:357 def compact; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:311 def deep_stringify_keys; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:309 def deep_stringify_keys!; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:316 def deep_symbolize_keys; end # Same as Hash#default where the key passed as argument can be # either a string or a symbol: # # hash = ActiveSupport::HashWithIndifferentAccess.new(1) # hash.default # => 1 # # hash = ActiveSupport::HashWithIndifferentAccess.new { |hash, key| key } # hash.default # => nil # hash.default('foo') # => 'foo' # hash.default(:foo) # => 'foo' # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:221 def default(*args); end # Removes the specified key from the hash. # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:295 def delete(key); end # Same as Hash#dig where the key passed as argument can be # either a string or a symbol: # # counters = ActiveSupport::HashWithIndifferentAccess.new # counters[:foo] = { bar: 1 } # # counters.dig('foo', 'bar') # => 1 # counters.dig(:foo, :bar) # => 1 # counters.dig(:zoo) # => nil # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:206 def dig(*args); end # Returns a shallow copy of the hash. # # hash = ActiveSupport::HashWithIndifferentAccess.new({ a: { b: 'b' } }) # dup = hash.dup # dup[:a][:c] = 'c' # # hash[:a][:c] # => "c" # dup[:a][:c] # => "c" # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:256 def dup; end # Returns a hash with indifferent access that includes everything except given keys. # hash = { a: "x", b: "y", c: 10 }.with_indifferent_access # hash.except(:a, "b") # => {c: 10}.with_indifferent_access # hash # => { a: "x", b: "y", c: 10 }.with_indifferent_access # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:303 def except(*keys); end # Returns +true+ so that Array#extract_options! finds members of # this class. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:56 def extractable_options?; end # Same as Hash#fetch where the key passed as argument can be # either a string or a symbol: # # counters = ActiveSupport::HashWithIndifferentAccess.new # counters[:foo] = 1 # # counters.fetch('foo') # => 1 # counters.fetch(:bar, 0) # => 0 # counters.fetch(:bar) { |key| 0 } # => 0 # counters.fetch(:zoo) # => KeyError: key not found: "zoo" # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:193 def fetch(key, *extras); end # Returns an array of the values at the specified indices, but also # raises an exception when one of the keys can't be found. # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash[:a] = 'x' # hash[:b] = 'y' # hash.fetch_values('a', 'b') # => ["x", "y"] # hash.fetch_values('a', 'c') { |key| 'z' } # => ["x", "z"] # hash.fetch_values('a', 'c') # => KeyError: key not found: "c" # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:244 def fetch_values(*indices, &block); end # Checks the hash for a key matching the argument passed in: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash['key'] = 'value' # hash.key?(:key) # => true # hash.key?('key') # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:149 def has_key?(key); end # Checks the hash for a key matching the argument passed in: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash['key'] = 'value' # hash.key?(:key) # => true # hash.key?('key') # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:149 def include?(key); end # Checks the hash for a key matching the argument passed in: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash['key'] = 'value' # hash.key?(:key) # => true # hash.key?('key') # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:149 def key?(key); end # Checks the hash for a key matching the argument passed in: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash['key'] = 'value' # hash.key?(:key) # => true # hash.key?('key') # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:149 def member?(key); end # This method has the same semantics of +update+, except it does not # modify the receiver but rather returns a new hash with indifferent # access with the result of the merge. # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:265 def merge(*hashes, &block); end # Updates the receiver in-place, merging in the hashes passed as arguments: # # hash_1 = ActiveSupport::HashWithIndifferentAccess.new # hash_1[:key] = 'value' # # hash_2 = ActiveSupport::HashWithIndifferentAccess.new # hash_2[:key] = 'New Value!' # # hash_1.update(hash_2) # => {"key"=>"New Value!"} # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash.update({ "a" => 1 }, { "b" => 2 }) # => { "a" => 1, "b" => 2 } # # The arguments can be either an # ActiveSupport::HashWithIndifferentAccess or a regular +Hash+. # In either case the merge respects the semantics of indifferent access. # # If the argument is a regular hash with keys +:key+ and "key" only one # of the values end up in the receiver, but which one is unspecified. # # When given a block, the value for duplicated keys will be determined # by the result of invoking the block with the duplicated key, the value # in the receiver, and the value in +other_hash+. The rules for duplicated # keys follow the semantics of indifferent access: # # hash_1[:key] = 10 # hash_2['key'] = 12 # hash_1.update(hash_2) { |key, old, new| old + new } # => {"key"=>22} # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:130 def merge!(*other_hashes, &block); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:64 def nested_under_indifferent_access; end def regular_update(*_arg0); end def regular_writer(_arg0, _arg1); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:324 def reject(*args, &block); end # Replaces the contents of this hash with other_hash. # # h = { "a" => 100, "b" => 200 } # h.replace({ "c" => 300, "d" => 400 }) # => {"c"=>300, "d"=>400} # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:290 def replace(other_hash); end # Like +merge+ but the other way around: Merges the receiver into the # argument and returns a new hash with indifferent access as result: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash['a'] = nil # hash.reverse_merge(a: 0, b: 1) # => {"a"=>nil, "b"=>1} # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:275 def reverse_merge(other_hash); end # Same semantics as +reverse_merge+ but modifies the receiver in-place. # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:281 def reverse_merge!(other_hash); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:319 def select(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:347 def slice(*keys); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:352 def slice!(*keys); end # Assigns a new value to the hash: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash[:key] = 'value' # # This value can be later fetched using either +:key+ or 'key'. # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:96 def store(key, value); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:310 def stringify_keys; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:308 def stringify_keys!; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:314 def symbolize_keys; end # Convert to a regular hash with string keys. # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:362 def to_hash; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:314 def to_options; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:317 def to_options!; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:334 def transform_keys(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:339 def transform_keys!; end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:329 def transform_values(*args, &block); end # Updates the receiver in-place, merging in the hashes passed as arguments: # # hash_1 = ActiveSupport::HashWithIndifferentAccess.new # hash_1[:key] = 'value' # # hash_2 = ActiveSupport::HashWithIndifferentAccess.new # hash_2[:key] = 'New Value!' # # hash_1.update(hash_2) # => {"key"=>"New Value!"} # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash.update({ "a" => 1 }, { "b" => 2 }) # => { "a" => 1, "b" => 2 } # # The arguments can be either an # ActiveSupport::HashWithIndifferentAccess or a regular +Hash+. # In either case the merge respects the semantics of indifferent access. # # If the argument is a regular hash with keys +:key+ and "key" only one # of the values end up in the receiver, but which one is unspecified. # # When given a block, the value for duplicated keys will be determined # by the result of invoking the block with the duplicated key, the value # in the receiver, and the value in +other_hash+. The rules for duplicated # keys follow the semantics of indifferent access: # # hash_1[:key] = 10 # hash_2['key'] = 12 # hash_1.update(hash_2) { |key, old, new| old + new } # => {"key"=>22} # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:130 def update(*other_hashes, &block); end # Returns an array of the values at the specified indices: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash[:a] = 'x' # hash[:b] = 'y' # hash.values_at('a', 'b') # => ["x", "y"] # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:231 def values_at(*keys); end # Like +merge+ but the other way around: Merges the receiver into the # argument and returns a new hash with indifferent access as result: # # hash = ActiveSupport::HashWithIndifferentAccess.new # hash['a'] = nil # hash.reverse_merge(a: 0, b: 1) # => {"a"=>nil, "b"=>1} # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:275 def with_defaults(other_hash); end # Same semantics as +reverse_merge+ but modifies the receiver in-place. # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:281 def with_defaults!(other_hash); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:60 def with_indifferent_access; end # Returns a hash with indifferent access that includes everything except given keys. # hash = { a: "x", b: "y", c: 10 }.with_indifferent_access # hash.except(:a, "b") # => {c: 10}.with_indifferent_access # hash # => { a: "x", b: "y", c: 10 }.with_indifferent_access # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:303 def without(*keys); end private # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:374 def convert_key(key); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:383 def convert_value(value, conversion: T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:400 def set_defaults(target); end # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:408 def update_with_single_argument(other_hash, block); end class << self # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:83 def [](*args); end end end # The Inflector transforms words from singular to plural, class names to table # names, modularized class names to ones without, and class names to foreign # keys. The default inflections for pluralization, singularization, and # uncountable words are kept in inflections.rb. # # The Rails core team has stated patches for the inflections library will not # be accepted in order to avoid breaking legacy applications which may be # relying on errant inflections. If you discover an incorrect inflection and # require it for your application or wish to define rules for languages other # than English, please correct or add them yourself (explained below). # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:7 module ActiveSupport::Inflector extend ::ActiveSupport::Inflector # Converts strings to UpperCamelCase. # If the +uppercase_first_letter+ parameter is set to false, then produces # lowerCamelCase. # # Also converts '/' to '::' which is useful for converting # paths to namespaces. # # camelize('active_model') # => "ActiveModel" # camelize('active_model', false) # => "activeModel" # camelize('active_model/errors') # => "ActiveModel::Errors" # camelize('active_model/errors', false) # => "activeModel::Errors" # # As a rule of thumb you can think of +camelize+ as the inverse of # #underscore, though there are cases where that does not hold: # # camelize(underscore('SSLError')) # => "SslError" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:69 def camelize(term, uppercase_first_letter = T.unsafe(nil)); end # Creates a class name from a plural table name like Rails does for table # names to models. Note that this returns a string and not a Class (To # convert to an actual class follow +classify+ with #constantize). # # classify('ham_and_eggs') # => "HamAndEgg" # classify('posts') # => "Post" # # Singular names are not handled correctly: # # classify('calculus') # => "Calculu" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:208 def classify(table_name); end # Tries to find a constant with the name specified in the argument string. # # constantize('Module') # => Module # constantize('Foo::Bar') # => Foo::Bar # # The name is assumed to be the one of a top-level constant, no matter # whether it starts with "::" or not. No lexical context is taken into # account: # # C = 'outside' # module M # C = 'inside' # C # => 'inside' # constantize('C') # => 'outside', same as ::C # end # # NameError is raised when the name is not in CamelCase or the constant is # unknown. # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:279 def constantize(camel_cased_word); end # Replaces underscores with dashes in the string. # # dasherize('puni_puni') # => "puni-puni" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:216 def dasherize(underscored_word); end # Removes the rightmost segment from the constant expression in the string. # # deconstantize('Net::HTTP') # => "Net" # deconstantize('::Net::HTTP') # => "::Net" # deconstantize('String') # => "" # deconstantize('::String') # => "" # deconstantize('') # => "" # # See also #demodulize. # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:246 def deconstantize(path); end # Removes the module part from the expression in the string. # # demodulize('ActiveSupport::Inflector::Inflections') # => "Inflections" # demodulize('Inflections') # => "Inflections" # demodulize('::Inflections') # => "Inflections" # demodulize('') # => "" # # See also #deconstantize. # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:228 def demodulize(path); end # Creates a foreign key name from a class name. # +separate_class_name_and_id_with_underscore+ sets whether # the method should put '_' between the name and 'id'. # # foreign_key('Message') # => "message_id" # foreign_key('Message', false) # => "messageid" # foreign_key('Admin::Post') # => "post_id" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:257 def foreign_key(class_name, separate_class_name_and_id_with_underscore = T.unsafe(nil)); end # Tweaks an attribute name for display to end users. # # Specifically, performs these transformations: # # * Applies human inflection rules to the argument. # * Deletes leading underscores, if any. # * Removes an "_id" suffix if present. # * Replaces underscores with spaces, if any. # * Downcases all words except acronyms. # * Capitalizes the first word. # The capitalization of the first word can be turned off by setting the # +:capitalize+ option to false (default is true). # # The trailing '_id' can be kept and capitalized by setting the # optional parameter +keep_id_suffix+ to true (default is false). # # humanize('employee_salary') # => "Employee salary" # humanize('author_id') # => "Author" # humanize('author_id', capitalize: false) # => "author" # humanize('_id') # => "Id" # humanize('author_id', keep_id_suffix: true) # => "Author id" # # If "SSL" was defined to be an acronym: # # humanize('ssl_error') # => "SSL error" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:132 def humanize(lower_case_and_underscored_word, capitalize: T.unsafe(nil), keep_id_suffix: T.unsafe(nil)); end # Yields a singleton instance of Inflector::Inflections so you can specify # additional inflector rules. If passed an optional locale, rules for other # languages can be specified. If not specified, defaults to :en. # Only rules for English are provided. # # ActiveSupport::Inflector.inflections(:en) do |inflect| # inflect.uncountable 'rails' # end # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:263 def inflections(locale = T.unsafe(nil)); end # Returns the suffix that should be added to a number to denote the position # in an ordered sequence such as 1st, 2nd, 3rd, 4th. # # ordinal(1) # => "st" # ordinal(2) # => "nd" # ordinal(1002) # => "nd" # ordinal(1003) # => "rd" # ordinal(-11) # => "th" # ordinal(-1021) # => "st" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:324 def ordinal(number); end # Turns a number into an ordinal string used to denote the position in an # ordered sequence such as 1st, 2nd, 3rd, 4th. # # ordinalize(1) # => "1st" # ordinalize(2) # => "2nd" # ordinalize(1002) # => "1002nd" # ordinalize(1003) # => "1003rd" # ordinalize(-11) # => "-11th" # ordinalize(-1021) # => "-1021st" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:337 def ordinalize(number); end # Replaces special characters in a string so that it may be used as part of # a 'pretty' URL. # # parameterize("Donald E. Knuth") # => "donald-e-knuth" # parameterize("^très|Jolie-- ") # => "tres-jolie" # # To use a custom separator, override the +separator+ argument. # # parameterize("Donald E. Knuth", separator: '_') # => "donald_e_knuth" # parameterize("^très|Jolie__ ", separator: '_') # => "tres_jolie" # # To preserve the case of the characters in a string, use the +preserve_case+ argument. # # parameterize("Donald E. Knuth", preserve_case: true) # => "Donald-E-Knuth" # parameterize("^très|Jolie-- ", preserve_case: true) # => "tres-Jolie" # # It preserves dashes and underscores unless they are used as separators: # # parameterize("^très|Jolie__ ") # => "tres-jolie__" # parameterize("^très|Jolie-- ", separator: "_") # => "tres_jolie--" # parameterize("^très_Jolie-- ", separator: ".") # => "tres_jolie--" # # If the optional parameter +locale+ is specified, # the word will be parameterized as a word of that language. # By default, this parameter is set to nil and it will use # the configured I18n.locale. # # source://activesupport-7.0.3.1/lib/active_support/inflector/transliterate.rb:121 def parameterize(string, separator: T.unsafe(nil), preserve_case: T.unsafe(nil), locale: T.unsafe(nil)); end # Returns the plural form of the word in the string. # # If passed an optional +locale+ parameter, the word will be # pluralized using rules defined for that language. By default, # this parameter is set to :en. # # pluralize('post') # => "posts" # pluralize('octopus') # => "octopi" # pluralize('sheep') # => "sheep" # pluralize('words') # => "words" # pluralize('CamelOctopus') # => "CamelOctopi" # pluralize('ley', :es) # => "leyes" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:32 def pluralize(word, locale = T.unsafe(nil)); end # Tries to find a constant with the name specified in the argument string. # # safe_constantize('Module') # => Module # safe_constantize('Foo::Bar') # => Foo::Bar # # The name is assumed to be the one of a top-level constant, no matter # whether it starts with "::" or not. No lexical context is taken into # account: # # C = 'outside' # module M # C = 'inside' # C # => 'inside' # safe_constantize('C') # => 'outside', same as ::C # end # # +nil+ is returned when the name is not in CamelCase or the constant (or # part of it) is unknown. # # safe_constantize('blargle') # => nil # safe_constantize('UnknownModule') # => nil # safe_constantize('UnknownModule::Foo::Bar') # => nil # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:305 def safe_constantize(camel_cased_word); end # The reverse of #pluralize, returns the singular form of a word in a # string. # # If passed an optional +locale+ parameter, the word will be # singularized using rules defined for that language. By default, # this parameter is set to :en. # # singularize('posts') # => "post" # singularize('octopi') # => "octopus" # singularize('sheep') # => "sheep" # singularize('word') # => "word" # singularize('CamelOctopi') # => "CamelOctopus" # singularize('leyes', :es) # => "ley" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:49 def singularize(word, locale = T.unsafe(nil)); end # Creates the name of a table like Rails does for models to table names. # This method uses the #pluralize method on the last word in the string. # # tableize('RawScaledScorer') # => "raw_scaled_scorers" # tableize('ham_and_egg') # => "ham_and_eggs" # tableize('fancyCategory') # => "fancy_categories" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:194 def tableize(class_name); end # Capitalizes all the words and replaces some characters in the string to # create a nicer looking title. +titleize+ is meant for creating pretty # output. It is not used in the Rails internals. # # The trailing '_id','Id'.. can be kept and capitalized by setting the # optional parameter +keep_id_suffix+ to true. # By default, this parameter is false. # # +titleize+ is also aliased as +titlecase+. # # titleize('man from the boondocks') # => "Man From The Boondocks" # titleize('x-men: the last stand') # => "X Men: The Last Stand" # titleize('TheManWithoutAPast') # => "The Man Without A Past" # titleize('raiders_of_the_lost_ark') # => "Raiders Of The Lost Ark" # titleize('string_ending_with_id', keep_id_suffix: true) # => "String Ending With Id" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:182 def titleize(word, keep_id_suffix: T.unsafe(nil)); end # Replaces non-ASCII characters with an ASCII approximation, or if none # exists, a replacement character which defaults to "?". # # transliterate('Ærøskøbing') # # => "AEroskobing" # # Default approximations are provided for Western/Latin characters, # e.g, "ø", "ñ", "é", "ß", etc. # # This method is I18n aware, so you can set up custom approximations for a # locale. This can be useful, for example, to transliterate German's "ü" # and "ö" to "ue" and "oe", or to add support for transliterating Russian # to ASCII. # # In order to make your custom transliterations available, you must set # them as the i18n.transliterate.rule i18n key: # # # Store the transliterations in locales/de.yml # i18n: # transliterate: # rule: # ü: "ue" # ö: "oe" # # # Or set them using Ruby # I18n.backend.store_translations(:de, i18n: { # transliterate: { # rule: { # 'ü' => 'ue', # 'ö' => 'oe' # } # } # }) # # The value for i18n.transliterate.rule can be a simple Hash that # maps characters to ASCII approximations as shown above, or, for more # complex requirements, a Proc: # # I18n.backend.store_translations(:de, i18n: { # transliterate: { # rule: ->(string) { MyTransliterator.transliterate(string) } # } # }) # # Now you can have different transliterations for each locale: # # transliterate('Jürgen', locale: :en) # # => "Jurgen" # # transliterate('Jürgen', locale: :de) # # => "Juergen" # # Transliteration is restricted to UTF-8, US-ASCII, and GB18030 strings. # Other encodings will raise an ArgumentError. # # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/inflector/transliterate.rb:64 def transliterate(string, replacement = T.unsafe(nil), locale: T.unsafe(nil)); end # Makes an underscored, lowercase form from the expression in the string. # # Changes '::' to '/' to convert namespaces to paths. # # underscore('ActiveModel') # => "active_model" # underscore('ActiveModel::Errors') # => "active_model/errors" # # As a rule of thumb you can think of +underscore+ as the inverse of # #camelize, though there are cases where that does not hold: # # camelize(underscore('SSLError')) # => "SslError" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:96 def underscore(camel_cased_word); end # Converts just the first character to uppercase. # # upcase_first('what a Lovely Day') # => "What a Lovely Day" # upcase_first('w') # => "W" # upcase_first('') # => "" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:163 def upcase_first(string); end private # Applies inflection rules for +singularize+ and +pluralize+. # # If passed an optional +locale+ parameter, the uncountables will be # found for that locale. # # apply_inflections('post', inflections.plurals, :en) # => "posts" # apply_inflections('posts', inflections.singulars, :en) # => "post" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:366 def apply_inflections(word, rules, locale = T.unsafe(nil)); end # Mounts a regular expression, returned as a string to ease interpolation, # that will match part by part the given constant. # # const_regexp("Foo::Bar::Baz") # => "Foo(::Bar(::Baz)?)?" # const_regexp("::") # => "::" # # source://activesupport-7.0.3.1/lib/active_support/inflector/methods.rb:347 def const_regexp(camel_cased_word); end end # source://activesupport-7.0.3.1/lib/active_support/inflector/transliterate.rb:8 ActiveSupport::Inflector::ALLOWED_ENCODINGS_FOR_TRANSLITERATE = T.let(T.unsafe(nil), Array) # A singleton instance of this class is yielded by Inflector.inflections, # which can then be used to specify additional inflection rules. If passed # an optional locale, rules for other languages can be specified. The # default locale is :en. Only rules for English are provided. # # ActiveSupport::Inflector.inflections(:en) do |inflect| # inflect.plural /^(ox)$/i, '\1\2en' # inflect.singular /^(ox)en/i, '\1' # # inflect.irregular 'cactus', 'cacti' # # inflect.uncountable 'equipment' # end # # New rules are added at the top. So in the example above, the irregular # rule for cactus will now be the first of the pluralization and # singularization rules that is runs. This guarantees that your rules run # before any of the rules that may already have been loaded. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:28 class ActiveSupport::Inflector::Inflections # @return [Inflections] a new instance of Inflections # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:78 def initialize; end # Specifies a new acronym. An acronym must be specified as it will appear # in a camelized string. An underscore string that contains the acronym # will retain the acronym when passed to +camelize+, +humanize+, or # +titleize+. A camelized string that contains the acronym will maintain # the acronym when titleized or humanized, and will convert the acronym # into a non-delimited single lowercase word when passed to +underscore+. # # acronym 'HTML' # titleize 'html' # => 'HTML' # camelize 'html' # => 'HTML' # underscore 'MyHTML' # => 'my_html' # # The acronym, however, must occur as a delimited unit and not be part of # another word for conversions to recognize it: # # acronym 'HTTP' # camelize 'my_http_delimited' # => 'MyHTTPDelimited' # camelize 'https' # => 'Https', not 'HTTPs' # underscore 'HTTPS' # => 'http_s', not 'https' # # acronym 'HTTPS' # camelize 'https' # => 'HTTPS' # underscore 'HTTPS' # => 'https' # # Note: Acronyms that are passed to +pluralize+ will no longer be # recognized, since the acronym will not occur as a delimited unit in the # pluralized result. To work around this, you must specify the pluralized # form as an acronym as well: # # acronym 'API' # camelize(pluralize('api')) # => 'Apis' # # acronym 'APIs' # camelize(pluralize('api')) # => 'APIs' # # +acronym+ may be used to specify any word that contains an acronym or # otherwise needs to maintain a non-standard capitalization. The only # restriction is that the word must begin with a capital letter. # # acronym 'RESTful' # underscore 'RESTful' # => 'restful' # underscore 'RESTfulController' # => 'restful_controller' # titleize 'RESTfulController' # => 'RESTful Controller' # camelize 'restful' # => 'RESTful' # camelize 'restful_controller' # => 'RESTfulController' # # acronym 'McDonald' # underscore 'McDonald' # => 'mcdonald' # camelize 'mcdonald' # => 'McDonald' # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:140 def acronym(word); end # Returns the value of attribute acronyms. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:74 def acronyms; end # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:76 def acronyms_camelize_regex; end # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:76 def acronyms_underscore_regex; end # Clears the loaded inflections within a given scope (default is # :all). Give the scope as a symbol of the inflection type, the # options are: :plurals, :singulars, :uncountables, # :humans, :acronyms. # # clear :all # clear :plurals # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:229 def clear(scope = T.unsafe(nil)); end # Specifies a humanized form of a string by a regular expression rule or # by a string mapping. When using a regular expression based replacement, # the normal humanize formatting is called after the replacement. When a # string is used, the human form should be specified as desired (example: # 'The name', not 'the_name'). # # human /_cnt$/i, '\1_count' # human 'legacy_col_person_name', 'Name' # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:218 def human(rule, replacement); end # Returns the value of attribute humans. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:74 def humans; end # Specifies a new irregular that applies to both pluralization and # singularization at the same time. This can only be used for strings, not # regular expressions. You simply pass the irregular in singular and # plural form. # # irregular 'cactus', 'cacti' # irregular 'person', 'people' # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:172 def irregular(singular, plural); end # Specifies a new pluralization rule and its replacement. The rule can # either be a string or a regular expression. The replacement should # always be a string that may include references to the matched data from # the rule. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:149 def plural(rule, replacement); end # Returns the value of attribute plurals. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:74 def plurals; end # Specifies a new singularization rule and its replacement. The rule can # either be a string or a regular expression. The replacement should # always be a string that may include references to the matched data from # the rule. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:159 def singular(rule, replacement); end # Returns the value of attribute singulars. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:74 def singulars; end # Specifies words that are uncountable and should not be inflected. # # uncountable 'money' # uncountable 'money', 'information' # uncountable %w( money information rice ) # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:206 def uncountable(*words); end # Returns the value of attribute uncountables. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:74 def uncountables; end private # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:248 def define_acronym_regex_patterns; end # Private, for the test suite. # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:84 def initialize_dup(orig); end class << self # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:63 def instance(locale = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:67 def instance_or_fallback(locale); end end end # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:31 class ActiveSupport::Inflector::Inflections::Uncountables < ::Array # @return [Uncountables] a new instance of Uncountables # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:32 def initialize; end # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:42 def <<(*word); end # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:46 def add(words); end # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:37 def delete(entry); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:53 def uncountable?(str); end private # source://activesupport-7.0.3.1/lib/active_support/inflector/inflections.rb:58 def to_regex(string); end end # +InheritableOptions+ provides a constructor to build an OrderedOptions # hash inherited from another hash. # # Use this if you already have some hash and you want to create a new one based on it. # # h = ActiveSupport::InheritableOptions.new({ girl: 'Mary', boy: 'John' }) # h.girl # => 'Mary' # h.boy # => 'John' # # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:79 class ActiveSupport::InheritableOptions < ::ActiveSupport::OrderedOptions # @return [InheritableOptions] a new instance of InheritableOptions # # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:80 def initialize(parent = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:91 def inheritable_copy; end end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:6 module ActiveSupport::IsolatedExecutionState class << self # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:32 def [](key); end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:36 def []=(key, value); end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:48 def clear; end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:44 def delete(key); end # Returns the value of attribute isolation_level. # # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:13 def isolation_level; end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:15 def isolation_level=(level); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:40 def key?(key); end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:52 def share_with(other); end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:28 def unique_id; end private # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:61 def current; end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:65 def current_fiber; end # source://activesupport-7.0.3.1/lib/active_support/isolated_execution_state.rb:61 def current_thread; end end end # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:11 module ActiveSupport::JSON class << self # Parses a JSON string (JavaScript Object Notation) into a hash. # See http://www.json.org for more info. # # ActiveSupport::JSON.decode("{\"team\":\"rails\",\"players\":\"36\"}") # => {"team" => "rails", "players" => "36"} # # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:22 def decode(json); end # Dumps objects in JSON (JavaScript Object Notation). # See http://www.json.org for more info. # # ActiveSupport::JSON.encode({ team: 'rails', players: '36' }) # # => "{\"team\":\"rails\",\"players\":\"36\"}" # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:21 def encode(value, options = T.unsafe(nil)); end # Returns the class of the error that will be raised when there is an # error in decoding JSON. Using this method means you won't directly # depend on the ActiveSupport's JSON implementation, in case it changes # in the future. # # begin # obj = ActiveSupport::JSON.decode(some_string) # rescue ActiveSupport::JSON.parse_error # Rails.logger.warn("Attempted to decode invalid JSON: #{some_string}") # end # # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:42 def parse_error; end private # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:47 def convert_dates_from(data); end end end # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:14 ActiveSupport::JSON::DATETIME_REGEX = T.let(T.unsafe(nil), Regexp) # matches YAML-formatted dates # # source://activesupport-7.0.3.1/lib/active_support/json/decoding.rb:13 ActiveSupport::JSON::DATE_REGEX = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:25 module ActiveSupport::JSON::Encoding class << self # If true, encode >, <, & as escaped unicode sequences (e.g. > as \u003e) # as a safety measure. # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:121 def escape_html_entities_in_json; end # If true, encode >, <, & as escaped unicode sequences (e.g. > as \u003e) # as a safety measure. # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:121 def escape_html_entities_in_json=(_arg0); end # Sets the encoder used by Rails to encode Ruby objects into JSON strings # in +Object#to_json+ and +ActiveSupport::JSON.encode+. # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:129 def json_encoder; end # Sets the encoder used by Rails to encode Ruby objects into JSON strings # in +Object#to_json+ and +ActiveSupport::JSON.encode+. # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:129 def json_encoder=(_arg0); end # Sets the precision of encoded time values. # Defaults to 3 (equivalent to millisecond precision) # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:125 def time_precision; end # Sets the precision of encoded time values. # Defaults to 3 (equivalent to millisecond precision) # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:125 def time_precision=(_arg0); end # If true, use ISO 8601 format for dates and times. Otherwise, fall back # to the Active Support legacy format. # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:117 def use_standard_json_time_format; end # If true, use ISO 8601 format for dates and times. Otherwise, fall back # to the Active Support legacy format. # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:117 def use_standard_json_time_format=(_arg0); end end end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:26 class ActiveSupport::JSON::Encoding::JSONGemEncoder # @return [JSONGemEncoder] a new instance of JSONGemEncoder # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:29 def initialize(options = T.unsafe(nil)); end # Encode the given object into a JSON string # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:34 def encode(value); end # Returns the value of attribute options. # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:27 def options; end private # Convert an object into a "JSON-ready" representation composed of # primitives like Hash, Array, String, Numeric, # and +true+/+false+/+nil+. # Recursively calls #as_json to the object to recursively build a # fully JSON-ready object. # # This allows developers to implement #as_json without having to # worry about what base types of objects they are allowed to return # or having to remember to call #as_json recursively. # # Note: the +options+ hash passed to +object.to_json+ is only passed # to +object.as_json+, not any of this method's recursive +#as_json+ # calls. # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:89 def jsonify(value); end # Encode a "jsonified" Ruby data structure using the JSON gem # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:109 def stringify(jsonified); end end # Rails does more escaping than the JSON gem natively does (we # escape \u2028 and \u2029 and optionally >, <, & to work around # certain browser problems). # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:42 ActiveSupport::JSON::Encoding::JSONGemEncoder::ESCAPED_CHARS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:51 ActiveSupport::JSON::Encoding::JSONGemEncoder::ESCAPE_REGEX_WITHOUT_HTML_ENTITIES = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:50 ActiveSupport::JSON::Encoding::JSONGemEncoder::ESCAPE_REGEX_WITH_HTML_ENTITIES = T.let(T.unsafe(nil), Regexp) # This class wraps all the strings we see and does the extra escaping # # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:54 class ActiveSupport::JSON::Encoding::JSONGemEncoder::EscapedString < ::String # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:55 def to_json(*_arg0); end # source://activesupport-7.0.3.1/lib/active_support/json/encoding.rb:67 def to_s; end end # KeyGenerator is a simple wrapper around OpenSSL's implementation of PBKDF2. # It can be used to derive a number of keys for various purposes from a given secret. # This lets Rails applications have a single secure secret, but avoid reusing that # key in multiple incompatible contexts. # # source://activesupport-7.0.3.1/lib/active_support/key_generator.rb:11 class ActiveSupport::KeyGenerator # @return [KeyGenerator] a new instance of KeyGenerator # # source://activesupport-7.0.3.1/lib/active_support/key_generator.rb:26 def initialize(secret, options = T.unsafe(nil)); end # Returns a derived key suitable for use. The default +key_size+ is chosen # to be compatible with the default settings of ActiveSupport::MessageVerifier. # i.e. OpenSSL::Digest::SHA1#block_length # # source://activesupport-7.0.3.1/lib/active_support/key_generator.rb:39 def generate_key(salt, key_size = T.unsafe(nil)); end class << self # source://activesupport-7.0.3.1/lib/active_support/key_generator.rb:21 def hash_digest_class; end # source://activesupport-7.0.3.1/lib/active_support/key_generator.rb:13 def hash_digest_class=(klass); end end end # LazyLoadHooks allows Rails to lazily load a lot of components and thus # making the app boot faster. Because of this feature now there is no need to # require ActiveRecord::Base at boot time purely to apply # configuration. Instead a hook is registered that applies configuration once # ActiveRecord::Base is loaded. Here ActiveRecord::Base is # used as example but this feature can be applied elsewhere too. # # Here is an example where on_load method is called to register a hook. # # initializer 'active_record.initialize_timezone' do # ActiveSupport.on_load(:active_record) do # self.time_zone_aware_attributes = true # self.default_timezone = :utc # end # end # # When the entirety of +ActiveRecord::Base+ has been # evaluated then run_load_hooks is invoked. The very last line of # +ActiveRecord::Base+ is: # # ActiveSupport.run_load_hooks(:active_record, ActiveRecord::Base) # # run_load_hooks will then execute all the hooks that were registered # with the on_load method. In the case of the above example, it will # execute the block of code that is in the +initializer+. # # source://activesupport-7.0.3.1/lib/active_support/lazy_load_hooks.rb:29 module ActiveSupport::LazyLoadHooks # Declares a block that will be executed when a Rails component is fully # loaded. # # Options: # # * :yield - Yields the object that run_load_hooks to +block+. # * :run_once - Given +block+ will run only once. # # source://activesupport-7.0.3.1/lib/active_support/lazy_load_hooks.rb:45 def on_load(name, options = T.unsafe(nil), &block); end # Executes all blocks registered to +name+ via on_load, using +base+ as the # evaluation context. # # ActiveSupport.run_load_hooks(:active_record, ActiveRecord::Base) # # In the case of the above example, it will execute all hooks registered # for +:active_record+ within the class +ActiveRecord::Base+. # # source://activesupport-7.0.3.1/lib/active_support/lazy_load_hooks.rb:60 def run_load_hooks(name, base = T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/lazy_load_hooks.rb:76 def execute_hook(name, base, options, block); end # source://activesupport-7.0.3.1/lib/active_support/lazy_load_hooks.rb:68 def with_execution_control(name, block, once); end class << self # source://activesupport-7.0.3.1/lib/active_support/lazy_load_hooks.rb:30 def extended(base); end end end # ActiveSupport::LogSubscriber is an object set to consume # ActiveSupport::Notifications with the sole purpose of logging them. # The log subscriber dispatches notifications to a registered object based # on its given namespace. # # An example would be Active Record log subscriber responsible for logging # queries: # # module ActiveRecord # class LogSubscriber < ActiveSupport::LogSubscriber # def sql(event) # info "#{event.payload[:name]} (#{event.duration}) #{event.payload[:sql]}" # end # end # end # # And it's finally registered as: # # ActiveRecord::LogSubscriber.attach_to :active_record # # Since we need to know all instance methods before attaching the log # subscriber, the line above should be called after your # ActiveRecord::LogSubscriber definition. # # A logger also needs to be set with ActiveRecord::LogSubscriber.logger=. # This is assigned automatically in a Rails environment. # # After configured, whenever a "sql.active_record" notification is published, # it will properly dispatch the event # (ActiveSupport::Notifications::Event) to the sql method. # # Being an ActiveSupport::Notifications consumer, # ActiveSupport::LogSubscriber exposes a simple interface to check if # instrumented code raises an exception. It is common to log a different # message in case of an error, and this can be achieved by extending # the previous example: # # module ActiveRecord # class LogSubscriber < ActiveSupport::LogSubscriber # def sql(event) # exception = event.payload[:exception] # # if exception # exception_object = event.payload[:exception_object] # # error "[ERROR] #{event.payload[:name]}: #{exception.join(', ')} " \ # "(#{exception_object.backtrace.first})" # else # # standard logger code # end # end # end # end # # Log subscriber also has some helpers to deal with logging and automatically # flushes all logs when the request finishes # (via action_dispatch.callback notification) in a Rails environment. # # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:66 class ActiveSupport::LogSubscriber < ::ActiveSupport::Subscriber # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:80 def colorize_logging; end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:80 def colorize_logging=(val); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:129 def debug(progname = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:129 def error(progname = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:129 def fatal(progname = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:114 def finish(name, id, payload); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:129 def info(progname = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:106 def logger; end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:120 def publish_event(event); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:110 def start(name, id, payload); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:129 def unknown(progname = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:129 def warn(progname = T.unsafe(nil), &block); end private # Set color by using a symbol or one of the defined constants. If a third # option is set to +true+, it also adds bold to the string. This is based # on the Highline implementation and will automatically append CLEAR to the # end of the returned String. # # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:139 def color(text, color, bold = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:146 def log_exception(name, e); end class << self # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:80 def colorize_logging; end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:80 def colorize_logging=(val); end # Flush all log_subscribers' logger. # # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:96 def flush_all!; end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:91 def log_subscribers; end # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:83 def logger; end # Sets the attribute logger # # @param value the value to set the attribute logger to. # # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:89 def logger=(_arg0); end private # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:101 def fetch_public_methods(subscriber, inherit_all); end end end # Colors # # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:71 ActiveSupport::LogSubscriber::BLACK = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:75 ActiveSupport::LogSubscriber::BLUE = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:68 ActiveSupport::LogSubscriber::BOLD = T.let(T.unsafe(nil), String) # Embed in a String to clear all previous ANSI sequences. # # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:67 ActiveSupport::LogSubscriber::CLEAR = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:77 ActiveSupport::LogSubscriber::CYAN = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:73 ActiveSupport::LogSubscriber::GREEN = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:76 ActiveSupport::LogSubscriber::MAGENTA = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:72 ActiveSupport::LogSubscriber::RED = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:78 ActiveSupport::LogSubscriber::WHITE = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/log_subscriber.rb:74 ActiveSupport::LogSubscriber::YELLOW = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/logger.rb:8 class ActiveSupport::Logger < ::Logger include ::ActiveSupport::LoggerSilence include ::ActiveSupport::LoggerThreadSafeLevel # @return [Logger] a new instance of Logger # # source://activesupport-7.0.3.1/lib/active_support/logger.rb:79 def initialize(*args, **kwargs); end # source://activesupport-7.0.3.1/lib/active_support/logger_silence.rb:12 def silencer; end # source://activesupport-7.0.3.1/lib/active_support/logger_silence.rb:12 def silencer=(val); end class << self # Broadcasts logs to multiple loggers. # # source://activesupport-7.0.3.1/lib/active_support/logger.rb:23 def broadcast(logger); end # Returns true if the logger destination matches one of the sources # # logger = Logger.new(STDOUT) # ActiveSupport::Logger.logger_outputs_to?(logger, STDOUT) # # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/logger.rb:16 def logger_outputs_to?(logger, *sources); end # source://activesupport-7.0.3.1/lib/active_support/logger_silence.rb:12 def silencer; end # source://activesupport-7.0.3.1/lib/active_support/logger_silence.rb:12 def silencer=(val); end end end # Simple formatter which only displays the message. # # source://activesupport-7.0.3.1/lib/active_support/logger.rb:86 class ActiveSupport::Logger::SimpleFormatter < ::Logger::Formatter # This method is invoked when a log event occurs # # source://activesupport-7.0.3.1/lib/active_support/logger.rb:87 def call(severity, timestamp, progname, msg); end end # source://activesupport-7.0.3.1/lib/active_support/logger_silence.rb:8 module ActiveSupport::LoggerSilence extend ::ActiveSupport::Concern include ::ActiveSupport::LoggerThreadSafeLevel # Silences the logger for the duration of the block. # # source://activesupport-7.0.3.1/lib/active_support/logger_silence.rb:17 def silence(severity = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:9 module ActiveSupport::LoggerThreadSafeLevel extend ::ActiveSupport::Concern # Redefined to check severity against #level, and thus the thread-local level, rather than +@level+. # FIXME: Remove when the minimum Ruby version supports overriding Logger#level. # # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:50 def add(severity, message = T.unsafe(nil), progname = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:14 def debug?; end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:14 def error?; end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:14 def fatal?; end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:14 def info?; end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:36 def level; end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:20 def local_level; end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:24 def local_level=(level); end # Change the thread-local level for the duration of the given block. # # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:41 def log_at(level); end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:14 def unknown?; end # source://activesupport-7.0.3.1/lib/active_support/logger_thread_safe_level.rb:14 def warn?; end end # MessageEncryptor is a simple way to encrypt values which get stored # somewhere you don't trust. # # The cipher text and initialization vector are base64 encoded and returned # to you. # # This can be used in situations similar to the MessageVerifier, but # where you don't want users to be able to determine the value of the payload. # # len = ActiveSupport::MessageEncryptor.key_len # salt = SecureRandom.random_bytes(len) # key = ActiveSupport::KeyGenerator.new('password').generate_key(salt, len) # => "\x89\xE0\x156\xAC..." # crypt = ActiveSupport::MessageEncryptor.new(key) # => # # encrypted_data = crypt.encrypt_and_sign('my secret data') # => "NlFBTTMwOUV5UlA1QlNEN2xkY2d6eThYWWh..." # crypt.decrypt_and_verify(encrypted_data) # => "my secret data" # # The +decrypt_and_verify+ method will raise an # ActiveSupport::MessageEncryptor::InvalidMessage exception if the data # provided cannot be decrypted or verified. # # crypt.decrypt_and_verify('not encrypted data') # => ActiveSupport::MessageEncryptor::InvalidMessage # # === Confining messages to a specific purpose # # By default any message can be used throughout your app. But they can also be # confined to a specific +:purpose+. # # token = crypt.encrypt_and_sign("this is the chair", purpose: :login) # # Then that same purpose must be passed when verifying to get the data back out: # # crypt.decrypt_and_verify(token, purpose: :login) # => "this is the chair" # crypt.decrypt_and_verify(token, purpose: :shipping) # => nil # crypt.decrypt_and_verify(token) # => nil # # Likewise, if a message has no purpose it won't be returned when verifying with # a specific purpose. # # token = crypt.encrypt_and_sign("the conversation is lively") # crypt.decrypt_and_verify(token, purpose: :scare_tactics) # => nil # crypt.decrypt_and_verify(token) # => "the conversation is lively" # # === Making messages expire # # By default messages last forever and verifying one year from now will still # return the original value. But messages can be set to expire at a given # time with +:expires_in+ or +:expires_at+. # # crypt.encrypt_and_sign(parcel, expires_in: 1.month) # crypt.encrypt_and_sign(doowad, expires_at: Time.now.end_of_year) # # Then the messages can be verified and returned up to the expire time. # Thereafter, verifying returns +nil+. # # === Rotating keys # # MessageEncryptor also supports rotating out old configurations by falling # back to a stack of encryptors. Call +rotate+ to build and add an encryptor # so +decrypt_and_verify+ will also try the fallback. # # By default any rotated encryptors use the values of the primary # encryptor unless specified otherwise. # # You'd give your encryptor the new defaults: # # crypt = ActiveSupport::MessageEncryptor.new(@secret, cipher: "aes-256-gcm") # # Then gradually rotate the old values out by adding them as fallbacks. Any message # generated with the old values will then work until the rotation is removed. # # crypt.rotate old_secret # Fallback to an old secret instead of @secret. # crypt.rotate cipher: "aes-256-cbc" # Fallback to an old cipher instead of aes-256-gcm. # # Though if both the secret and the cipher was changed at the same time, # the above should be combined into: # # crypt.rotate old_secret, cipher: "aes-256-cbc" # # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:87 class ActiveSupport::MessageEncryptor include ::ActiveSupport::Messages::Rotator include ::ActiveSupport::Messages::Rotator::Encryptor # Initialize a new MessageEncryptor. +secret+ must be at least as long as # the cipher key size. For the default 'aes-256-gcm' cipher, this is 256 # bits. If you are using a user-entered secret, you can generate a suitable # key by using ActiveSupport::KeyGenerator or a similar key # derivation function. # # First additional parameter is used as the signature key for MessageVerifier. # This allows you to specify keys to encrypt and sign data. # # ActiveSupport::MessageEncryptor.new('secret', 'signature_secret') # # Options: # * :cipher - Cipher to use. Can be any cipher returned by # OpenSSL::Cipher.ciphers. Default is 'aes-256-gcm'. # * :digest - String of digest to use for signing. Default is # +SHA1+. Ignored when using an AEAD cipher like 'aes-256-gcm'. # * :serializer - Object serializer to use. Default is +Marshal+. # # @return [MessageEncryptor] a new instance of MessageEncryptor # # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:6 def initialize(*secrets, on_rotation: T.unsafe(nil), **options); end # Decrypt and verify a message. We need to verify the message in order to # avoid padding attacks. Reference: https://www.limited-entropy.com/padding-oracle-attacks/. # # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:21 def decrypt_and_verify(*args, on_rotation: T.unsafe(nil), **options); end # Encrypt and sign a message. We need to sign the message in order to avoid # padding attacks. Reference: https://www.limited-entropy.com/padding-oracle-attacks/. # # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:153 def encrypt_and_sign(value, expires_at: T.unsafe(nil), expires_in: T.unsafe(nil), purpose: T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:186 def _decrypt(encrypted_message, purpose); end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:169 def _encrypt(value, **metadata_options); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:218 def aead_mode?; end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:212 def new_cipher; end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:222 def resolve_verifier; end # Returns the value of attribute verifier. # # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:216 def verifier; end class << self # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:93 def default_cipher; end # Given a cipher, returns the key length of the cipher to help generate the key of desired size # # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:164 def key_len(cipher = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:90 def use_authenticated_message_encryption; end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:90 def use_authenticated_message_encryption=(val); end end end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:122 class ActiveSupport::MessageEncryptor::InvalidMessage < ::StandardError; end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:102 module ActiveSupport::MessageEncryptor::NullSerializer class << self # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:107 def dump(value); end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:103 def load(value); end end end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:112 module ActiveSupport::MessageEncryptor::NullVerifier class << self # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:117 def generate(value); end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:113 def verify(value); end end end # source://activesupport-7.0.3.1/lib/active_support/message_encryptor.rb:123 ActiveSupport::MessageEncryptor::OpenSSLCipherError = OpenSSL::Cipher::CipherError # +MessageVerifier+ makes it easy to generate and verify messages which are # signed to prevent tampering. # # This is useful for cases like remember-me tokens and auto-unsubscribe links # where the session store isn't suitable or available. # # Remember Me: # cookies[:remember_me] = @verifier.generate([@user.id, 2.weeks.from_now]) # # In the authentication filter: # # id, time = @verifier.verify(cookies[:remember_me]) # if Time.now < time # self.current_user = User.find(id) # end # # By default it uses Marshal to serialize the message. If you want to use # another serialization method, you can set the serializer in the options # hash upon initialization: # # @verifier = ActiveSupport::MessageVerifier.new('s3Krit', serializer: YAML) # # +MessageVerifier+ creates HMAC signatures using SHA1 hash algorithm by default. # If you want to use a different hash algorithm, you can change it by providing # +:digest+ key as an option while initializing the verifier: # # @verifier = ActiveSupport::MessageVerifier.new('s3Krit', digest: 'SHA256') # # === Confining messages to a specific purpose # # By default any message can be used throughout your app. But they can also be # confined to a specific +:purpose+. # # token = @verifier.generate("this is the chair", purpose: :login) # # Then that same purpose must be passed when verifying to get the data back out: # # @verifier.verified(token, purpose: :login) # => "this is the chair" # @verifier.verified(token, purpose: :shipping) # => nil # @verifier.verified(token) # => nil # # @verifier.verify(token, purpose: :login) # => "this is the chair" # @verifier.verify(token, purpose: :shipping) # => ActiveSupport::MessageVerifier::InvalidSignature # @verifier.verify(token) # => ActiveSupport::MessageVerifier::InvalidSignature # # Likewise, if a message has no purpose it won't be returned when verifying with # a specific purpose. # # token = @verifier.generate("the conversation is lively") # @verifier.verified(token, purpose: :scare_tactics) # => nil # @verifier.verified(token) # => "the conversation is lively" # # @verifier.verify(token, purpose: :scare_tactics) # => ActiveSupport::MessageVerifier::InvalidSignature # @verifier.verify(token) # => "the conversation is lively" # # === Making messages expire # # By default messages last forever and verifying one year from now will still # return the original value. But messages can be set to expire at a given # time with +:expires_in+ or +:expires_at+. # # @verifier.generate("parcel", expires_in: 1.month) # @verifier.generate("doowad", expires_at: Time.now.end_of_year) # # Then the messages can be verified and returned up to the expire time. # Thereafter, the +verified+ method returns +nil+ while +verify+ raises # ActiveSupport::MessageVerifier::InvalidSignature. # # === Rotating keys # # MessageVerifier also supports rotating out old configurations by falling # back to a stack of verifiers. Call +rotate+ to build and add a verifier so # either +verified+ or +verify+ will also try verifying with the fallback. # # By default any rotated verifiers use the values of the primary # verifier unless specified otherwise. # # You'd give your verifier the new defaults: # # verifier = ActiveSupport::MessageVerifier.new(@secret, digest: "SHA512", serializer: JSON) # # Then gradually rotate the old values out by adding them as fallbacks. Any message # generated with the old values will then work until the rotation is removed. # # verifier.rotate old_secret # Fallback to an old secret instead of @secret. # verifier.rotate digest: "SHA256" # Fallback to an old digest instead of SHA512. # verifier.rotate serializer: Marshal # Fallback to an old serializer instead of JSON. # # Though the above would most likely be combined into one rotation: # # verifier.rotate old_secret, digest: "SHA256", serializer: Marshal # # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:102 class ActiveSupport::MessageVerifier include ::ActiveSupport::Messages::Rotator include ::ActiveSupport::Messages::Rotator::Verifier # @raise [ArgumentError] # @return [MessageVerifier] a new instance of MessageVerifier # # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:6 def initialize(*secrets, on_rotation: T.unsafe(nil), **options); end # Generates a signed message for the provided value. # # The message is signed with the +MessageVerifier+'s secret. # Returns Base64-encoded message joined with the generated signature. # # verifier = ActiveSupport::MessageVerifier.new 's3Krit' # verifier.generate 'a private message' # => "BAhJIhRwcml2YXRlLW1lc3NhZ2UGOgZFVA==--e2d724331ebdee96a10fb99b089508d1c72bd772" # # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:188 def generate(value, expires_at: T.unsafe(nil), expires_in: T.unsafe(nil), purpose: T.unsafe(nil)); end # Checks if a signed message could have been generated by signing an object # with the +MessageVerifier+'s secret. # # verifier = ActiveSupport::MessageVerifier.new 's3Krit' # signed_message = verifier.generate 'a private message' # verifier.valid_message?(signed_message) # => true # # tampered_message = signed_message.chop # editing the message invalidates the signature # verifier.valid_message?(tampered_message) # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:126 def valid_message?(signed_message); end # Decodes the signed message using the +MessageVerifier+'s secret. # # verifier = ActiveSupport::MessageVerifier.new 's3Krit' # # signed_message = verifier.generate 'a private message' # verifier.verified(signed_message) # => 'a private message' # # Returns +nil+ if the message was not signed with the same secret. # # other_verifier = ActiveSupport::MessageVerifier.new 'd1ff3r3nt-s3Krit' # other_verifier.verified(signed_message) # => nil # # Returns +nil+ if the message is not Base64-encoded. # # invalid_message = "f--46a0120593880c733a53b6dad75b42ddc1c8996d" # verifier.verified(invalid_message) # => nil # # Raises any error raised while decoding the signed message. # # incompatible_message = "test--dad7b06c94abba8d46a15fafaef56c327665d5ff" # verifier.verified(incompatible_message) # => TypeError: incompatible marshal file format # # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:36 def verified(*args, on_rotation: T.unsafe(nil), **options); end # Decodes the signed message using the +MessageVerifier+'s secret. # # verifier = ActiveSupport::MessageVerifier.new 's3Krit' # signed_message = verifier.generate 'a private message' # # verifier.verify(signed_message) # => 'a private message' # # Raises +InvalidSignature+ if the message was not signed with the same # secret or was not Base64-encoded. # # other_verifier = ActiveSupport::MessageVerifier.new 'd1ff3r3nt-s3Krit' # other_verifier.verify(signed_message) # => ActiveSupport::MessageVerifier::InvalidSignature # # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:177 def verify(*args, **options); end private # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:198 def decode(data); end # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:206 def digest_length_in_hex; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:233 def digest_matches_data?(digest, data); end # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:194 def encode(data); end # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:202 def generate_digest(data); end # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:221 def get_data_and_digest_from(signed_message); end # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:214 def separator_index_for(signed_message); end end # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:105 class ActiveSupport::MessageVerifier::InvalidSignature < ::StandardError; end # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:107 ActiveSupport::MessageVerifier::SEPARATOR = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/message_verifier.rb:108 ActiveSupport::MessageVerifier::SEPARATOR_LENGTH = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:4 module ActiveSupport::Messages; end # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:7 class ActiveSupport::Messages::Metadata # @return [Metadata] a new instance of Metadata # # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:8 def initialize(message, expires_at = T.unsafe(nil), purpose = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:13 def as_json(options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:58 def verify(purpose); end private # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:67 def fresh?; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:63 def match?(purpose); end # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:71 def parse_expires_at(expires_at); end class << self # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:26 def verify(message, purpose); end # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:18 def wrap(message, expires_at: T.unsafe(nil), expires_in: T.unsafe(nil), purpose: T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:53 def decode(message); end # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:49 def encode(message); end # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:39 def extract_metadata(message); end # source://activesupport-7.0.3.1/lib/active_support/messages/metadata.rb:31 def pick_expiry(expires_at, expires_in); end end end # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:5 module ActiveSupport::Messages::Rotator # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:6 def initialize(*secrets, on_rotation: T.unsafe(nil), **options); end # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:14 def rotate(*secrets, **options); end private # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:47 def run_rotations(on_rotation); end end # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:18 module ActiveSupport::Messages::Rotator::Encryptor include ::ActiveSupport::Messages::Rotator # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:21 def decrypt_and_verify(*args, on_rotation: T.unsafe(nil), **options); end private # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:28 def build_rotation(secret = T.unsafe(nil), sign_secret = T.unsafe(nil), options); end end # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:33 module ActiveSupport::Messages::Rotator::Verifier include ::ActiveSupport::Messages::Rotator # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:36 def verified(*args, on_rotation: T.unsafe(nil), **options); end private # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:41 def build_rotation(secret = T.unsafe(nil), options); end end # source://activesupport-7.0.3.1/lib/active_support/multibyte.rb:4 module ActiveSupport::Multibyte class << self # Returns the current proxy class. # # source://activesupport-7.0.3.1/lib/active_support/multibyte.rb:19 def proxy_class; end # The proxy class returned when calling mb_chars. You can use this accessor # to configure your own proxy class so you can support other encodings. See # the ActiveSupport::Multibyte::Chars implementation for an example how to # do this. # # ActiveSupport::Multibyte.proxy_class = CharsForUTF32 # # source://activesupport-7.0.3.1/lib/active_support/multibyte.rb:14 def proxy_class=(klass); end end end # Chars enables you to work transparently with UTF-8 encoding in the Ruby # String class without having extensive knowledge about the encoding. A # Chars object accepts a string upon initialization and proxies String # methods in an encoding safe manner. All the normal String methods are also # implemented on the proxy. # # String methods are proxied through the Chars object, and can be accessed # through the +mb_chars+ method. Methods which would normally return a # String object now return a Chars object so methods can be chained. # # 'The Perfect String '.mb_chars.downcase.strip # # => # # # Chars objects are perfectly interchangeable with String objects as long as # no explicit class checks are made. If certain methods do explicitly check # the class, call +to_s+ before you pass chars objects to them. # # bad.explicit_checking_method 'T'.mb_chars.downcase.to_s # # The default Chars implementation assumes that the encoding of the string # is UTF-8, if you want to handle different encodings you can write your own # multibyte string handler and configure it through # ActiveSupport::Multibyte.proxy_class. # # class CharsForUTF32 # def size # @wrapped_string.size / 4 # end # # def self.accepts?(string) # string.length % 4 == 0 # end # end # # ActiveSupport::Multibyte.proxy_class = CharsForUTF32 # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:45 class ActiveSupport::Multibyte::Chars include ::Comparable # Creates a new Chars instance by wrapping _string_. # # @return [Chars] a new instance of Chars # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:54 def initialize(string); end # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:51 def <=>(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:51 def =~(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:51 def acts_like_string?(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:159 def as_json(options = T.unsafe(nil)); end # Performs composition on all the characters. # # 'é'.length # => 1 # 'é'.mb_chars.compose.to_s.length # => 1 # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:138 def compose; end # Performs canonical decomposition on all the characters. # # 'é'.length # => 1 # 'é'.mb_chars.decompose.to_s.length # => 2 # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:130 def decompose; end # Returns the number of grapheme clusters in the string. # # 'क्षि'.mb_chars.length # => 4 # 'क्षि'.mb_chars.grapheme_length # => 2 # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:146 def grapheme_length; end # Limits the byte size of the string to a number of bytes without breaking # characters. Usable when the storage for a string is limited for some # reason. # # 'こんにちは'.mb_chars.limit(7).to_s # => "こん" # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:113 def limit(limit); end # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:51 def match?(*_arg0, **_arg1, &_arg2); end # Forward all undefined methods to the wrapped string. # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:60 def method_missing(method, *args, &block); end # Reverses all characters in the string. # # 'Café'.mb_chars.reverse.to_s # => 'éfaC' # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:104 def reverse; end # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:164 def reverse!(*args); end # Works like String#slice!, but returns an instance of # Chars, or +nil+ if the string was not modified. The string will not be # modified if the range given is out of bounds # # string = 'Welcome' # string.mb_chars.slice!(3) # => # # string # => 'Welome' # string.mb_chars.slice!(0..3) # => # # string # => 'me' # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:94 def slice!(*args); end # Works just like String#split, with the exception that the items # in the resulting list are Chars instances instead of String. This makes # chaining methods easier. # # 'Café périferôl'.mb_chars.split(/é/).map { |part| part.upcase.to_s } # => ["CAF", " P", "RIFERÔL"] # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:81 def split(*args); end # Replaces all ISO-8859-1 or CP1252 characters by their UTF-8 equivalent # resulting in a valid UTF-8 string. # # Passing +true+ will forcibly tidy all bytes, assuming that the string's # encoding is entirely CP1252 or ISO-8859-1. # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:155 def tidy_bytes(force = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:164 def tidy_bytes!(*args); end # Capitalizes the first letter of every word, when possible. # # "ÉL QUE SE ENTERÓ".mb_chars.titleize.to_s # => "Él Que Se Enteró" # "日本語".mb_chars.titleize.to_s # => "日本語" # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:121 def titlecase; end # Capitalizes the first letter of every word, when possible. # # "ÉL QUE SE ENTERÓ".mb_chars.titleize.to_s # => "Él Que Se Enteró" # "日本語".mb_chars.titleize.to_s # => "日本語" # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:121 def titleize; end # Returns the value of attribute wrapped_string. # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:47 def to_s; end # Returns the value of attribute wrapped_string. # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:47 def to_str; end # Returns the value of attribute wrapped_string. # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:47 def wrapped_string; end private # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:171 def chars(string); end # Returns +true+ if _obj_ responds to the given method. Private methods # are included in the search only if the optional second parameter # evaluates to +true+. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/multibyte/chars.rb:72 def respond_to_missing?(method, include_private); end end # source://activesupport-7.0.3.1/lib/active_support/multibyte/unicode.rb:5 module ActiveSupport::Multibyte::Unicode extend ::ActiveSupport::Multibyte::Unicode # Compose decomposed characters to the composed form. # # source://activesupport-7.0.3.1/lib/active_support/multibyte/unicode.rb:21 def compose(codepoints); end # Decompose composed characters to the decomposed form. # # source://activesupport-7.0.3.1/lib/active_support/multibyte/unicode.rb:12 def decompose(type, codepoints); end # Replaces all ISO-8859-1 or CP1252 characters by their UTF-8 equivalent # resulting in a valid UTF-8 string. # # Passing +true+ will forcibly tidy all bytes, assuming that the string's # encoding is entirely CP1252 or ISO-8859-1. # # source://activesupport-7.0.3.1/lib/active_support/multibyte/unicode.rb:32 def tidy_bytes(string, force = T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/multibyte/unicode.rb:65 def recode_windows1252_chars(string); end end # The Unicode version that is supported by the implementation # # source://activesupport-7.0.3.1/lib/active_support/multibyte/unicode.rb:9 ActiveSupport::Multibyte::Unicode::UNICODE_VERSION = T.let(T.unsafe(nil), String) # = \Notifications # # ActiveSupport::Notifications provides an instrumentation API for # Ruby. # # == Instrumenters # # To instrument an event you just need to do: # # ActiveSupport::Notifications.instrument('render', extra: :information) do # render plain: 'Foo' # end # # That first executes the block and then notifies all subscribers once done. # # In the example above +render+ is the name of the event, and the rest is called # the _payload_. The payload is a mechanism that allows instrumenters to pass # extra information to subscribers. Payloads consist of a hash whose contents # are arbitrary and generally depend on the event. # # == Subscribers # # You can consume those events and the information they provide by registering # a subscriber. # # ActiveSupport::Notifications.subscribe('render') do |name, start, finish, id, payload| # name # => String, name of the event (such as 'render' from above) # start # => Time, when the instrumented block started execution # finish # => Time, when the instrumented block ended execution # id # => String, unique ID for the instrumenter that fired the event # payload # => Hash, the payload # end # # Here, the +start+ and +finish+ values represent wall-clock time. If you are # concerned about accuracy, you can register a monotonic subscriber. # # ActiveSupport::Notifications.monotonic_subscribe('render') do |name, start, finish, id, payload| # name # => String, name of the event (such as 'render' from above) # start # => Monotonic time, when the instrumented block started execution # finish # => Monotonic time, when the instrumented block ended execution # id # => String, unique ID for the instrumenter that fired the event # payload # => Hash, the payload # end # # The +start+ and +finish+ values above represent monotonic time. # # For instance, let's store all "render" events in an array: # # events = [] # # ActiveSupport::Notifications.subscribe('render') do |*args| # events << ActiveSupport::Notifications::Event.new(*args) # end # # That code returns right away, you are just subscribing to "render" events. # The block is saved and will be called whenever someone instruments "render": # # ActiveSupport::Notifications.instrument('render', extra: :information) do # render plain: 'Foo' # end # # event = events.first # event.name # => "render" # event.duration # => 10 (in milliseconds) # event.payload # => { extra: :information } # # The block in the subscribe call gets the name of the event, start # timestamp, end timestamp, a string with a unique identifier for that event's instrumenter # (something like "535801666f04d0298cd6"), and a hash with the payload, in # that order. # # If an exception happens during that particular instrumentation the payload will # have a key :exception with an array of two elements as value: a string with # the name of the exception class, and the exception message. # The :exception_object key of the payload will have the exception # itself as the value: # # event.payload[:exception] # => ["ArgumentError", "Invalid value"] # event.payload[:exception_object] # => # # # As the earlier example depicts, the class ActiveSupport::Notifications::Event # is able to take the arguments as they come and provide an object-oriented # interface to that data. # # It is also possible to pass an object which responds to call method # as the second parameter to the subscribe method instead of a block: # # module ActionController # class PageRequest # def call(name, started, finished, unique_id, payload) # Rails.logger.debug ['notification:', name, started, finished, unique_id, payload].join(' ') # end # end # end # # ActiveSupport::Notifications.subscribe('process_action.action_controller', ActionController::PageRequest.new) # # resulting in the following output within the logs including a hash with the payload: # # notification: process_action.action_controller 2012-04-13 01:08:35 +0300 2012-04-13 01:08:35 +0300 af358ed7fab884532ec7 { # controller: "Devise::SessionsController", # action: "new", # params: {"action"=>"new", "controller"=>"devise/sessions"}, # format: :html, # method: "GET", # path: "/login/sign_in", # status: 200, # view_runtime: 279.3080806732178, # db_runtime: 40.053 # } # # You can also subscribe to all events whose name matches a certain regexp: # # ActiveSupport::Notifications.subscribe(/render/) do |*args| # ... # end # # and even pass no argument to subscribe, in which case you are subscribing # to all events. # # == Temporary Subscriptions # # Sometimes you do not want to subscribe to an event for the entire life of # the application. There are two ways to unsubscribe. # # WARNING: The instrumentation framework is designed for long-running subscribers, # use this feature sparingly because it wipes some internal caches and that has # a negative impact on performance. # # === Subscribe While a Block Runs # # You can subscribe to some event temporarily while some block runs. For # example, in # # callback = lambda {|*args| ... } # ActiveSupport::Notifications.subscribed(callback, "sql.active_record") do # ... # end # # the callback will be called for all "sql.active_record" events instrumented # during the execution of the block. The callback is unsubscribed automatically # after that. # # To record +started+ and +finished+ values with monotonic time, # specify the optional :monotonic option to the # subscribed method. The :monotonic option is set # to +false+ by default. # # callback = lambda {|name, started, finished, unique_id, payload| ... } # ActiveSupport::Notifications.subscribed(callback, "sql.active_record", monotonic: true) do # ... # end # # === Manual Unsubscription # # The +subscribe+ method returns a subscriber object: # # subscriber = ActiveSupport::Notifications.subscribe("render") do |*args| # ... # end # # To prevent that block from being called anymore, just unsubscribe passing # that reference: # # ActiveSupport::Notifications.unsubscribe(subscriber) # # You can also unsubscribe by passing the name of the subscriber object. Note # that this will unsubscribe all subscriptions with the given name: # # ActiveSupport::Notifications.unsubscribe("render") # # Subscribers using a regexp or other pattern-matching object will remain subscribed # to all events that match their original pattern, unless those events match a string # passed to +unsubscribe+: # # subscriber = ActiveSupport::Notifications.subscribe(/render/) { } # ActiveSupport::Notifications.unsubscribe('render_template.action_view') # subscriber.matches?('render_template.action_view') # => false # subscriber.matches?('render_partial.action_view') # => true # # == Default Queue # # Notifications ships with a queue implementation that consumes and publishes events # to all log subscribers. You can use any queue implementation you want. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:6 module ActiveSupport::Notifications class << self # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:204 def instrument(name, payload = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:262 def instrumenter; end # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:247 def monotonic_subscribe(pattern = T.unsafe(nil), callback = T.unsafe(nil), &block); end # Returns the value of attribute notifier. # # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:194 def notifier; end # Sets the attribute notifier # # @param value the value to set the attribute notifier to. # # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:194 def notifier=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:196 def publish(name, *args); end # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:200 def publish_event(event); end # Subscribe to a given event name with the passed +block+. # # You can subscribe to events by passing a String to match exact event # names, or by passing a Regexp to match all events that match a pattern. # # ActiveSupport::Notifications.subscribe(/render/) do |*args| # @event = ActiveSupport::Notifications::Event.new(*args) # end # # The +block+ will receive five parameters with information about the event: # # ActiveSupport::Notifications.subscribe('render') do |name, start, finish, id, payload| # name # => String, name of the event (such as 'render' from above) # start # => Time, when the instrumented block started execution # finish # => Time, when the instrumented block ended execution # id # => String, unique ID for the instrumenter that fired the event # payload # => Hash, the payload # end # # If the block passed to the method only takes one parameter, # it will yield an event object to the block: # # ActiveSupport::Notifications.subscribe(/render/) do |event| # @event = event # end # # Raises an error if invalid event name type is passed: # # ActiveSupport::Notifications.subscribe(:render) {|*args| ...} # #=> ArgumentError (pattern must be specified as a String, Regexp or empty) # # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:243 def subscribe(pattern = T.unsafe(nil), callback = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:251 def subscribed(callback, pattern = T.unsafe(nil), monotonic: T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:258 def unsubscribe(subscriber_or_name); end private # source://activesupport-7.0.3.1/lib/active_support/notifications.rb:267 def registry; end end end # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:58 class ActiveSupport::Notifications::Event # @return [Event] a new instance of Event # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:62 def initialize(name, start, ending, transaction_id, payload); end # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:136 def <<(event); end # Returns the number of allocations made since the call to +start!+ and # the call to +finish!+ # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:116 def allocations; end # Returns the value of attribute children. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:59 def children; end # Returns the CPU time (in milliseconds) passed since the call to # +start!+ and the call to +finish!+ # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:104 def cpu_time; end # Returns the difference in milliseconds between when the execution of the # event started and when it ended. # # ActiveSupport::Notifications.subscribe('wait') do |*args| # @event = ActiveSupport::Notifications::Event.new(*args) # end # # ActiveSupport::Notifications.instrument('wait') do # sleep 1 # end # # @event.duration # => 1000.138 # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:132 def duration; end # Returns the value of attribute end. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:59 def end; end # Record information at the time this event finishes # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:96 def finish!; end # Returns the idle time time (in milliseconds) passed since the call to # +start!+ and the call to +finish!+ # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:110 def idle_time; end # Returns the value of attribute name. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:59 def name; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:140 def parent_of?(event); end # Returns the value of attribute payload. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:60 def payload; end # Sets the attribute payload # # @param value the value to set the attribute payload to. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:60 def payload=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:75 def record; end # Record information at the time this event starts # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:89 def start!; end # Returns the value of attribute time. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:59 def time; end # Returns the value of attribute transaction_id. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:59 def transaction_id; end private # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:145 def now; end # Likely on JRuby, TruffleRuby # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:162 def now_allocations; end # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:152 def now_cpu; end end # This is a default queue implementation that ships with Notifications. # It just pushes events to all registered log subscribers. # # This class is thread safe. All methods are reentrant. # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:24 class ActiveSupport::Notifications::Fanout include ::Mutex_m # @return [Fanout] a new instance of Fanout # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:27 def initialize; end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:75 def finish(name, id, payload, listeners = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:87 def iterate_guarding_exceptions(listeners); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:108 def listeners_for(name); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:117 def listening?(name); end # source://RUBY_ROOT/mutex_m.rb:93 def lock; end # source://RUBY_ROOT/mutex_m.rb:83 def locked?; end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:79 def publish(name, *args); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:83 def publish_event(event); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:71 def start(name, id, payload); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:34 def subscribe(pattern = T.unsafe(nil), callable = T.unsafe(nil), monotonic: T.unsafe(nil), &block); end # source://RUBY_ROOT/mutex_m.rb:78 def synchronize(&block); end # source://RUBY_ROOT/mutex_m.rb:88 def try_lock; end # source://RUBY_ROOT/mutex_m.rb:98 def unlock; end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:51 def unsubscribe(subscriber_or_name); end # This is a sync queue, so there is no waiting. # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:122 def wait; end end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:125 module ActiveSupport::Notifications::Fanout::Subscribers class << self # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:126 def new(pattern, listener, monotonic); end end end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:257 class ActiveSupport::Notifications::Fanout::Subscribers::EventObject < ::ActiveSupport::Notifications::Fanout::Subscribers::Evented # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:265 def finish(name, id, payload); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:273 def publish_event(event); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:258 def start(name, id, payload); end private # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:278 def build_event(name, id, payload); end end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:182 class ActiveSupport::Notifications::Fanout::Subscribers::Evented # @return [Evented] a new instance of Evented # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:185 def initialize(pattern, delegate); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:210 def finish(name, id, payload); end # Returns the value of attribute pattern. # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:183 def pattern; end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:192 def publish(name, *args); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:198 def publish_event(event); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:206 def start(name, id, payload); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:214 def subscribed_to?(name); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:218 def unsubscribe!(name); end end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:145 class ActiveSupport::Notifications::Fanout::Subscribers::Matcher # @return [Matcher] a new instance of Matcher # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:158 def initialize(pattern); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:167 def ===(name); end # Returns the value of attribute exclusions. # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:146 def exclusions; end # Returns the value of attribute pattern. # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:146 def pattern; end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:163 def unsubscribe!(name); end class << self # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:148 def wrap(pattern); end end end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:171 class ActiveSupport::Notifications::Fanout::Subscribers::Matcher::AllMessages # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:172 def ===(name); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:176 def unsubscribe!(*_arg0); end end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:240 class ActiveSupport::Notifications::Fanout::Subscribers::MonotonicTimed < ::ActiveSupport::Notifications::Fanout::Subscribers::Evented # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:250 def finish(name, id, payload); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:241 def publish(name, *args); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:245 def start(name, id, payload); end end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:223 class ActiveSupport::Notifications::Fanout::Subscribers::Timed < ::ActiveSupport::Notifications::Fanout::Subscribers::Evented # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:233 def finish(name, id, payload); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:224 def publish(name, *args); end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:228 def start(name, id, payload); end end # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:10 class ActiveSupport::Notifications::InstrumentationSubscriberError < ::RuntimeError # @return [InstrumentationSubscriberError] a new instance of InstrumentationSubscriberError # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:13 def initialize(exceptions); end # Returns the value of attribute exceptions. # # source://activesupport-7.0.3.1/lib/active_support/notifications/fanout.rb:11 def exceptions; end end # Instrumenters are stored in a thread local. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:8 class ActiveSupport::Notifications::Instrumenter # @return [Instrumenter] a new instance of Instrumenter # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:11 def initialize(notifier); end # Send a finish notification with +name+ and +payload+. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:44 def finish(name, payload); end # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:48 def finish_with_state(listeners_state, name, payload); end # Returns the value of attribute id. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:9 def id; end # Given a block, instrument it by measuring the time taken to execute # and publish it. Without a block, simply send a message via the # notifier. Notice that events get sent even if an error occurs in the # passed-in block. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:20 def instrument(name, payload = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:34 def new_event(name, payload = T.unsafe(nil)); end # Send a start notification with +name+ and +payload+. # # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:39 def start(name, payload); end private # source://activesupport-7.0.3.1/lib/active_support/notifications/instrumenter.rb:53 def unique_id; end end # source://activesupport-7.0.3.1/lib/active_support/number_helper.rb:4 module ActiveSupport::NumberHelper extend ::ActiveSupport::Autoload extend ::ActiveSupport::NumberHelper # Formats a +number+ into a currency string (e.g., $13.65). You # can customize the format in the +options+ hash. # # The currency unit and number formatting of the current locale will be used # unless otherwise specified in the provided options. No currency conversion # is performed. If the user is given a way to change their locale, they will # also be able to change the relative value of the currency displayed with # this helper. If your application will ever support multiple locales, you # may want to specify a constant :locale option or consider # using a library capable of currency conversion. # # ==== Options # # * :locale - Sets the locale to be used for formatting # (defaults to current locale). # * :precision - Sets the level of precision (defaults # to 2). # * :round_mode - Determine how rounding is performed # (defaults to :default. See BigDecimal::mode) # * :unit - Sets the denomination of the currency # (defaults to "$"). # * :separator - Sets the separator between the units # (defaults to "."). # * :delimiter - Sets the thousands delimiter (defaults # to ","). # * :format - Sets the format for non-negative numbers # (defaults to "%u%n"). Fields are %u for the # currency, and %n for the number. # * :negative_format - Sets the format for negative # numbers (defaults to prepending a hyphen to the formatted # number given by :format). Accepts the same fields # than :format, except %n is here the # absolute value of the number. # * :strip_insignificant_zeros - If +true+ removes # insignificant zeros after the decimal separator (defaults to # +false+). # # ==== Examples # # number_to_currency(1234567890.50) # => "$1,234,567,890.50" # number_to_currency(1234567890.506) # => "$1,234,567,890.51" # number_to_currency(1234567890.506, precision: 3) # => "$1,234,567,890.506" # number_to_currency(1234567890.506, locale: :fr) # => "1 234 567 890,51 €" # number_to_currency('123a456') # => "$123a456" # # number_to_currency(-0.456789, precision: 0) # # => "$0" # number_to_currency(-1234567890.50, negative_format: '(%u%n)') # # => "($1,234,567,890.50)" # number_to_currency(1234567890.50, unit: '£', separator: ',', delimiter: '') # # => "£1234567890,50" # number_to_currency(1234567890.50, unit: '£', separator: ',', delimiter: '', format: '%n %u') # # => "1234567890,50 £" # number_to_currency(1234567890.50, strip_insignificant_zeros: true) # # => "$1,234,567,890.5" # number_to_currency(1234567890.50, precision: 0, round_mode: :up) # # => "$1,234,567,891" # # source://activesupport-7.0.3.1/lib/active_support/number_helper.rb:114 def number_to_currency(number, options = T.unsafe(nil)); end # Formats a +number+ with grouped thousands using +delimiter+ # (e.g., 12,324). You can customize the format in the +options+ # hash. # # ==== Options # # * :locale - Sets the locale to be used for formatting # (defaults to current locale). # * :delimiter - Sets the thousands delimiter (defaults # to ","). # * :separator - Sets the separator between the # fractional and integer digits (defaults to "."). # * :delimiter_pattern - Sets a custom regular expression used for # deriving the placement of delimiter. Helpful when using currency formats # like INR. # # ==== Examples # # number_to_delimited(12345678) # => "12,345,678" # number_to_delimited('123456') # => "123,456" # number_to_delimited(12345678.05) # => "12,345,678.05" # number_to_delimited(12345678, delimiter: '.') # => "12.345.678" # number_to_delimited(12345678, delimiter: ',') # => "12,345,678" # number_to_delimited(12345678.05, separator: ' ') # => "12,345,678 05" # number_to_delimited(12345678.05, locale: :fr) # => "12 345 678,05" # number_to_delimited('112a') # => "112a" # number_to_delimited(98765432.98, delimiter: ' ', separator: ',') # # => "98 765 432,98" # number_to_delimited("123456.78", # delimiter_pattern: /(\d+?)(?=(\d\d)+(\d)(?!\d))/) # # => "1,23,456.78" # # source://activesupport-7.0.3.1/lib/active_support/number_helper.rb:189 def number_to_delimited(number, options = T.unsafe(nil)); end # Pretty prints (formats and approximates) a number in a way it # is more readable by humans (e.g.: 1200000000 becomes "1.2 # Billion"). This is useful for numbers that can get very large # (and too hard to read). # # See number_to_human_size if you want to print a file # size. # # You can also define your own unit-quantifier names if you want # to use other decimal units (e.g.: 1500 becomes "1.5 # kilometers", 0.150 becomes "150 milliliters", etc). You may # define a wide range of unit quantifiers, even fractional ones # (centi, deci, mili, etc). # # ==== Options # # * :locale - Sets the locale to be used for formatting # (defaults to current locale). # * :precision - Sets the precision of the number # (defaults to 3). # * :round_mode - Determine how rounding is performed # (defaults to :default. See BigDecimal::mode) # * :significant - If +true+, precision will be the number # of significant_digits. If +false+, the number of fractional # digits (defaults to +true+) # * :separator - Sets the separator between the # fractional and integer digits (defaults to "."). # * :delimiter - Sets the thousands delimiter (defaults # to ""). # * :strip_insignificant_zeros - If +true+ removes # insignificant zeros after the decimal separator (defaults to # +true+) # * :units - A Hash of unit quantifier names. Or a # string containing an i18n scope where to find this hash. It # might have the following keys: # * *integers*: :unit, :ten, # :hundred, :thousand, :million, # :billion, :trillion, # :quadrillion # * *fractionals*: :deci, :centi, # :mili, :micro, :nano, # :pico, :femto # * :format - Sets the format of the output string # (defaults to "%n %u"). The field types are: # * %u - The quantifier (ex.: 'thousand') # * %n - The number # # ==== Examples # # number_to_human(123) # => "123" # number_to_human(1234) # => "1.23 Thousand" # number_to_human(12345) # => "12.3 Thousand" # number_to_human(1234567) # => "1.23 Million" # number_to_human(1234567890) # => "1.23 Billion" # number_to_human(1234567890123) # => "1.23 Trillion" # number_to_human(1234567890123456) # => "1.23 Quadrillion" # number_to_human(1234567890123456789) # => "1230 Quadrillion" # number_to_human(489939, precision: 2) # => "490 Thousand" # number_to_human(489939, precision: 4) # => "489.9 Thousand" # number_to_human(489939, precision: 2 # , round_mode: :down) # => "480 Thousand" # number_to_human(1234567, precision: 4, # significant: false) # => "1.2346 Million" # number_to_human(1234567, precision: 1, # separator: ',', # significant: false) # => "1,2 Million" # # number_to_human(500000000, precision: 5) # => "500 Million" # number_to_human(12345012345, significant: false) # => "12.345 Billion" # # Non-significant zeros after the decimal separator are stripped # out by default (set :strip_insignificant_zeros to # +false+ to change that): # # number_to_human(12.00001) # => "12" # number_to_human(12.00001, strip_insignificant_zeros: false) # => "12.0" # # ==== Custom Unit Quantifiers # # You can also use your own custom unit quantifiers: # number_to_human(500000, units: { unit: 'ml', thousand: 'lt' }) # => "500 lt" # # If in your I18n locale you have: # # distance: # centi: # one: "centimeter" # other: "centimeters" # unit: # one: "meter" # other: "meters" # thousand: # one: "kilometer" # other: "kilometers" # billion: "gazillion-distance" # # Then you could do: # # number_to_human(543934, units: :distance) # => "544 kilometers" # number_to_human(54393498, units: :distance) # => "54400 kilometers" # number_to_human(54393498000, units: :distance) # => "54.4 gazillion-distance" # number_to_human(343, units: :distance, precision: 1) # => "300 meters" # number_to_human(1, units: :distance) # => "1 meter" # number_to_human(0.34, units: :distance) # => "34 centimeters" # # source://activesupport-7.0.3.1/lib/active_support/number_helper.rb:391 def number_to_human(number, options = T.unsafe(nil)); end # Formats the bytes in +number+ into a more understandable # representation (e.g., giving it 1500 yields 1.46 KB). This # method is useful for reporting file sizes to users. You can # customize the format in the +options+ hash. # # See number_to_human if you want to pretty-print a # generic number. # # ==== Options # # * :locale - Sets the locale to be used for formatting # (defaults to current locale). # * :precision - Sets the precision of the number # (defaults to 3). # * :round_mode - Determine how rounding is performed # (defaults to :default. See BigDecimal::mode) # * :significant - If +true+, precision will be the number # of significant_digits. If +false+, the number of fractional # digits (defaults to +true+) # * :separator - Sets the separator between the # fractional and integer digits (defaults to "."). # * :delimiter - Sets the thousands delimiter (defaults # to ""). # * :strip_insignificant_zeros - If +true+ removes # insignificant zeros after the decimal separator (defaults to # +true+) # # ==== Examples # # number_to_human_size(123) # => "123 Bytes" # number_to_human_size(1234) # => "1.21 KB" # number_to_human_size(12345) # => "12.1 KB" # number_to_human_size(1234567) # => "1.18 MB" # number_to_human_size(1234567890) # => "1.15 GB" # number_to_human_size(1234567890123) # => "1.12 TB" # number_to_human_size(1234567890123456) # => "1.1 PB" # number_to_human_size(1234567890123456789) # => "1.07 EB" # number_to_human_size(1234567, precision: 2) # => "1.2 MB" # number_to_human_size(483989, precision: 2) # => "470 KB" # number_to_human_size(483989, precision: 2, round_mode: :up) # => "480 KB" # number_to_human_size(1234567, precision: 2, separator: ',') # => "1,2 MB" # number_to_human_size(1234567890123, precision: 5) # => "1.1228 TB" # number_to_human_size(524288000, precision: 5) # => "500 MB" # # source://activesupport-7.0.3.1/lib/active_support/number_helper.rb:283 def number_to_human_size(number, options = T.unsafe(nil)); end # Formats a +number+ as a percentage string (e.g., 65%). You can # customize the format in the +options+ hash. # # ==== Options # # * :locale - Sets the locale to be used for formatting # (defaults to current locale). # * :precision - Sets the precision of the number # (defaults to 3). Keeps the number's precision if +nil+. # * :round_mode - Determine how rounding is performed # (defaults to :default. See BigDecimal::mode) # * :significant - If +true+, precision will be the number # of significant_digits. If +false+, the number of fractional # digits (defaults to +false+). # * :separator - Sets the separator between the # fractional and integer digits (defaults to "."). # * :delimiter - Sets the thousands delimiter (defaults # to ""). # * :strip_insignificant_zeros - If +true+ removes # insignificant zeros after the decimal separator (defaults to # +false+). # * :format - Specifies the format of the percentage # string The number field is %n (defaults to "%n%"). # # ==== Examples # # number_to_percentage(100) # => "100.000%" # number_to_percentage('98') # => "98.000%" # number_to_percentage(100, precision: 0) # => "100%" # number_to_percentage(1000, delimiter: '.', separator: ',') # => "1.000,000%" # number_to_percentage(302.24398923423, precision: 5) # => "302.24399%" # number_to_percentage(1000, locale: :fr) # => "1000,000%" # number_to_percentage(1000, precision: nil) # => "1000%" # number_to_percentage('98a') # => "98a%" # number_to_percentage(100, format: '%n %') # => "100.000 %" # number_to_percentage(302.24398923423, precision: 5, round_mode: :down) # => "302.24398%" # # source://activesupport-7.0.3.1/lib/active_support/number_helper.rb:154 def number_to_percentage(number, options = T.unsafe(nil)); end # Formats a +number+ into a phone number (US by default e.g., (555) # 123-9876). You can customize the format in the +options+ hash. # # ==== Options # # * :area_code - Adds parentheses around the area code. # * :delimiter - Specifies the delimiter to use # (defaults to "-"). # * :extension - Specifies an extension to add to the # end of the generated number. # * :country_code - Sets the country code for the phone # number. # * :pattern - Specifies how the number is divided into three # groups with the custom regexp to override the default format. # ==== Examples # # number_to_phone(5551234) # => "555-1234" # number_to_phone('5551234') # => "555-1234" # number_to_phone(1235551234) # => "123-555-1234" # number_to_phone(1235551234, area_code: true) # => "(123) 555-1234" # number_to_phone(1235551234, delimiter: ' ') # => "123 555 1234" # number_to_phone(1235551234, area_code: true, extension: 555) # => "(123) 555-1234 x 555" # number_to_phone(1235551234, country_code: 1) # => "+1-123-555-1234" # number_to_phone('123a456') # => "123a456" # # number_to_phone(1235551234, country_code: 1, extension: 1343, delimiter: '.') # # => "+1.123.555.1234 x 1343" # # number_to_phone(75561234567, pattern: /(\d{1,4})(\d{4})(\d{4})$/, area_code: true) # # => "(755) 6123-4567" # number_to_phone(13312345678, pattern: /(\d{3})(\d{4})(\d{4})$/) # # => "133-1234-5678" # # source://activesupport-7.0.3.1/lib/active_support/number_helper.rb:53 def number_to_phone(number, options = T.unsafe(nil)); end # Formats a +number+ with the specified level of # :precision (e.g., 112.32 has a precision of 2 if # +:significant+ is +false+, and 5 if +:significant+ is +true+). # You can customize the format in the +options+ hash. # # ==== Options # # * :locale - Sets the locale to be used for formatting # (defaults to current locale). # * :precision - Sets the precision of the number # (defaults to 3). Keeps the number's precision if +nil+. # * :round_mode - Determine how rounding is performed # (defaults to :default. See BigDecimal::mode) # * :significant - If +true+, precision will be the number # of significant_digits. If +false+, the number of fractional # digits (defaults to +false+). # * :separator - Sets the separator between the # fractional and integer digits (defaults to "."). # * :delimiter - Sets the thousands delimiter (defaults # to ""). # * :strip_insignificant_zeros - If +true+ removes # insignificant zeros after the decimal separator (defaults to # +false+). # # ==== Examples # # number_to_rounded(111.2345) # => "111.235" # number_to_rounded(111.2345, precision: 2) # => "111.23" # number_to_rounded(13, precision: 5) # => "13.00000" # number_to_rounded(389.32314, precision: 0) # => "389" # number_to_rounded(111.2345, significant: true) # => "111" # number_to_rounded(111.2345, precision: 1, significant: true) # => "100" # number_to_rounded(13, precision: 5, significant: true) # => "13.000" # number_to_rounded(13, precision: nil) # => "13" # number_to_rounded(389.32314, precision: 0, round_mode: :up) # => "390" # number_to_rounded(111.234, locale: :fr) # => "111,234" # # number_to_rounded(13, precision: 5, significant: true, strip_insignificant_zeros: true) # # => "13" # # number_to_rounded(389.32314, precision: 4, significant: true) # => "389.3" # number_to_rounded(1111.2345, precision: 2, separator: ',', delimiter: '.') # # => "1.111,23" # # source://activesupport-7.0.3.1/lib/active_support/number_helper.rb:236 def number_to_rounded(number, options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:11 class ActiveSupport::NumberHelper::NumberConverter # @return [NumberConverter] a new instance of NumberConverter # # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:123 def initialize(number, options); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:128 def execute; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace?; end # Returns the value of attribute number. # # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:18 def number; end # Returns the value of attribute opts. # # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:18 def opts; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float?; end private # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:147 def default_format_options; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:172 def default_value(key); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:143 def format_options; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:153 def i18n_format_options; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:139 def options; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:168 def translate_in_locale(key, **i18n_options); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:164 def translate_number_value_with_default(key, **i18n_options); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:176 def valid_float?; end class << self # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:119 def convert(number, options); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace=(value); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace?; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float=(value); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float?; end end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:20 ActiveSupport::NumberHelper::NumberConverter::DEFAULTS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_currency_converter.rb:7 class ActiveSupport::NumberHelper::NumberToCurrencyConverter < ::ActiveSupport::NumberHelper::NumberConverter # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_currency_converter.rb:10 def convert; end private # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_currency_converter.rb:38 def i18n_opts; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_currency_converter.rb:29 def options; end class << self # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace; end end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_delimited_converter.rb:7 class ActiveSupport::NumberHelper::NumberToDelimitedConverter < ::ActiveSupport::NumberHelper::NumberConverter # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_delimited_converter.rb:12 def convert; end private # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_delimited_converter.rb:25 def delimiter_pattern; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_delimited_converter.rb:17 def parts; end class << self # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float; end end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_delimited_converter.rb:10 ActiveSupport::NumberHelper::NumberToDelimitedConverter::DEFAULT_DELIMITER_REGEX = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_converter.rb:7 class ActiveSupport::NumberHelper::NumberToHumanConverter < ::ActiveSupport::NumberHelper::NumberConverter # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_converter.rb:15 def convert; end private # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_converter.rb:50 def calculate_exponent(units); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_converter.rb:38 def determine_unit(units, exponent); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_converter.rb:34 def format; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_converter.rb:55 def unit_exponents(units); end class << self # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float; end end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_converter.rb:8 ActiveSupport::NumberHelper::NumberToHumanConverter::DECIMAL_UNITS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_converter.rb:10 ActiveSupport::NumberHelper::NumberToHumanConverter::INVERTED_DECIMAL_UNITS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:7 class ActiveSupport::NumberHelper::NumberToHumanSizeConverter < ::ActiveSupport::NumberHelper::NumberConverter # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:13 def convert; end private # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:55 def base; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:31 def conversion_format; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:44 def exponent; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:51 def smaller_than_base?; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:39 def storage_unit_key; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:35 def unit; end class << self # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float; end end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_human_size_converter.rb:8 ActiveSupport::NumberHelper::NumberToHumanSizeConverter::STORAGE_UNITS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_percentage_converter.rb:7 class ActiveSupport::NumberHelper::NumberToPercentageConverter < ::ActiveSupport::NumberHelper::NumberConverter # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_percentage_converter.rb:10 def convert; end class << self # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace; end end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:7 class ActiveSupport::NumberHelper::NumberToPhoneConverter < ::ActiveSupport::NumberHelper::NumberConverter # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:8 def convert; end private # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:15 def convert_to_phone_number(number); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:23 def convert_with_area_code(number); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:30 def convert_without_area_code(number); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:46 def country_code(code); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:42 def delimiter; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:50 def phone_ext(ext); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:54 def regexp_pattern(default_pattern); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_phone_converter.rb:38 def start_with_delimiter?(number); end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_rounded_converter.rb:7 class ActiveSupport::NumberHelper::NumberToRoundedConverter < ::ActiveSupport::NumberHelper::NumberConverter # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_rounded_converter.rb:11 def convert; end private # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_rounded_converter.rb:49 def format_number(number); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_to_rounded_converter.rb:45 def strip_insignificant_zeros; end class << self # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:13 def namespace; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/number_converter.rb:16 def validate_float; end end end # source://activesupport-7.0.3.1/lib/active_support/number_helper/rounding_helper.rb:5 class ActiveSupport::NumberHelper::RoundingHelper # @return [RoundingHelper] a new instance of RoundingHelper # # source://activesupport-7.0.3.1/lib/active_support/number_helper/rounding_helper.rb:8 def initialize(options); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/rounding_helper.rb:20 def digit_count(number); end # Returns the value of attribute options. # # source://activesupport-7.0.3.1/lib/active_support/number_helper/rounding_helper.rb:6 def options; end # source://activesupport-7.0.3.1/lib/active_support/number_helper/rounding_helper.rb:12 def round(number); end private # source://activesupport-7.0.3.1/lib/active_support/number_helper/rounding_helper.rb:37 def absolute_precision(number); end # source://activesupport-7.0.3.1/lib/active_support/number_helper/rounding_helper.rb:26 def convert_to_decimal(number); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/conversions.rb:7 module ActiveSupport::NumericWithFormat # Provides options for converting numbers into formatted strings. # Options are provided for phone numbers, currency, percentage, # precision, positional notation, file size, and pretty printing. # # This method is aliased to to_formatted_s. # # ==== Options # # For details on which formats use which options, see ActiveSupport::NumberHelper # # ==== Examples # # Phone Numbers: # 5551234.to_fs(:phone) # => "555-1234" # 1235551234.to_fs(:phone) # => "123-555-1234" # 1235551234.to_fs(:phone, area_code: true) # => "(123) 555-1234" # 1235551234.to_fs(:phone, delimiter: ' ') # => "123 555 1234" # 1235551234.to_fs(:phone, area_code: true, extension: 555) # => "(123) 555-1234 x 555" # 1235551234.to_fs(:phone, country_code: 1) # => "+1-123-555-1234" # 1235551234.to_fs(:phone, country_code: 1, extension: 1343, delimiter: '.') # # => "+1.123.555.1234 x 1343" # # Currency: # 1234567890.50.to_fs(:currency) # => "$1,234,567,890.50" # 1234567890.506.to_fs(:currency) # => "$1,234,567,890.51" # 1234567890.506.to_fs(:currency, precision: 3) # => "$1,234,567,890.506" # 1234567890.506.to_fs(:currency, round_mode: :down) # => "$1,234,567,890.50" # 1234567890.506.to_fs(:currency, locale: :fr) # => "1 234 567 890,51 €" # -1234567890.50.to_fs(:currency, negative_format: '(%u%n)') # # => "($1,234,567,890.50)" # 1234567890.50.to_fs(:currency, unit: '£', separator: ',', delimiter: '') # # => "£1234567890,50" # 1234567890.50.to_fs(:currency, unit: '£', separator: ',', delimiter: '', format: '%n %u') # # => "1234567890,50 £" # # Percentage: # 100.to_fs(:percentage) # => "100.000%" # 100.to_fs(:percentage, precision: 0) # => "100%" # 1000.to_fs(:percentage, delimiter: '.', separator: ',') # => "1.000,000%" # 302.24398923423.to_fs(:percentage, precision: 5) # => "302.24399%" # 302.24398923423.to_fs(:percentage, round_mode: :down) # => "302.243%" # 1000.to_fs(:percentage, locale: :fr) # => "1 000,000%" # 100.to_fs(:percentage, format: '%n %') # => "100.000 %" # # Delimited: # 12345678.to_fs(:delimited) # => "12,345,678" # 12345678.05.to_fs(:delimited) # => "12,345,678.05" # 12345678.to_fs(:delimited, delimiter: '.') # => "12.345.678" # 12345678.to_fs(:delimited, delimiter: ',') # => "12,345,678" # 12345678.05.to_fs(:delimited, separator: ' ') # => "12,345,678 05" # 12345678.05.to_fs(:delimited, locale: :fr) # => "12 345 678,05" # 98765432.98.to_fs(:delimited, delimiter: ' ', separator: ',') # # => "98 765 432,98" # # Rounded: # 111.2345.to_fs(:rounded) # => "111.235" # 111.2345.to_fs(:rounded, precision: 2) # => "111.23" # 111.2345.to_fs(:rounded, precision: 2, round_mode: :up) # => "111.24" # 13.to_fs(:rounded, precision: 5) # => "13.00000" # 389.32314.to_fs(:rounded, precision: 0) # => "389" # 111.2345.to_fs(:rounded, significant: true) # => "111" # 111.2345.to_fs(:rounded, precision: 1, significant: true) # => "100" # 13.to_fs(:rounded, precision: 5, significant: true) # => "13.000" # 111.234.to_fs(:rounded, locale: :fr) # => "111,234" # 13.to_fs(:rounded, precision: 5, significant: true, strip_insignificant_zeros: true) # # => "13" # 389.32314.to_fs(:rounded, precision: 4, significant: true) # => "389.3" # 1111.2345.to_fs(:rounded, precision: 2, separator: ',', delimiter: '.') # # => "1.111,23" # # Human-friendly size in Bytes: # 123.to_fs(:human_size) # => "123 Bytes" # 1234.to_fs(:human_size) # => "1.21 KB" # 12345.to_fs(:human_size) # => "12.1 KB" # 1234567.to_fs(:human_size) # => "1.18 MB" # 1234567890.to_fs(:human_size) # => "1.15 GB" # 1234567890123.to_fs(:human_size) # => "1.12 TB" # 1234567890123456.to_fs(:human_size) # => "1.1 PB" # 1234567890123456789.to_fs(:human_size) # => "1.07 EB" # 1234567.to_fs(:human_size, precision: 2) # => "1.2 MB" # 1234567.to_fs(:human_size, precision: 2, round_mode: :up) # => "1.3 MB" # 483989.to_fs(:human_size, precision: 2) # => "470 KB" # 1234567.to_fs(:human_size, precision: 2, separator: ',') # => "1,2 MB" # 1234567890123.to_fs(:human_size, precision: 5) # => "1.1228 TB" # 524288000.to_fs(:human_size, precision: 5) # => "500 MB" # # Human-friendly format: # 123.to_fs(:human) # => "123" # 1234.to_fs(:human) # => "1.23 Thousand" # 12345.to_fs(:human) # => "12.3 Thousand" # 1234567.to_fs(:human) # => "1.23 Million" # 1234567890.to_fs(:human) # => "1.23 Billion" # 1234567890123.to_fs(:human) # => "1.23 Trillion" # 1234567890123456.to_fs(:human) # => "1.23 Quadrillion" # 1234567890123456789.to_fs(:human) # => "1230 Quadrillion" # 489939.to_fs(:human, precision: 2) # => "490 Thousand" # 489939.to_fs(:human, precision: 2, round_mode: :down) # => "480 Thousand" # 489939.to_fs(:human, precision: 4) # => "489.9 Thousand" # 1234567.to_fs(:human, precision: 4, # significant: false) # => "1.2346 Million" # 1234567.to_fs(:human, precision: 1, # separator: ',', # significant: false) # => "1,2 Million" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/conversions.rb:111 def to_formatted_s(format = T.unsafe(nil), options = T.unsafe(nil)); end # Provides options for converting numbers into formatted strings. # Options are provided for phone numbers, currency, percentage, # precision, positional notation, file size, and pretty printing. # # This method is aliased to to_formatted_s. # # ==== Options # # For details on which formats use which options, see ActiveSupport::NumberHelper # # ==== Examples # # Phone Numbers: # 5551234.to_fs(:phone) # => "555-1234" # 1235551234.to_fs(:phone) # => "123-555-1234" # 1235551234.to_fs(:phone, area_code: true) # => "(123) 555-1234" # 1235551234.to_fs(:phone, delimiter: ' ') # => "123 555 1234" # 1235551234.to_fs(:phone, area_code: true, extension: 555) # => "(123) 555-1234 x 555" # 1235551234.to_fs(:phone, country_code: 1) # => "+1-123-555-1234" # 1235551234.to_fs(:phone, country_code: 1, extension: 1343, delimiter: '.') # # => "+1.123.555.1234 x 1343" # # Currency: # 1234567890.50.to_fs(:currency) # => "$1,234,567,890.50" # 1234567890.506.to_fs(:currency) # => "$1,234,567,890.51" # 1234567890.506.to_fs(:currency, precision: 3) # => "$1,234,567,890.506" # 1234567890.506.to_fs(:currency, round_mode: :down) # => "$1,234,567,890.50" # 1234567890.506.to_fs(:currency, locale: :fr) # => "1 234 567 890,51 €" # -1234567890.50.to_fs(:currency, negative_format: '(%u%n)') # # => "($1,234,567,890.50)" # 1234567890.50.to_fs(:currency, unit: '£', separator: ',', delimiter: '') # # => "£1234567890,50" # 1234567890.50.to_fs(:currency, unit: '£', separator: ',', delimiter: '', format: '%n %u') # # => "1234567890,50 £" # # Percentage: # 100.to_fs(:percentage) # => "100.000%" # 100.to_fs(:percentage, precision: 0) # => "100%" # 1000.to_fs(:percentage, delimiter: '.', separator: ',') # => "1.000,000%" # 302.24398923423.to_fs(:percentage, precision: 5) # => "302.24399%" # 302.24398923423.to_fs(:percentage, round_mode: :down) # => "302.243%" # 1000.to_fs(:percentage, locale: :fr) # => "1 000,000%" # 100.to_fs(:percentage, format: '%n %') # => "100.000 %" # # Delimited: # 12345678.to_fs(:delimited) # => "12,345,678" # 12345678.05.to_fs(:delimited) # => "12,345,678.05" # 12345678.to_fs(:delimited, delimiter: '.') # => "12.345.678" # 12345678.to_fs(:delimited, delimiter: ',') # => "12,345,678" # 12345678.05.to_fs(:delimited, separator: ' ') # => "12,345,678 05" # 12345678.05.to_fs(:delimited, locale: :fr) # => "12 345 678,05" # 98765432.98.to_fs(:delimited, delimiter: ' ', separator: ',') # # => "98 765 432,98" # # Rounded: # 111.2345.to_fs(:rounded) # => "111.235" # 111.2345.to_fs(:rounded, precision: 2) # => "111.23" # 111.2345.to_fs(:rounded, precision: 2, round_mode: :up) # => "111.24" # 13.to_fs(:rounded, precision: 5) # => "13.00000" # 389.32314.to_fs(:rounded, precision: 0) # => "389" # 111.2345.to_fs(:rounded, significant: true) # => "111" # 111.2345.to_fs(:rounded, precision: 1, significant: true) # => "100" # 13.to_fs(:rounded, precision: 5, significant: true) # => "13.000" # 111.234.to_fs(:rounded, locale: :fr) # => "111,234" # 13.to_fs(:rounded, precision: 5, significant: true, strip_insignificant_zeros: true) # # => "13" # 389.32314.to_fs(:rounded, precision: 4, significant: true) # => "389.3" # 1111.2345.to_fs(:rounded, precision: 2, separator: ',', delimiter: '.') # # => "1.111,23" # # Human-friendly size in Bytes: # 123.to_fs(:human_size) # => "123 Bytes" # 1234.to_fs(:human_size) # => "1.21 KB" # 12345.to_fs(:human_size) # => "12.1 KB" # 1234567.to_fs(:human_size) # => "1.18 MB" # 1234567890.to_fs(:human_size) # => "1.15 GB" # 1234567890123.to_fs(:human_size) # => "1.12 TB" # 1234567890123456.to_fs(:human_size) # => "1.1 PB" # 1234567890123456789.to_fs(:human_size) # => "1.07 EB" # 1234567.to_fs(:human_size, precision: 2) # => "1.2 MB" # 1234567.to_fs(:human_size, precision: 2, round_mode: :up) # => "1.3 MB" # 483989.to_fs(:human_size, precision: 2) # => "470 KB" # 1234567.to_fs(:human_size, precision: 2, separator: ',') # => "1,2 MB" # 1234567890123.to_fs(:human_size, precision: 5) # => "1.1228 TB" # 524288000.to_fs(:human_size, precision: 5) # => "500 MB" # # Human-friendly format: # 123.to_fs(:human) # => "123" # 1234.to_fs(:human) # => "1.23 Thousand" # 12345.to_fs(:human) # => "12.3 Thousand" # 1234567.to_fs(:human) # => "1.23 Million" # 1234567890.to_fs(:human) # => "1.23 Billion" # 1234567890123.to_fs(:human) # => "1.23 Trillion" # 1234567890123456.to_fs(:human) # => "1.23 Quadrillion" # 1234567890123456789.to_fs(:human) # => "1230 Quadrillion" # 489939.to_fs(:human, precision: 2) # => "490 Thousand" # 489939.to_fs(:human, precision: 2, round_mode: :down) # => "480 Thousand" # 489939.to_fs(:human, precision: 4) # => "489.9 Thousand" # 1234567.to_fs(:human, precision: 4, # significant: false) # => "1.2346 Million" # 1234567.to_fs(:human, precision: 1, # separator: ',', # significant: false) # => "1,2 Million" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/conversions.rb:111 def to_fs(format = T.unsafe(nil), options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/option_merger.rb:6 class ActiveSupport::OptionMerger # @return [OptionMerger] a new instance of OptionMerger # # source://activesupport-7.0.3.1/lib/active_support/option_merger.rb:11 def initialize(context, options); end private # source://activesupport-7.0.3.1/lib/active_support/option_merger.rb:16 def method_missing(method, *arguments, &block); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/option_merger.rb:34 def respond_to_missing?(*arguments); end end # DEPRECATED: ActiveSupport::OrderedHash implements a hash that preserves # insertion order. # # oh = ActiveSupport::OrderedHash.new # oh[:a] = 1 # oh[:b] = 2 # oh.keys # => [:a, :b], this order is guaranteed # # Also, maps the +omap+ feature for YAML files # (See https://yaml.org/type/omap.html) to support ordered items # when loading from yaml. # # ActiveSupport::OrderedHash is namespaced to prevent conflicts # with other implementations. # # source://activesupport-7.0.3.1/lib/active_support/ordered_hash.rb:24 class ActiveSupport::OrderedHash < ::Hash # source://activesupport-7.0.3.1/lib/active_support/ordered_hash.rb:29 def encode_with(coder); end # Returns true to make sure that this hash is extractable via Array#extract_options! # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/ordered_hash.rb:46 def extractable_options?; end # source://activesupport-7.0.3.1/lib/active_support/ordered_hash.rb:41 def nested_under_indifferent_access; end # source://activesupport-7.0.3.1/lib/active_support/ordered_hash.rb:37 def reject(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/ordered_hash.rb:33 def select(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/ordered_hash.rb:25 def to_yaml_type; end end # +OrderedOptions+ inherits from +Hash+ and provides dynamic accessor methods. # # With a +Hash+, key-value pairs are typically managed like this: # # h = {} # h[:boy] = 'John' # h[:girl] = 'Mary' # h[:boy] # => 'John' # h[:girl] # => 'Mary' # h[:dog] # => nil # # Using +OrderedOptions+, the above code can be written as: # # h = ActiveSupport::OrderedOptions.new # h.boy = 'John' # h.girl = 'Mary' # h.boy # => 'John' # h.girl # => 'Mary' # h.dog # => nil # # To raise an exception when the value is blank, append a # bang to the key name, like: # # h.dog! # => raises KeyError: :dog is blank # # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:31 class ActiveSupport::OrderedOptions < ::Hash # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:39 def [](key); end # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:35 def []=(key, value); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:62 def extractable_options?; end # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:66 def inspect; end # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:43 def method_missing(name, *args); end protected # preserve the original #[] method def _get(_arg0); end private # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/ordered_options.rb:58 def respond_to_missing?(name, include_private); end end # NOTE: This approach has been deprecated for end-user code in favor of {thread_mattr_accessor}[rdoc-ref:Module#thread_mattr_accessor] and friends. # Please use that approach instead. # # This module is used to encapsulate access to thread local variables. # # Instead of polluting the thread locals namespace: # # Thread.current[:connection_handler] # # you define a class that extends this module: # # module ActiveRecord # class RuntimeRegistry # extend ActiveSupport::PerThreadRegistry # # attr_accessor :connection_handler # end # end # # and invoke the declared instance accessors as class methods. So # # ActiveRecord::RuntimeRegistry.connection_handler = connection_handler # # sets a connection handler local to the current thread, and # # ActiveRecord::RuntimeRegistry.connection_handler # # returns a connection handler local to the current thread. # # This feature is accomplished by instantiating the class and storing the # instance as a thread local keyed by the class name. In the example above # a key "ActiveRecord::RuntimeRegistry" is stored in Thread.current. # The class methods proxy to said thread local instance. # # If the class has an initializer, it must accept no arguments. # # source://activesupport-7.0.3.1/lib/active_support/per_thread_registry.rb:41 module ActiveSupport::PerThreadRegistry # source://activesupport-7.0.3.1/lib/active_support/per_thread_registry.rb:50 def instance; end private # source://activesupport-7.0.3.1/lib/active_support/per_thread_registry.rb:55 def method_missing(name, *args, **_arg2, &block); end class << self # @private # # source://activesupport-7.0.3.1/lib/active_support/per_thread_registry.rb:42 def extended(object); end end end # A class with no predefined methods that behaves similarly to Builder's # BlankSlate. Used for proxy classes. # # source://activesupport-7.0.3.1/lib/active_support/proxy_object.rb:6 class ActiveSupport::ProxyObject < ::BasicObject # Let ActiveSupport::ProxyObject at least raise exceptions. # # source://activesupport-7.0.3.1/lib/active_support/proxy_object.rb:11 def raise(*args); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/conversions.rb:4 module ActiveSupport::RangeWithFormat # Convert range to a formatted string. See RANGE_FORMATS for predefined formats. # # This method is aliased to to_formatted_s. # # range = (1..100) # => 1..100 # # range.to_s # => "1..100" # range.to_fs(:db) # => "BETWEEN '1' AND '100'" # # == Adding your own range formats to to_s # You can add your own formats to the Range::RANGE_FORMATS hash. # Use the format name as the hash key and a Proc instance. # # # config/initializers/range_formats.rb # Range::RANGE_FORMATS[:short] = ->(start, stop) { "Between #{start.to_fs(:db)} and #{stop.to_fs(:db)}" } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/conversions.rb:30 def to_formatted_s(format = T.unsafe(nil)); end # Convert range to a formatted string. See RANGE_FORMATS for predefined formats. # # This method is aliased to to_formatted_s. # # range = (1..100) # => 1..100 # # range.to_s # => "1..100" # range.to_fs(:db) # => "BETWEEN '1' AND '100'" # # == Adding your own range formats to to_s # You can add your own formats to the Range::RANGE_FORMATS hash. # Use the format name as the hash key and a Proc instance. # # # config/initializers/range_formats.rb # Range::RANGE_FORMATS[:short] = ->(start, stop) { "Between #{start.to_fs(:db)} and #{stop.to_fs(:db)}" } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/conversions.rb:30 def to_fs(format = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/conversions.rb:5 ActiveSupport::RangeWithFormat::RANGE_FORMATS = T.let(T.unsafe(nil), Hash) # -- # This class defines several callbacks: # # to_prepare -- Run once at application startup, and also from # +to_run+. # # to_run -- Run before a work run that is reloading. If # +reload_classes_only_on_change+ is true (the default), the class # unload will have already occurred. # # to_complete -- Run after a work run that has reloaded. If # +reload_classes_only_on_change+ is false, the class unload will # have occurred after the work run, but before this callback. # # before_class_unload -- Run immediately before the classes are # unloaded. # # after_class_unload -- Run immediately after the classes are # unloaded. # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:27 class ActiveSupport::Reloader < ::ActiveSupport::ExecutionWrapper # @return [Reloader] a new instance of Reloader # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:91 def initialize; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:940 def _class_unload_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:940 def _prepare_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:928 def _run_class_unload_callbacks(&block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:928 def _run_prepare_callbacks(&block); end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:77 def check; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:77 def check=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:77 def check?; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:118 def class_unload!(&block); end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:123 def complete!; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:76 def executor; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:76 def executor=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:76 def executor?; end # Release the unload lock if it has been previously obtained # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:106 def release_unload_lock!; end # Acquire the ActiveSupport::Dependencies::Interlock unload lock, # ensuring it will be released automatically # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:98 def require_unload_lock!; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:113 def run!; end class << self # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:932 def _class_unload_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:936 def _class_unload_callbacks=(value); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:932 def _prepare_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:936 def _prepare_callbacks=(value); end # Registers a callback that will run immediately after the classes are unloaded. # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:43 def after_class_unload(*args, &block); end # Registers a callback that will run immediately before the classes are unloaded. # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:38 def before_class_unload(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:77 def check; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:79 def check!; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:77 def check=(value); end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:77 def check?; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:76 def executor; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:76 def executor=(value); end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:76 def executor?; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:87 def prepare!; end # Initiate a manual reload # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:50 def reload!; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:83 def reloaded!; end # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:61 def run!(reset: T.unsafe(nil)); end # Registers a callback that will run once at application startup and every time the code is reloaded. # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:33 def to_prepare(*args, &block); end # Run the supplied block as a work unit, reloading code as needed # # source://activesupport-7.0.3.1/lib/active_support/reloader.rb:70 def wrap; end end end # Rescuable module adds support for easier exception handling. # # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:9 module ActiveSupport::Rescuable extend ::ActiveSupport::Concern include GeneratedInstanceMethods mixes_in_class_methods GeneratedClassMethods mixes_in_class_methods ::ActiveSupport::Rescuable::ClassMethods # Internal handler lookup. Delegates to class method. Some libraries call # this directly, so keeping it around for compatibility. # # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:170 def handler_for_rescue(exception); end # Delegates to the class method, but uses the instance as the subject for # rescue_from handlers (method calls, +instance_exec+ blocks). # # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:164 def rescue_with_handler(exception); end module GeneratedClassMethods def rescue_handlers; end def rescue_handlers=(value); end def rescue_handlers?; end end module GeneratedInstanceMethods def rescue_handlers; end def rescue_handlers=(value); end def rescue_handlers?; end end end # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:16 module ActiveSupport::Rescuable::ClassMethods # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:103 def handler_for_rescue(exception, object: T.unsafe(nil)); end # Registers exception classes with a handler to be called by rescue_with_handler. # # rescue_from receives a series of exception classes or class # names, and an exception handler specified by a trailing :with # option containing the name of a method or a Proc object. Alternatively, a block # can be given as the handler. # # Handlers that take one argument will be called with the exception, so # that the exception can be inspected when dealing with it. # # Handlers are inherited. They are searched from right to left, from # bottom to top, and up the hierarchy. The handler of the first class for # which exception.is_a?(klass) holds true is the one invoked, if # any. # # class ApplicationController < ActionController::Base # rescue_from User::NotAuthorized, with: :deny_access # self defined exception # rescue_from ActiveRecord::RecordInvalid, with: :show_errors # # rescue_from 'MyAppError::Base' do |exception| # render xml: exception, status: 500 # end # # private # def deny_access # ... # end # # def show_errors(exception) # exception.record.new_record? ? ... # end # end # # Exceptions raised inside exception handlers are not propagated up. # # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:51 def rescue_from(*klasses, with: T.unsafe(nil), &block); end # Matches an exception to a handler based on the exception class. # # If no handler matches the exception, check for a handler matching the # (optional) +exception.cause+. If no handler matches the exception or its # cause, this returns +nil+, so you can deal with unhandled exceptions. # Be sure to re-raise unhandled exceptions if this is what you expect. # # begin # … # rescue => exception # rescue_with_handler(exception) || raise # end # # Returns the exception if it was handled and +nil+ if it was not. # # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:88 def rescue_with_handler(exception, object: T.unsafe(nil), visited_exceptions: T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:137 def constantize_rescue_handler_class(class_or_name); end # source://activesupport-7.0.3.1/lib/active_support/rescuable.rb:122 def find_rescue_handler(exception); end end # source://activesupport-7.0.3.1/lib/active_support/ruby_features.rb:4 module ActiveSupport::RubyFeatures; end # RUBY_VERSION >= "3.1" # # source://activesupport-7.0.3.1/lib/active_support/ruby_features.rb:5 ActiveSupport::RubyFeatures::CLASS_SUBCLASSES = T.let(T.unsafe(nil), TrueClass) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:162 class ActiveSupport::SafeBuffer < ::String # @return [SafeBuffer] a new instance of SafeBuffer # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:200 def initialize(str = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:253 def %(args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:246 def *(*_arg0); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:242 def +(other); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:214 def <<(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:181 def [](*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:234 def []=(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def capitalize(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def capitalize!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def chomp(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def chomp!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def chop(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def chop!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:210 def clone_empty; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:214 def concat(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def delete(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def delete!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def delete_prefix(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def delete_prefix!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def delete_suffix(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def delete_suffix!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def downcase(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def downcase!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:276 def encode_with(coder); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:297 def gsub(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:308 def gsub!(*args, &block); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:264 def html_safe?; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:222 def insert(index, value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def lstrip(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def lstrip!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def next(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def next!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:226 def prepend(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:230 def replace(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def reverse(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def reverse!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def rstrip(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def rstrip!(*args); end # @raise [SafeConcatError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:195 def safe_concat(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def scrub(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def scrub!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def slice(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def slice!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def squeeze(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def squeeze!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def strip(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def strip!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:297 def sub(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:308 def sub!(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def succ(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def succ!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def swapcase(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def swapcase!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:272 def to_param; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:268 def to_s; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def tr(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def tr!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def tr_s(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def tr_s!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def unicode_normalize(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def unicode_normalize!(*args); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:283 def upcase(*args, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:287 def upcase!(*args); end private # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:323 def explicit_html_escape_interpolated_argument(arg); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:327 def implicit_html_escape_interpolated_argument(arg); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:205 def initialize_copy(other); end def original_concat(*_arg0); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:350 def set_block_back_references(block, match_data); end end # Raised when ActiveSupport::SafeBuffer#safe_concat is called on unsafe buffers. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:175 class ActiveSupport::SafeBuffer::SafeConcatError < ::StandardError # @return [SafeConcatError] a new instance of SafeConcatError # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:176 def initialize; end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:163 ActiveSupport::SafeBuffer::UNSAFE_STRING_METHODS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:169 ActiveSupport::SafeBuffer::UNSAFE_STRING_METHODS_WITH_BACKREF = T.let(T.unsafe(nil), Array) # The ActiveSupport::SecureCompareRotator is a wrapper around ActiveSupport::SecurityUtils.secure_compare # and allows you to rotate a previously defined value to a new one. # # It can be used as follow: # # rotator = ActiveSupport::SecureCompareRotator.new('new_production_value') # rotator.rotate('previous_production_value') # rotator.secure_compare!('previous_production_value') # # One real use case example would be to rotate a basic auth credentials: # # class MyController < ApplicationController # def authenticate_request # rotator = ActiveSupport::SecureCompareRotator.new('new_password') # rotator.rotate('old_password') # # authenticate_or_request_with_http_basic do |username, password| # rotator.secure_compare!(password) # rescue ActiveSupport::SecureCompareRotator::InvalidMatch # false # end # end # end # # source://activesupport-7.0.3.1/lib/active_support/secure_compare_rotator.rb:30 class ActiveSupport::SecureCompareRotator include ::ActiveSupport::Messages::Rotator include ::ActiveSupport::SecurityUtils # @return [SecureCompareRotator] a new instance of SecureCompareRotator # # source://activesupport-7.0.3.1/lib/active_support/messages/rotator.rb:6 def initialize(*secrets, on_rotation: T.unsafe(nil), **options); end # source://activesupport-7.0.3.1/lib/active_support/secure_compare_rotator.rb:40 def secure_compare!(other_value, on_rotation: T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/secure_compare_rotator.rb:47 def build_rotation(previous_value, _options); end end # source://activesupport-7.0.3.1/lib/active_support/secure_compare_rotator.rb:34 class ActiveSupport::SecureCompareRotator::InvalidMatch < ::StandardError; end # source://activesupport-7.0.3.1/lib/active_support/security_utils.rb:4 module ActiveSupport::SecurityUtils private # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/security_utils.rb:11 def fixed_length_secure_compare(a, b); end # Secure string comparison for strings of variable length. # # While a timing attack would not be able to discern the content of # a secret compared via secure_compare, it is possible to determine # the secret length. This should be considered when using secure_compare # to compare weak, short secrets to user input. # # source://activesupport-7.0.3.1/lib/active_support/security_utils.rb:33 def secure_compare(a, b); end class << self # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/security_utils.rb:11 def fixed_length_secure_compare(a, b); end # Secure string comparison for strings of variable length. # # While a timing attack would not be able to discern the content of # a secret compared via secure_compare, it is possible to determine # the secret length. This should be considered when using secure_compare # to compare weak, short secrets to user input. # # source://activesupport-7.0.3.1/lib/active_support/security_utils.rb:33 def secure_compare(a, b); end end end # Wrapping a string in this class gives you a prettier way to test # for equality. The value returned by Rails.env is wrapped # in a StringInquirer object, so instead of calling this: # # Rails.env == 'production' # # you can call this: # # Rails.env.production? # # == Instantiating a new StringInquirer # # vehicle = ActiveSupport::StringInquirer.new('car') # vehicle.car? # => true # vehicle.bike? # => false # # source://activesupport-7.0.3.1/lib/active_support/string_inquirer.rb:19 class ActiveSupport::StringInquirer < ::String private # source://activesupport-7.0.3.1/lib/active_support/string_inquirer.rb:25 def method_missing(method_name, *arguments); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/string_inquirer.rb:21 def respond_to_missing?(method_name, include_private = T.unsafe(nil)); end end # ActiveSupport::Subscriber is an object set to consume # ActiveSupport::Notifications. The subscriber dispatches notifications to # a registered object based on its given namespace. # # An example would be an Active Record subscriber responsible for collecting # statistics about queries: # # module ActiveRecord # class StatsSubscriber < ActiveSupport::Subscriber # attach_to :active_record # # def sql(event) # Statsd.timing("sql.#{event.payload[:name]}", event.duration) # end # end # end # # After configured, whenever a "sql.active_record" notification is published, # it will properly dispatch the event (ActiveSupport::Notifications::Event) to # the +sql+ method. # # We can detach a subscriber as well: # # ActiveRecord::StatsSubscriber.detach_from(:active_record) # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:30 class ActiveSupport::Subscriber # @return [Subscriber] a new instance of Subscriber # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:128 def initialize; end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:143 def finish(name, id, payload); end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:126 def patterns; end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:152 def publish_event(event); end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:134 def start(name, id, payload); end private # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:158 def event_stack; end class << self # Attach the subscriber to a namespace. # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:33 def attach_to(namespace, subscriber = T.unsafe(nil), notifier = T.unsafe(nil), inherit_all: T.unsafe(nil)); end # Detach the subscriber from a namespace. # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:48 def detach_from(namespace, notifier = T.unsafe(nil)); end # Adds event subscribers for all new methods added to the class. # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:67 def method_added(event); end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:76 def subscribers; end private # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:83 def add_event_subscriber(event); end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:121 def fetch_public_methods(subscriber, inherit_all); end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:105 def find_attached_subscriber; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:109 def invalid_event?(event); end # Returns the value of attribute namespace. # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:81 def namespace; end # Returns the value of attribute notifier. # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:81 def notifier; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:117 def pattern_subscribed?(pattern); end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:113 def prepare_pattern(event); end # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:94 def remove_event_subscriber(event); end # Returns the value of attribute subscriber. # # source://activesupport-7.0.3.1/lib/active_support/subscriber.rb:81 def subscriber; end end end # Wraps any standard Logger object to provide tagging capabilities. # # May be called with a block: # # logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT)) # logger.tagged('BCX') { logger.info 'Stuff' } # Logs "[BCX] Stuff" # logger.tagged('BCX', "Jason") { logger.info 'Stuff' } # Logs "[BCX] [Jason] Stuff" # logger.tagged('BCX') { logger.tagged('Jason') { logger.info 'Stuff' } } # Logs "[BCX] [Jason] Stuff" # # If called without a block, a new logger will be returned with applied tags: # # logger = ActiveSupport::TaggedLogging.new(Logger.new(STDOUT)) # logger.tagged("BCX").info "Stuff" # Logs "[BCX] Stuff" # logger.tagged("BCX", "Jason").info "Stuff" # Logs "[BCX] [Jason] Stuff" # logger.tagged("BCX").tagged("Jason").info "Stuff" # Logs "[BCX] [Jason] Stuff" # # This is used by the default Rails.logger as configured by Railties to make # it easy to stamp log lines with subdomains, request ids, and anything else # to aid debugging of multi-user production applications. # # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:29 module ActiveSupport::TaggedLogging # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:98 def broadcast_to(other_logger); end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:96 def clear_tags!(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:123 def flush; end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:96 def pop_tags(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:96 def push_tags(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:112 def tagged(*tags); end class << self # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:82 def new(logger); end end end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:30 module ActiveSupport::TaggedLogging::Formatter # This method is invoked when a log event occurs. # # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:32 def call(severity, timestamp, progname, msg); end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:54 def clear_tags!; end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:58 def current_tags; end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:50 def pop_tags(size = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:43 def push_tags(*tags); end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:36 def tagged(*tags); end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:64 def tags_text; end end # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:74 module ActiveSupport::TaggedLogging::LocalTagStorage # Returns the value of attribute current_tags. # # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:75 def current_tags; end # Sets the attribute current_tags # # @param value the value to set the attribute current_tags to. # # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:75 def current_tags=(_arg0); end class << self # @private # # source://activesupport-7.0.3.1/lib/active_support/tagged_logging.rb:77 def extended(base); end end end # source://activesupport-7.0.3.1/lib/active_support/test_case.rb:19 class ActiveSupport::TestCase < ::Minitest::Test include ::ActiveSupport::Testing::SetupAndTeardown include ::ActiveSupport::Testing::TaggedLogging include ::ActiveSupport::Callbacks include ::ActiveSupport::Testing::Assertions include ::ActiveSupport::Testing::Deprecation include ::ActiveSupport::Testing::TimeHelpers include ::ActiveSupport::Testing::FileFixtures extend ::ActiveSupport::Callbacks::ClassMethods extend ::ActiveSupport::DescendantsTracker extend ::ActiveSupport::Testing::SetupAndTeardown::ClassMethods extend ::ActiveSupport::Testing::Declarative # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks?; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:928 def _run_setup_callbacks(&block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:928 def _run_teardown_callbacks(&block); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:940 def _setup_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:940 def _teardown_callbacks; end # source://minitest-5.16.3/lib/minitest/assertions.rb:709 def assert_no_match(matcher, obj, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:638 def assert_not_empty(obj, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:649 def assert_not_equal(exp, act, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:661 def assert_not_in_delta(exp, act, delta = T.unsafe(nil), msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:673 def assert_not_in_epsilon(a, b, epsilon = T.unsafe(nil), msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:680 def assert_not_includes(collection, obj, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:691 def assert_not_instance_of(cls, obj, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:701 def assert_not_kind_of(cls, obj, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:719 def assert_not_nil(obj, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:730 def assert_not_operator(o1, op, o2 = T.unsafe(nil), msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:753 def assert_not_predicate(o1, op, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:761 def assert_not_respond_to(obj, meth, msg = T.unsafe(nil)); end # source://minitest-5.16.3/lib/minitest/assertions.rb:770 def assert_not_same(exp, act, msg = T.unsafe(nil)); end # test/unit backwards compatibility methods # # source://minitest-5.16.3/lib/minitest/assertions.rb:396 def assert_raise(*exp); end # source://activesupport-7.0.3.1/lib/active_support/testing/file_fixtures.rb:20 def file_fixture_path; end # source://activesupport-7.0.3.1/lib/active_support/testing/file_fixtures.rb:20 def file_fixture_path?; end # source://minitest-5.16.3/lib/minitest.rb:304 def method_name; end class << self # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks=(value); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:68 def __callbacks?; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:932 def _setup_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:936 def _setup_callbacks=(value); end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:932 def _teardown_callbacks; end # source://activesupport-7.0.3.1/lib/active_support/callbacks.rb:936 def _teardown_callbacks=(value); end # source://activesupport-7.0.3.1/lib/active_support/testing/file_fixtures.rb:20 def file_fixture_path; end # source://activesupport-7.0.3.1/lib/active_support/testing/file_fixtures.rb:20 def file_fixture_path=(value); end # source://activesupport-7.0.3.1/lib/active_support/testing/file_fixtures.rb:20 def file_fixture_path?; end # Parallelizes the test suite. # # Takes a +workers+ argument that controls how many times the process # is forked. For each process a new database will be created suffixed # with the worker number. # # test-database-0 # test-database-1 # # If ENV["PARALLEL_WORKERS"] is set the workers argument will be ignored # and the environment variable will be used instead. This is useful for CI # environments, or other environments where you may need more workers than # you do for local testing. # # If the number of workers is set to +1+ or fewer, the tests will not be # parallelized. # # If +workers+ is set to +:number_of_processors+, the number of workers will be # set to the actual core count on the machine you are on. # # The default parallelization method is to fork processes. If you'd like to # use threads instead you can pass with: :threads to the +parallelize+ # method. Note the threaded parallelization does not create multiple # database and will not work with system tests at this time. # # parallelize(workers: :number_of_processors, with: :threads) # # The threaded parallelization uses minitest's parallel executor directly. # The processes parallelization uses a Ruby DRb server. # # Because parallelization presents an overhead, it is only enabled when the # number of tests to run is above the +threshold+ param. The default value is # 50, and it's configurable via +config.active_support.test_parallelization_threshold+. # # source://activesupport-7.0.3.1/lib/active_support/test_case.rb:79 def parallelize(workers: T.unsafe(nil), with: T.unsafe(nil), threshold: T.unsafe(nil)); end # Set up hook for parallel testing. This can be used if you have multiple # databases or any behavior that needs to be run after the process is forked # but before the tests run. # # Note: this feature is not available with the threaded parallelization. # # In your +test_helper.rb+ add the following: # # class ActiveSupport::TestCase # parallelize_setup do # # create databases # end # end # # source://activesupport-7.0.3.1/lib/active_support/test_case.rb:101 def parallelize_setup(&block); end # Clean up hook for parallel testing. This can be used to drop databases # if your app uses multiple write/read databases or other clean up before # the tests finish. This runs before the forked process is closed. # # Note: this feature is not available with the threaded parallelization. # # In your +test_helper.rb+ add the following: # # class ActiveSupport::TestCase # parallelize_teardown do # # drop databases # end # end # # source://activesupport-7.0.3.1/lib/active_support/test_case.rb:118 def parallelize_teardown(&block); end # Returns the order in which test cases are run. # # ActiveSupport::TestCase.test_order # => :random # # Possible values are +:random+, +:parallel+, +:alpha+, +:sorted+. # Defaults to +:random+. # # source://activesupport-7.0.3.1/lib/active_support/test_case.rb:42 def test_order; end # Sets the order in which test cases are run. # # ActiveSupport::TestCase.test_order = :random # => :random # # Valid values are: # * +:random+ (to run tests in random order) # * +:parallel+ (to run tests in parallel) # * +:sorted+ (to run tests alphabetically by method name) # * +:alpha+ (equivalent to +:sorted+) # # source://activesupport-7.0.3.1/lib/active_support/test_case.rb:32 def test_order=(new_order); end end end # source://activesupport-7.0.3.1/lib/active_support/test_case.rb:20 ActiveSupport::TestCase::Assertion = Minitest::Assertion # source://activesupport-7.0.3.1/lib/active_support/testing/tagged_logging.rb:4 module ActiveSupport::Testing; end # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:7 module ActiveSupport::Testing::Assertions # Assertion that the result of evaluating an expression is changed before # and after invoking the passed in block. # # assert_changes 'Status.all_good?' do # post :create, params: { status: { ok: false } } # end # # You can pass the block as a string to be evaluated in the context of # the block. A lambda can be passed for the block as well. # # assert_changes -> { Status.all_good? } do # post :create, params: { status: { ok: false } } # end # # The assertion is useful to test side effects. The passed block can be # anything that can be converted to string with #to_s. # # assert_changes :@object do # @object = 42 # end # # The keyword arguments +:from+ and +:to+ can be given to specify the # expected initial value and the expected value after the block was # executed. # # assert_changes :@object, from: nil, to: :foo do # @object = :foo # end # # An error message can be specified. # # assert_changes -> { Status.all_good? }, 'Expected the status to be bad' do # post :create, params: { status: { incident: true } } # end # # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:175 def assert_changes(expression, message = T.unsafe(nil), from: T.unsafe(nil), to: T.unsafe(nil), &block); end # Test numeric difference between the return value of an expression as a # result of what is evaluated in the yielded block. # # assert_difference 'Article.count' do # post :create, params: { article: {...} } # end # # An arbitrary expression is passed in and evaluated. # # assert_difference 'Article.last.comments(:reload).size' do # post :create, params: { comment: {...} } # end # # An arbitrary positive or negative difference can be specified. # The default is 1. # # assert_difference 'Article.count', -1 do # post :delete, params: { id: ... } # end # # An array of expressions can also be passed in and evaluated. # # assert_difference [ 'Article.count', 'Post.count' ], 2 do # post :create, params: { article: {...} } # end # # A hash of expressions/numeric differences can also be passed in and evaluated. # # assert_difference ->{ Article.count } => 1, ->{ Notification.count } => 2 do # post :create, params: { article: {...} } # end # # A lambda or a list of lambdas can be passed in and evaluated: # # assert_difference ->{ Article.count }, 2 do # post :create, params: { article: {...} } # end # # assert_difference [->{ Article.count }, ->{ Post.count }], 2 do # post :create, params: { article: {...} } # end # # An error message can be specified. # # assert_difference 'Article.count', -1, 'An Article should be destroyed' do # post :delete, params: { id: ... } # end # # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:86 def assert_difference(expression, *args, &block); end # Assertion that the result of evaluating an expression is not changed before # and after invoking the passed in block. # # assert_no_changes 'Status.all_good?' do # post :create, params: { status: { ok: true } } # end # # Provide the optional keyword argument :from to specify the expected # initial value. # # assert_no_changes -> { Status.all_good? }, from: true do # post :create, params: { status: { ok: true } } # end # # An error message can be specified. # # assert_no_changes -> { Status.all_good? }, 'Expected the status to be good' do # post :create, params: { status: { ok: false } } # end # # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:222 def assert_no_changes(expression, message = T.unsafe(nil), from: T.unsafe(nil), &block); end # Assertion that the numeric result of evaluating an expression is not # changed before and after invoking the passed in block. # # assert_no_difference 'Article.count' do # post :create, params: { article: invalid_attributes } # end # # A lambda can be passed in and evaluated. # # assert_no_difference -> { Article.count } do # post :create, params: { article: invalid_attributes } # end # # An error message can be specified. # # assert_no_difference 'Article.count', 'An Article should not be created' do # post :create, params: { article: invalid_attributes } # end # # An array of expressions can also be passed in and evaluated. # # assert_no_difference [ 'Article.count', -> { Post.count } ] do # post :create, params: { article: invalid_attributes } # end # # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:137 def assert_no_difference(expression, message = T.unsafe(nil), &block); end # Asserts that an expression is not truthy. Passes if object is # +nil+ or +false+. "Truthy" means "considered true in a conditional" # like if foo. # # assert_not nil # => true # assert_not false # => true # assert_not 'foo' # => Expected "foo" to be nil or false # # An error message can be specified. # # assert_not foo, 'foo should be false' # # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:21 def assert_not(object, message = T.unsafe(nil)); end # Assertion that the block should not raise an exception. # # Passes if evaluated code in the yielded block raises no exception. # # assert_nothing_raised do # perform_service(param: 'no_exception') # end # # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:33 def assert_nothing_raised; end private # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:249 def _assert_nothing_raised_or_warn(assertion, &block); end end # source://activesupport-7.0.3.1/lib/active_support/testing/assertions.rb:8 ActiveSupport::Testing::Assertions::UNTRACKED = T.let(T.unsafe(nil), Object) # Resolves a constant from a minitest spec name. # # Given the following spec-style test: # # describe WidgetsController, :index do # describe "authenticated user" do # describe "returns widgets" do # it "has a controller that exists" do # assert_kind_of WidgetsController, @controller # end # end # end # end # # The test will have the following name: # # "WidgetsController::index::authenticated user::returns widgets" # # The constant WidgetsController can be resolved from the name. # The following code will resolve the constant: # # controller = determine_constant_from_test_name(name) do |constant| # Class === constant && constant < ::ActionController::Metal # end # # source://activesupport-7.0.3.1/lib/active_support/testing/constant_lookup.rb:32 module ActiveSupport::Testing::ConstantLookup extend ::ActiveSupport::Concern mixes_in_class_methods ::ActiveSupport::Testing::ConstantLookup::ClassMethods end # source://activesupport-7.0.3.1/lib/active_support/testing/constant_lookup.rb:35 module ActiveSupport::Testing::ConstantLookup::ClassMethods # source://activesupport-7.0.3.1/lib/active_support/testing/constant_lookup.rb:36 def determine_constant_from_test_name(test_name); end end # source://activesupport-7.0.3.1/lib/active_support/testing/declarative.rb:5 module ActiveSupport::Testing::Declarative # Helper to define a test method using a String. Under the hood, it replaces # spaces with underscores and defines the test method. # # test "verify something" do # ... # end # # source://activesupport-7.0.3.1/lib/active_support/testing/declarative.rb:13 def test(name, &block); end end # source://activesupport-7.0.3.1/lib/active_support/testing/deprecation.rb:7 module ActiveSupport::Testing::Deprecation # Asserts that a matching deprecation warning was emitted by the given deprecator during the execution of the yielded block. # # assert_deprecated(/foo/, CustomDeprecator) do # CustomDeprecator.warn "foo should no longer be used" # end # # The +match+ object may be a +Regexp+, or +String+ appearing in the message. # # assert_deprecated('foo', CustomDeprecator) do # CustomDeprecator.warn "foo should no longer be used" # end # # If the +match+ is omitted (or explicitly +nil+), any deprecation warning will match. # # assert_deprecated(nil, CustomDeprecator) do # CustomDeprecator.warn "foo should no longer be used" # end # # If no +deprecator+ is given, defaults to ActiveSupport::Deprecation. # # assert_deprecated do # ActiveSupport::Deprecation.warn "foo should no longer be used" # end # # source://activesupport-7.0.3.1/lib/active_support/testing/deprecation.rb:31 def assert_deprecated(match = T.unsafe(nil), deprecator = T.unsafe(nil), &block); end # Asserts that no deprecation warnings are emitted by the given deprecator during the execution of the yielded block. # # assert_not_deprecated(CustomDeprecator) do # CustomDeprecator.warn "message" # fails assertion # end # # If no +deprecator+ is given, defaults to ActiveSupport::Deprecation. # # assert_not_deprecated do # ActiveSupport::Deprecation.warn "message" # fails assertion # end # # assert_not_deprecated do # CustomDeprecator.warn "message" # passes assertion # end # # source://activesupport-7.0.3.1/lib/active_support/testing/deprecation.rb:56 def assert_not_deprecated(deprecator = T.unsafe(nil), &block); end # Returns an array of all the deprecation warnings emitted by the given # +deprecator+ during the execution of the yielded block. # # collect_deprecations(CustomDeprecator) do # CustomDeprecator.warn "message" # end # => ["message"] # # If no +deprecator+ is given, defaults to ActiveSupport::Deprecation. # # collect_deprecations do # CustomDeprecator.warn "custom message" # ActiveSupport::Deprecation.warn "message" # end # => ["message"] # # source://activesupport-7.0.3.1/lib/active_support/testing/deprecation.rb:75 def collect_deprecations(deprecator = T.unsafe(nil)); end end # Adds simple access to sample files called file fixtures. # File fixtures are normal files stored in # ActiveSupport::TestCase.file_fixture_path. # # File fixtures are represented as +Pathname+ objects. # This makes it easy to extract specific information: # # file_fixture("example.txt").read # get the file's content # file_fixture("example.mp3").size # get the file size # # source://activesupport-7.0.3.1/lib/active_support/testing/file_fixtures.rb:16 module ActiveSupport::Testing::FileFixtures extend ::ActiveSupport::Concern include GeneratedInstanceMethods mixes_in_class_methods GeneratedClassMethods # Returns a +Pathname+ to the fixture file named +fixture_name+. # # Raises +ArgumentError+ if +fixture_name+ can't be found. # # source://activesupport-7.0.3.1/lib/active_support/testing/file_fixtures.rb:26 def file_fixture(fixture_name); end module GeneratedClassMethods def file_fixture_path; end def file_fixture_path=(value); end def file_fixture_path?; end end module GeneratedInstanceMethods def file_fixture_path; end def file_fixture_path?; end end end # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:5 module ActiveSupport::Testing::Isolation include ::ActiveSupport::Testing::Isolation::Forking # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:18 def run; end class << self # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:14 def forking_env?; end # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:8 def included(klass); end end end # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:26 module ActiveSupport::Testing::Isolation::Forking # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:27 def run_in_isolation(&blk); end end # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:63 module ActiveSupport::Testing::Isolation::Subprocess # Complicated H4X to get this working in windows / jruby with # no forking. # # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:68 def run_in_isolation(&blk); end end # source://activesupport-7.0.3.1/lib/active_support/testing/isolation.rb:64 ActiveSupport::Testing::Isolation::Subprocess::ORIG_ARGV = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:8 class ActiveSupport::Testing::Parallelization # @return [Parallelization] a new instance of Parallelization # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:28 def initialize(worker_count); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:41 def <<(work); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:18 def after_fork_hooks; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:26 def run_cleanup_hooks; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:49 def shutdown; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:45 def size; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:35 def start; end class << self # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:14 def after_fork_hook(&blk); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:18 def after_fork_hooks; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:22 def run_cleanup_hook(&blk); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization.rb:26 def run_cleanup_hooks; end end end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:9 class ActiveSupport::Testing::Parallelization::Server include ::DRb::DRbUndumped # @return [Server] a new instance of Server # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:12 def initialize; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:28 def <<(o); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:48 def active_workers?; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:52 def interrupt; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:33 def pop; end # @raise [DRb::DRbConnError] # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:18 def record(reporter, result); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:56 def shutdown; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:40 def start_worker(worker_id); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/server.rb:44 def stop_worker(worker_id); end end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:6 class ActiveSupport::Testing::Parallelization::Worker # @return [Worker] a new instance of Worker # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:7 def initialize(number, url); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:80 def after_fork; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:42 def perform_job(job); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:86 def run_cleanup; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:56 def safe_record(reporter, result); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:14 def start; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:36 def work_from_queue; end private # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:93 def add_setup_exception(result); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelization/worker.rb:97 def set_process_title(status); end end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:5 class ActiveSupport::Testing::ParallelizeExecutor # @return [ParallelizeExecutor] a new instance of ParallelizeExecutor # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:8 def initialize(size:, with:, threshold: T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:21 def <<(work); end # Returns the value of attribute parallelize_with. # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:6 def parallelize_with; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:25 def shutdown; end # Returns the value of attribute size. # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:6 def size; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:14 def start; end # Returns the value of attribute threshold. # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:6 def threshold; end private # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:34 def build_parallel_executor; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:67 def execution_info; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:30 def parallel_executor; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:46 def parallelize; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:51 def parallelized?; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:55 def should_parallelize?; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:63 def show_execution_info; end # source://activesupport-7.0.3.1/lib/active_support/testing/parallelize_executor.rb:59 def tests_count; end end # Adds support for +setup+ and +teardown+ callbacks. # These callbacks serve as a replacement to overwriting the # #setup and #teardown methods of your TestCase. # # class ExampleTest < ActiveSupport::TestCase # setup do # # ... # end # # teardown do # # ... # end # end # # source://activesupport-7.0.3.1/lib/active_support/testing/setup_and_teardown.rb:20 module ActiveSupport::Testing::SetupAndTeardown # source://activesupport-7.0.3.1/lib/active_support/testing/setup_and_teardown.rb:44 def after_teardown; end # source://activesupport-7.0.3.1/lib/active_support/testing/setup_and_teardown.rb:39 def before_setup; end class << self # source://activesupport-7.0.3.1/lib/active_support/testing/setup_and_teardown.rb:21 def prepended(klass); end end end # source://activesupport-7.0.3.1/lib/active_support/testing/setup_and_teardown.rb:27 module ActiveSupport::Testing::SetupAndTeardown::ClassMethods # Add a callback, which runs before TestCase#setup. # # source://activesupport-7.0.3.1/lib/active_support/testing/setup_and_teardown.rb:29 def setup(*args, &block); end # Add a callback, which runs after TestCase#teardown. # # source://activesupport-7.0.3.1/lib/active_support/testing/setup_and_teardown.rb:34 def teardown(*args, &block); end end # Manages stubs for TimeHelpers # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:10 class ActiveSupport::Testing::SimpleStubs # @return [SimpleStubs] a new instance of SimpleStubs # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:13 def initialize; end # Stubs object.method_name with the given block # If the method is already stubbed, remove that stub # so that removing this stub will restore the original implementation. # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # target = Time.zone.local(2004, 11, 24, 1, 4, 44) # simple_stubs.stub_object(Time, :now) { at(target.to_i) } # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:24 def stub_object(object, method_name, &block); end # Returns true if any stubs are set, false if there are none # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:54 def stubbed?; end # Returns the Stub for object#method_name # (nil if it is not stubbed) # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:49 def stubbing(object, method_name); end # Remove all object-method stubs held by this instance # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:38 def unstub_all!; end private # Restores the original object.method described by the Stub # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:60 def unstub_object(stub); end end # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:11 class ActiveSupport::Testing::SimpleStubs::Stub < ::Struct # Returns the value of attribute method_name # # @return [Object] the current value of method_name def method_name; end # Sets the attribute method_name # # @param value [Object] the value to set the attribute method_name to. # @return [Object] the newly set value def method_name=(_); end # Returns the value of attribute object # # @return [Object] the current value of object def object; end # Sets the attribute object # # @param value [Object] the value to set the attribute object to. # @return [Object] the newly set value def object=(_); end # Returns the value of attribute original_method # # @return [Object] the current value of original_method def original_method; end # Sets the attribute original_method # # @param value [Object] the value to set the attribute original_method to. # @return [Object] the newly set value def original_method=(_); end class << self def [](*_arg0); end def inspect; end def keyword_init?; end def members; end def new(*_arg0); end end end # Logs a "PostsControllerTest: test name" heading before each test to # make test.log easier to search and follow along with. # # source://activesupport-7.0.3.1/lib/active_support/testing/tagged_logging.rb:7 module ActiveSupport::Testing::TaggedLogging # source://activesupport-7.0.3.1/lib/active_support/testing/tagged_logging.rb:10 def before_setup; end # source://activesupport-7.0.3.1/lib/active_support/testing/tagged_logging.rb:8 def tagged_logger=(_arg0); end private # source://activesupport-7.0.3.1/lib/active_support/testing/tagged_logging.rb:22 def tagged_logger; end end # Contains helpers that help you test passage of time. # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:69 module ActiveSupport::Testing::TimeHelpers # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:70 def after_teardown; end # Calls +travel_to+ with +Time.now+. # # Time.current # => Sun, 09 Jul 2017 15:34:49 EST -05:00 # freeze_time # sleep(1) # Time.current # => Sun, 09 Jul 2017 15:34:49 EST -05:00 # # This method also accepts a block, which will return the current time back to its original # state at the end of the block: # # Time.current # => Sun, 09 Jul 2017 15:34:49 EST -05:00 # freeze_time do # sleep(1) # User.create.created_at # => Sun, 09 Jul 2017 15:34:49 EST -05:00 # end # Time.current # => Sun, 09 Jul 2017 15:34:50 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:234 def freeze_time(&block); end # Changes current time to the time in the future or in the past by a given time difference by # stubbing +Time.now+, +Date.today+, and +DateTime.now+. The stubs are automatically removed # at the end of the test. # # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # travel 1.day # Time.current # => Sun, 10 Nov 2013 15:34:49 EST -05:00 # Date.current # => Sun, 10 Nov 2013 # DateTime.current # => Sun, 10 Nov 2013 15:34:49 -0500 # # This method also accepts a block, which will return the current time back to its original # state at the end of the block: # # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # travel 1.day do # User.create.created_at # => Sun, 10 Nov 2013 15:34:49 EST -05:00 # end # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:93 def travel(duration, &block); end # Returns the current time back to its original state, by removing the stubs added by # +travel+, +travel_to+, and +freeze_time+. # # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # # travel_to Time.zone.local(2004, 11, 24, 1, 4, 44) # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # # travel_back # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # # This method also accepts a block, which brings the stubs back at the end of the block: # # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # # travel_to Time.zone.local(2004, 11, 24, 1, 4, 44) # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # # travel_back do # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # end # # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:208 def travel_back; end # Changes current time to the given time by stubbing +Time.now+, # +Date.today+, and +DateTime.now+ to return the time or date passed into this method. # The stubs are automatically removed at the end of the test. # # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # travel_to Time.zone.local(2004, 11, 24, 1, 4, 44) # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # Date.current # => Wed, 24 Nov 2004 # DateTime.current # => Wed, 24 Nov 2004 01:04:44 -0500 # # Dates are taken as their timestamp at the beginning of the day in the # application time zone. Time.current returns said timestamp, # and Time.now its equivalent in the system time zone. Similarly, # Date.current returns a date equal to the argument, and # Date.today the date according to Time.now, which may # be different. (Note that you rarely want to deal with Time.now, # or Date.today, in order to honor the application time zone # please always use Time.current and Date.current.) # # Note that the usec for the time passed will be set to 0 to prevent rounding # errors with external services, like MySQL (which will round instead of floor, # leading to off-by-one-second errors). # # This method also accepts a block, which will return the current time back to its original # state at the end of the block: # # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # travel_to Time.zone.local(2004, 11, 24, 1, 4, 44) do # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # end # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:128 def travel_to(date_or_time); end # Returns the current time back to its original state, by removing the stubs added by # +travel+, +travel_to+, and +freeze_time+. # # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # # travel_to Time.zone.local(2004, 11, 24, 1, 4, 44) # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # # travel_back # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # # This method also accepts a block, which brings the stubs back at the end of the block: # # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # # travel_to Time.zone.local(2004, 11, 24, 1, 4, 44) # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # # travel_back do # Time.current # => Sat, 09 Nov 2013 15:34:49 EST -05:00 # end # # Time.current # => Wed, 24 Nov 2004 01:04:44 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:208 def unfreeze_time; end private # Returns the value of attribute in_block. # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:243 def in_block; end # Sets the attribute in_block # # @param value the value to set the attribute in_block to. # # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:243 def in_block=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/testing/time_helpers.rb:239 def simple_stubs; end end # A Time-like class that can represent a time in any time zone. Necessary # because standard Ruby Time instances are limited to UTC and the # system's ENV['TZ'] zone. # # You shouldn't ever need to create a TimeWithZone instance directly via +new+. # Instead use methods +local+, +parse+, +at+, and +now+ on TimeZone instances, # and +in_time_zone+ on Time and DateTime instances. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # Time.zone.local(2007, 2, 10, 15, 30, 45) # => Sat, 10 Feb 2007 15:30:45.000000000 EST -05:00 # Time.zone.parse('2007-02-10 15:30:45') # => Sat, 10 Feb 2007 15:30:45.000000000 EST -05:00 # Time.zone.at(1171139445) # => Sat, 10 Feb 2007 15:30:45.000000000 EST -05:00 # Time.zone.now # => Sun, 18 May 2008 13:07:55.754107581 EDT -04:00 # Time.utc(2007, 2, 10, 20, 30, 45).in_time_zone # => Sat, 10 Feb 2007 15:30:45.000000000 EST -05:00 # # See Time and TimeZone for further documentation of these methods. # # TimeWithZone instances implement the same API as Ruby Time instances, so # that Time and TimeWithZone instances are interchangeable. # # t = Time.zone.now # => Sun, 18 May 2008 13:27:25.031505668 EDT -04:00 # t.hour # => 13 # t.dst? # => true # t.utc_offset # => -14400 # t.zone # => "EDT" # t.to_fs(:rfc822) # => "Sun, 18 May 2008 13:27:25 -0400" # t + 1.day # => Mon, 19 May 2008 13:27:25.031505668 EDT -04:00 # t.beginning_of_year # => Tue, 01 Jan 2008 00:00:00.000000000 EST -05:00 # t > Time.utc(1999) # => true # t.is_a?(Time) # => true # t.is_a?(ActiveSupport::TimeWithZone) # => true # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:42 class ActiveSupport::TimeWithZone include ::DateAndTime::Compatibility include ::Comparable # @return [TimeWithZone] a new instance of TimeWithZone # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:61 def initialize(utc_time, time_zone, local_time = T.unsafe(nil), period = T.unsafe(nil)); end # Adds an interval of time to the current object's time and returns that # value as a new TimeWithZone object. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # now = Time.zone.now # => Sun, 02 Nov 2014 01:26:28.725182881 EDT -04:00 # now + 1000 # => Sun, 02 Nov 2014 01:43:08.725182881 EDT -04:00 # # If we're adding a Duration of variable length (i.e., years, months, days), # move forward from #time, otherwise move forward from #utc, for accuracy # when moving across DST boundaries. # # For instance, a time + 24.hours will advance exactly 24 hours, while a # time + 1.day will advance 23-25 hours, depending on the day. # # now + 24.hours # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00 # now + 1.day # => Mon, 03 Nov 2014 01:26:28.725182881 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:328 def +(other); end # Subtracts an interval of time and returns a new TimeWithZone object unless # the other value +acts_like?+ time. Then it will return a Float of the difference # between the two times that represents the difference between the current # object's time and the +other+ time. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # now = Time.zone.now # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00 # now - 1000 # => Mon, 03 Nov 2014 00:09:48.725182881 EST -05:00 # # If subtracting a Duration of variable length (i.e., years, months, days), # move backward from #time, otherwise move backward from #utc, for accuracy # when moving across DST boundaries. # # For instance, a time - 24.hours will go subtract exactly 24 hours, while a # time - 1.day will subtract 23-25 hours, depending on the day. # # now - 24.hours # => Sun, 02 Nov 2014 01:26:28.725182881 EDT -04:00 # now - 1.day # => Sun, 02 Nov 2014 00:26:28.725182881 EDT -04:00 # # If both the TimeWithZone object and the other value act like Time, a Float # will be returned. # # Time.zone.now - 1.day.ago # => 86399.999967 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:363 def -(other); end # Use the time in UTC for comparisons. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:261 def <=>(other); end # So that +self+ acts_like?(:time). # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:524 def acts_like_time?; end # Uses Date to provide precise Time calculations for years, months, and days # according to the proleptic Gregorian calendar. The result is returned as a # new TimeWithZone object. # # The +options+ parameter takes a hash with any of these keys: # :years, :months, :weeks, :days, # :hours, :minutes, :seconds. # # If advancing by a value of variable length (i.e., years, weeks, months, # days), move forward from #time, otherwise move forward from #utc, for # accuracy when moving across DST boundaries. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # now = Time.zone.now # => Sun, 02 Nov 2014 01:26:28.558049687 EDT -04:00 # now.advance(seconds: 1) # => Sun, 02 Nov 2014 01:26:29.558049687 EDT -04:00 # now.advance(minutes: 1) # => Sun, 02 Nov 2014 01:27:28.558049687 EDT -04:00 # now.advance(hours: 1) # => Sun, 02 Nov 2014 01:26:28.558049687 EST -05:00 # now.advance(days: 1) # => Mon, 03 Nov 2014 01:26:28.558049687 EST -05:00 # now.advance(weeks: 1) # => Sun, 09 Nov 2014 01:26:28.558049687 EST -05:00 # now.advance(months: 1) # => Tue, 02 Dec 2014 01:26:28.558049687 EST -05:00 # now.advance(years: 1) # => Mon, 02 Nov 2015 01:26:28.558049687 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:452 def advance(options); end def after?(_arg0); end # Subtracts an interval of time from the current object's time and returns # the result as a new TimeWithZone object. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # now = Time.zone.now # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00 # now.ago(1000) # => Mon, 03 Nov 2014 00:09:48.725182881 EST -05:00 # # If we're subtracting a Duration of variable length (i.e., years, months, # days), move backward from #time, otherwise move backward from #utc, for # accuracy when moving across DST boundaries. # # For instance, time.ago(24.hours) will move back exactly 24 hours, # while time.ago(1.day) will move back 23-25 hours, depending on # the day. # # now.ago(24.hours) # => Sun, 02 Nov 2014 01:26:28.725182881 EDT -04:00 # now.ago(1.day) # => Sun, 02 Nov 2014 00:26:28.725182881 EDT -04:00 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:391 def ago(other); end # Coerces time to a string for JSON encoding. The default format is ISO 8601. # You can get %Y/%m/%d %H:%M:%S +offset style by setting # ActiveSupport::JSON::Encoding.use_standard_json_time_format # to +false+. # # # With ActiveSupport::JSON::Encoding.use_standard_json_time_format = true # Time.utc(2005,2,1,15,15,10).in_time_zone("Hawaii").to_json # # => "2005-02-01T05:15:10.000-10:00" # # # With ActiveSupport::JSON::Encoding.use_standard_json_time_format = false # Time.utc(2005,2,1,15,15,10).in_time_zone("Hawaii").to_json # # => "2005/02/01 05:15:10 -1000" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:176 def as_json(options = T.unsafe(nil)); end def before?(_arg0); end # Returns true if the current object's time is within the specified # +min+ and +max+ time. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:269 def between?(min, max); end # An instance of ActiveSupport::TimeWithZone is never blank # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:535 def blank?; end # Returns a new +ActiveSupport::TimeWithZone+ where one or more of the elements have # been changed according to the +options+ parameter. The time options (:hour, # :min, :sec, :usec, :nsec) reset cascadingly, # so if only the hour is passed, then minute, sec, usec, and nsec is set to 0. If the # hour and minute is passed, then sec, usec, and nsec is set to 0. The +options+ # parameter takes a hash with any of these keys: :year, :month, # :day, :hour, :min, :sec, :usec, # :nsec, :offset, :zone. Pass either :usec # or :nsec, not both. Similarly, pass either :zone or # :offset, not both. # # t = Time.zone.now # => Fri, 14 Apr 2017 11:45:15.116992711 EST -05:00 # t.change(year: 2020) # => Tue, 14 Apr 2020 11:45:15.116992711 EST -05:00 # t.change(hour: 12) # => Fri, 14 Apr 2017 12:00:00.116992711 EST -05:00 # t.change(min: 30) # => Fri, 14 Apr 2017 11:30:00.116992711 EST -05:00 # t.change(offset: "-10:00") # => Fri, 14 Apr 2017 11:45:15.116992711 HST -10:00 # t.change(zone: "Hawaii") # => Fri, 14 Apr 2017 11:45:15.116992711 HST -10:00 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:412 def change(options); end # Returns a Time instance of the simultaneous time in the UTC timezone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:73 def comparable_time; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def day; end # Returns true if the current time is within Daylight Savings Time for the # specified time zone. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # Time.zone.parse("2012-5-30").dst? # => true # Time.zone.parse("2012-11-30").dst? # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:104 def dst?; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:188 def encode_with(coder); end # Returns +true+ if +other+ is equal to current object. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:304 def eql?(other); end # Returns a formatted string of the offset from UTC, or an alternative # string if the time zone is already UTC. # # Time.zone = 'Eastern Time (US & Canada)' # => "Eastern Time (US & Canada)" # Time.zone.now.formatted_offset(true) # => "-05:00" # Time.zone.now.formatted_offset(false) # => "-0500" # Time.zone = 'UTC' # => "UTC" # Time.zone.now.formatted_offset(true, "0") # => "0" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:135 def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:539 def freeze; end # Returns true if the current object's time is in the future. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:299 def future?; end # Returns a Time instance of the simultaneous time in the UTC timezone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:73 def getgm; end # Returns a Time instance of the simultaneous time in the system timezone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:93 def getlocal(utc_offset = T.unsafe(nil)); end # Returns a Time instance of the simultaneous time in the UTC timezone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:73 def getutc; end # Returns true if the current time zone is set to UTC. # # Time.zone = 'UTC' # => 'UTC' # Time.zone.now.utc? # => true # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # Time.zone.now.utc? # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:115 def gmt?; end # Returns the offset from current time to UTC time in seconds. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:121 def gmt_offset; end # Returns a Time instance of the simultaneous time in the UTC timezone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:73 def gmtime; end # Returns the offset from current time to UTC time in seconds. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:121 def gmtoff; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:308 def hash; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def hour; end # Returns a string of the object's date and time in the format used by # HTTP requests. # # Time.zone.now.httpdate # => "Tue, 01 Jan 2013 04:39:43 GMT" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:196 def httpdate; end # Adds an interval of time to the current object's time and returns that # value as a new TimeWithZone object. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # now = Time.zone.now # => Sun, 02 Nov 2014 01:26:28.725182881 EDT -04:00 # now + 1000 # => Sun, 02 Nov 2014 01:43:08.725182881 EDT -04:00 # # If we're adding a Duration of variable length (i.e., years, months, days), # move forward from #time, otherwise move forward from #utc, for accuracy # when moving across DST boundaries. # # For instance, a time + 24.hours will advance exactly 24 hours, while a # time + 1.day will advance 23-25 hours, depending on the day. # # now + 24.hours # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00 # now + 1.day # => Mon, 03 Nov 2014 01:26:28.725182881 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:328 def in(other); end # Returns the simultaneous time in Time.zone, or the specified zone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:87 def in_time_zone(new_zone = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:184 def init_with(coder); end # Returns a string of the object's date, time, zone, and offset from UTC. # # Time.zone.now.inspect # => "Thu, 04 Dec 2014 11:00:25.624541392 EST -05:00" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:150 def inspect; end # Say we're a Time to thwart type checking. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:529 def is_a?(klass); end # Returns true if the current time is within Daylight Savings Time for the # specified time zone. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # Time.zone.parse("2012-5-30").dst? # => true # Time.zone.parse("2012-11-30").dst? # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:104 def isdst; end # Returns a string of the object's date and time in the ISO 8601 standard # format. # # Time.zone.now.xmlschema # => "2014-12-04T11:02:37-05:00" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:158 def iso8601(fraction_digits = T.unsafe(nil)); end # Say we're a Time to thwart type checking. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:529 def kind_of?(klass); end # Returns a Time instance of the simultaneous time in the system timezone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:93 def localtime(utc_offset = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:545 def marshal_dump; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:549 def marshal_load(variables); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def mday; end # Send the missing method to +time+ instance, and wrap result in a new # TimeWithZone with the existing +time_zone+. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:570 def method_missing(sym, *args, &block); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def min; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def mon; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def month; end # Returns true if the current object's time falls within # the next day (tomorrow). # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:286 def next_day?; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def nsec; end # Returns true if the current object's time is in the past. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:274 def past?; end # Returns the underlying TZInfo::TimezonePeriod. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:82 def period; end # Returns true if the current object's time falls within # the previous day (yesterday). # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:293 def prev_day?; end # respond_to_missing? is not called in some cases, such as when type conversion is # performed with Kernel#String # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:555 def respond_to?(sym, include_priv = T.unsafe(nil)); end # Returns a string of the object's date and time in the RFC 2822 standard # format. # # Time.zone.now.rfc2822 # => "Tue, 01 Jan 2013 04:51:39 +0000" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:204 def rfc2822; end # Returns a string of the object's date and time in the ISO 8601 standard # format. # # Time.zone.now.xmlschema # => "2014-12-04T11:02:37-05:00" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:158 def rfc3339(fraction_digits = T.unsafe(nil)); end # Returns a string of the object's date and time in the RFC 2822 standard # format. # # Time.zone.now.rfc2822 # => "Tue, 01 Jan 2013 04:51:39 +0000" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:204 def rfc822; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def sec; end # Adds an interval of time to the current object's time and returns that # value as a new TimeWithZone object. # # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # now = Time.zone.now # => Sun, 02 Nov 2014 01:26:28.725182881 EDT -04:00 # now + 1000 # => Sun, 02 Nov 2014 01:43:08.725182881 EDT -04:00 # # If we're adding a Duration of variable length (i.e., years, months, days), # move forward from #time, otherwise move forward from #utc, for accuracy # when moving across DST boundaries. # # For instance, a time + 24.hours will advance exactly 24 hours, while a # time + 1.day will advance 23-25 hours, depending on the day. # # now + 24.hours # => Mon, 03 Nov 2014 00:26:28.725182881 EST -05:00 # now + 1.day # => Mon, 03 Nov 2014 01:26:28.725182881 EST -05:00 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:328 def since(other); end # Replaces %Z directive with +zone before passing to Time#strftime, # so that zone information is correct. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:255 def strftime(format); end # Returns a Time instance that represents the time in +time_zone+. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:68 def time; end # Returns the value of attribute time_zone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:59 def time_zone; end # Returns Array of parts of Time in sequence of # [seconds, minutes, hours, day, month, year, weekday, yearday, dst?, zone]. # # now = Time.zone.now # => Tue, 18 Aug 2015 02:29:27.485278555 UTC +00:00 # now.to_a # => [27, 29, 2, 18, 8, 2015, 2, 230, false, "UTC"] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:475 def to_a; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def to_date; end # Returns an instance of DateTime with the timezone's UTC offset # # Time.zone.now.to_datetime # => Tue, 18 Aug 2015 02:32:20 +0000 # Time.current.in_time_zone('Hawaii').to_datetime # => Mon, 17 Aug 2015 16:32:20 -1000 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:508 def to_datetime; end # Returns the object's date and time as a floating-point number of seconds # since the Epoch (January 1, 1970 00:00 UTC). # # Time.zone.now.to_f # => 1417709320.285418 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:483 def to_f; end # Returns a string of the object's date and time. # # This method is aliased to to_formatted_s. # # Accepts an optional format: # * :default - default value, mimics Ruby Time#to_s format. # * :db - format outputs time in UTC :db time. See Time#to_fs(:db). # * Any key in Time::DATE_FORMATS can be used. See active_support/core_ext/time/conversions.rb. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:241 def to_formatted_s(format = T.unsafe(nil)); end # Returns a string of the object's date and time. # # This method is aliased to to_formatted_s. # # Accepts an optional format: # * :default - default value, mimics Ruby Time#to_s format. # * :db - format outputs time in UTC :db time. See Time#to_fs(:db). # * Any key in Time::DATE_FORMATS can be used. See active_support/core_ext/time/conversions.rb. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:241 def to_fs(format = T.unsafe(nil)); end # Returns the object's date and time as an integer number of seconds # since the Epoch (January 1, 1970 00:00 UTC). # # Time.zone.now.to_i # => 1417709320 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:491 def to_i; end # Returns the object's date and time as a rational number of seconds # since the Epoch (January 1, 1970 00:00 UTC). # # Time.zone.now.to_r # => (708854548642709/500000) # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:500 def to_r; end # Returns a string of the object's date and time. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:212 def to_s(format = T.unsafe(nil)); end # Returns an instance of +Time+, either with the same UTC offset # as +self+ or in the local system timezone depending on the setting # of +ActiveSupport.to_time_preserves_timezone+. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:515 def to_time; end # Returns true if the current object's time falls within # the current day. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:280 def today?; end # Returns true if the current object's time falls within # the next day (tomorrow). # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:286 def tomorrow?; end # Returns the object's date and time as an integer number of seconds # since the Epoch (January 1, 1970 00:00 UTC). # # Time.zone.now.to_i # => 1417709320 # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:491 def tv_sec; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def usec; end # Returns a Time instance of the simultaneous time in the UTC timezone. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:73 def utc; end # Returns true if the current time zone is set to UTC. # # Time.zone = 'UTC' # => 'UTC' # Time.zone.now.utc? # => true # Time.zone = 'Eastern Time (US & Canada)' # => 'Eastern Time (US & Canada)' # Time.zone.now.utc? # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:115 def utc?; end # Returns the offset from current time to UTC time in seconds. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:121 def utc_offset; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def wday; end # Returns a string of the object's date and time in the ISO 8601 standard # format. # # Time.zone.now.xmlschema # => "2014-12-04T11:02:37-05:00" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:158 def xmlschema(fraction_digits = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def yday; end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:464 def year; end # Returns true if the current object's time falls within # the previous day (yesterday). # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:293 def yesterday?; end # Returns the time zone abbreviation. # # Time.zone = 'Eastern Time (US & Canada)' # => "Eastern Time (US & Canada)" # Time.zone.now.zone # => "EST" # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:143 def zone; end private # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:606 def duration_of_variable_length?(obj); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:587 def get_period_and_ensure_valid_local_time(period); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:579 def incorporate_utc_offset(time, offset); end # Ensure proxy class responds to all methods that underlying time instance # responds to. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:563 def respond_to_missing?(sym, include_priv); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:600 def transfer_time_values_to_utc_constructor(time); end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:610 def wrap_with_time_zone(time); end class << self # Report class name as 'Time' to thwart type checking. # # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:44 def name; end end end # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:209 ActiveSupport::TimeWithZone::NOT_SET = T.let(T.unsafe(nil), Object) # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:55 ActiveSupport::TimeWithZone::PRECISIONS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/time_with_zone.rb:577 ActiveSupport::TimeWithZone::SECONDS_PER_DAY = T.let(T.unsafe(nil), Integer) # The TimeZone class serves as a wrapper around TZInfo::Timezone instances. # It allows us to do the following: # # * Limit the set of zones provided by TZInfo to a meaningful subset of 134 # zones. # * Retrieve and display zones with a friendlier name # (e.g., "Eastern Time (US & Canada)" instead of "America/New_York"). # * Lazily load TZInfo::Timezone instances only when they're needed. # * Create ActiveSupport::TimeWithZone instances via TimeZone's +local+, # +parse+, +at+, and +now+ methods. # # If you set config.time_zone in the Rails Application, you can # access this TimeZone object via Time.zone: # # # application.rb: # class Application < Rails::Application # config.time_zone = 'Eastern Time (US & Canada)' # end # # Time.zone # => # # Time.zone.name # => "Eastern Time (US & Canada)" # Time.zone.now # => Sun, 18 May 2008 14:30:44 EDT -04:00 # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:29 class ActiveSupport::TimeZone include ::Comparable # Create a new TimeZone object with the given name and offset. The # offset is the number of seconds that this time zone is offset from UTC # (GMT). Seconds were chosen as the offset unit because that is the unit # that Ruby uses to represent time zone offsets (see Time#utc_offset). # # @return [TimeZone] a new instance of TimeZone # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:301 def initialize(name, utc_offset = T.unsafe(nil), tzinfo = T.unsafe(nil)); end # Compare this time zone to the parameter. The two are compared first on # their offsets, and then by name. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:324 def <=>(zone); end # Compare #name and TZInfo identifier to a supplied regexp, returning +true+ # if a match is found. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:333 def =~(re); end # Method for creating new ActiveSupport::TimeWithZone instance in time zone # of +self+ from number of seconds since the Unix epoch. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.utc(2000).to_f # => 946684800.0 # Time.zone.at(946684800.0) # => Fri, 31 Dec 1999 14:00:00 HST -10:00 # # A second argument can be supplied to specify sub-second precision. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.at(946684800, 123456.789).nsec # => 123456789 # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:370 def at(*args); end # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:566 def encode_with(coder); end # Returns a formatted string of the offset from UTC, or an alternative # string if the time zone is already UTC. # # zone = ActiveSupport::TimeZone['Central Time (US & Canada)'] # zone.formatted_offset # => "-06:00" # zone.formatted_offset(false) # => "-0600" # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:318 def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:562 def init_with(coder); end # Method for creating new ActiveSupport::TimeWithZone instance in time zone # of +self+ from an ISO 8601 string. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.iso8601('1999-12-31T14:00:00') # => Fri, 31 Dec 1999 14:00:00 HST -10:00 # # If the time components are missing then they will be set to zero. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.iso8601('1999-12-31') # => Fri, 31 Dec 1999 00:00:00 HST -10:00 # # If the string is invalid then an +ArgumentError+ will be raised unlike +parse+ # which usually returns +nil+ when given an invalid date string. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:387 def iso8601(str); end # Method for creating new ActiveSupport::TimeWithZone instance in time zone # of +self+ from given values. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.local(2007, 2, 1, 15, 30, 45) # => Thu, 01 Feb 2007 15:30:45 HST -10:00 # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:354 def local(*args); end # Adjust the given time to the simultaneous time in UTC. Returns a # Time.utc() instance. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:542 def local_to_utc(time, dst = T.unsafe(nil)); end # Compare #name and TZInfo identifier to a supplied regexp, returning +true+ # if a match is found. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:339 def match?(re); end # Returns the value of attribute name. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:294 def name; end # Returns an ActiveSupport::TimeWithZone instance representing the current # time in the time zone represented by +self+. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.now # => Wed, 23 Jan 2008 20:24:27 HST -10:00 # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:507 def now; end # Method for creating new ActiveSupport::TimeWithZone instance in time zone # of +self+ from parsed string. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.parse('1999-12-31 14:00:00') # => Fri, 31 Dec 1999 14:00:00 HST -10:00 # # If upper components are missing from the string, they are supplied from # TimeZone#now: # # Time.zone.now # => Fri, 31 Dec 1999 14:00:00 HST -10:00 # Time.zone.parse('22:30:00') # => Fri, 31 Dec 1999 22:30:00 HST -10:00 # # However, if the date component is not provided, but any other upper # components are supplied, then the day of the month defaults to 1: # # Time.zone.parse('Mar 2000') # => Wed, 01 Mar 2000 00:00:00 HST -10:00 # # If the string is invalid then an +ArgumentError+ could be raised. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:444 def parse(str, now = T.unsafe(nil)); end # Available so that TimeZone instances respond like TZInfo::Timezone # instances. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:554 def period_for_local(time, dst = T.unsafe(nil)); end # Available so that TimeZone instances respond like TZInfo::Timezone # instances. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:548 def period_for_utc(time); end # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:558 def periods_for_local(time); end # Method for creating new ActiveSupport::TimeWithZone instance in time zone # of +self+ from an RFC 3339 string. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.rfc3339('2000-01-01T00:00:00Z') # => Fri, 31 Dec 1999 14:00:00 HST -10:00 # # If the time or zone components are missing then an +ArgumentError+ will # be raised. This is much stricter than either +parse+ or +iso8601+ which # allow for missing components. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.rfc3339('1999-12-31') # => ArgumentError: invalid date # # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:460 def rfc3339(str); end # Parses +str+ according to +format+ and returns an ActiveSupport::TimeWithZone. # # Assumes that +str+ is a time in the time zone +self+, # unless +format+ includes an explicit time zone. # (This is the same behavior as +parse+.) # In either case, the returned TimeWithZone has the timezone of +self+. # # Time.zone = 'Hawaii' # => "Hawaii" # Time.zone.strptime('1999-12-31 14:00:00', '%Y-%m-%d %H:%M:%S') # => Fri, 31 Dec 1999 14:00:00 HST -10:00 # # If upper components are missing from the string, they are supplied from # TimeZone#now: # # Time.zone.now # => Fri, 31 Dec 1999 14:00:00 HST -10:00 # Time.zone.strptime('22:30:00', '%H:%M:%S') # => Fri, 31 Dec 1999 22:30:00 HST -10:00 # # However, if the date component is not provided, but any other upper # components are supplied, then the day of the month defaults to 1: # # Time.zone.strptime('Mar 2000', '%b %Y') # => Wed, 01 Mar 2000 00:00:00 HST -10:00 # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:498 def strptime(str, format, now = T.unsafe(nil)); end # Returns a textual representation of this time zone. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:345 def to_s; end # Returns the current date in this time zone. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:512 def today; end # Returns the next date in this time zone. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:517 def tomorrow; end # Returns the value of attribute tzinfo. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:295 def tzinfo; end # Returns the offset of this time zone from UTC in seconds. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:308 def utc_offset; end # Adjust the given time to the simultaneous time in the time zone # represented by +self+. Returns a local time with the appropriate offset # -- if you want an ActiveSupport::TimeWithZone instance, use # Time#in_time_zone() instead. # # As of tzinfo 2, utc_to_local returns a Time with a non-zero utc_offset. # See the +utc_to_local_returns_utc_offset_times+ config for more info. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:533 def utc_to_local(time); end # Returns the previous date in this time zone. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:522 def yesterday; end private # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:572 def parts_to_time(parts, now); end # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:597 def time_now; end class << self # Locate a specific time zone object. If the argument is a string, it # is interpreted to mean the name of the timezone to locate. If it is a # numeric value it is either the hour offset, or the second offset, of the # timezone to find. (The first one with that offset will be returned.) # Returns +nil+ if no such time zone is known to the system. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:230 def [](arg); end # Returns an array of all TimeZone objects. There are multiple # TimeZone objects per time zone, in many cases, to make it easier # for users to find their own time zone. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:221 def all; end # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:263 def clear; end # A convenience method for returning a collection of TimeZone objects # for time zones in the country specified by its ISO 3166-1 Alpha2 code. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:258 def country_zones(country_code); end def create(*_arg0); end # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:205 def find_tzinfo(name); end # Returns a TimeZone instance with the given name, or +nil+ if no # such TimeZone instance exists. (This exists to support the use of # this class with the +composed_of+ macro.) # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:214 def new(name); end # Assumes self represents an offset from UTC in seconds (as returned from # Time#utc_offset) and turns this into an +HH:MM formatted string. # # ActiveSupport::TimeZone.seconds_to_utc_offset(-21_600) # => "-06:00" # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:197 def seconds_to_utc_offset(seconds, colon = T.unsafe(nil)); end # A convenience method for returning a collection of TimeZone objects # for time zones in the USA. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:252 def us_zones; end private # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:271 def load_country_zones(code); end # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:285 def zones_map; end end end # Keys are Rails TimeZone names, values are TZInfo identifiers. # # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:31 ActiveSupport::TimeZone::MAPPING = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:186 ActiveSupport::TimeZone::UTC_OFFSET_WITHOUT_COLON = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/values/time_zone.rb:185 ActiveSupport::TimeZone::UTC_OFFSET_WITH_COLON = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:35 module ActiveSupport::ToJsonWithActiveSupportEncoder # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:36 def to_json(options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/try.rb:6 module ActiveSupport::Tryable # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/try.rb:7 def try(*args, **_arg1, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/try.rb:20 def try!(*args, **_arg1, &block); end end # source://activesupport-7.0.3.1/lib/active_support/gem_version.rb:9 module ActiveSupport::VERSION; end # source://activesupport-7.0.3.1/lib/active_support/gem_version.rb:10 ActiveSupport::VERSION::MAJOR = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/gem_version.rb:11 ActiveSupport::VERSION::MINOR = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/gem_version.rb:13 ActiveSupport::VERSION::PRE = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/gem_version.rb:15 ActiveSupport::VERSION::STRING = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/gem_version.rb:12 ActiveSupport::VERSION::TINY = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:140 class ActiveSupport::XMLConverter # @return [XMLConverter] a new instance of XMLConverter # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:151 def initialize(xml, disallowed_types = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:156 def to_h; end private # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:222 def become_array?(value); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:218 def become_content?(value); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:226 def become_empty_string?(value); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:232 def become_hash?(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:172 def deep_to_h(value); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:241 def garbage?(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:161 def normalize_keys(params); end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:236 def nothing?(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:257 def process_array(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:248 def process_content(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:185 def process_hash(value); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:149 ActiveSupport::XMLConverter::DISALLOWED_TYPES = T.let(T.unsafe(nil), Array) # Raised if the XML contains attributes with type="yaml" or # type="symbol". Read Hash#from_xml for more details. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:143 class ActiveSupport::XMLConverter::DisallowedType < ::StandardError # @return [DisallowedType] a new instance of DisallowedType # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:144 def initialize(type); end end # = XmlMini # # To use the much faster libxml parser: # gem 'libxml-ruby', '=0.9.7' # XmlMini.backend = 'LibXML' # # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:17 module ActiveSupport::XmlMini extend ::ActiveSupport::XmlMini # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:97 def backend; end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:101 def backend=(name); end # Returns the value of attribute depth. # # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:92 def depth; end # Sets the attribute depth # # @param value the value to set the attribute depth to. # # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:92 def depth=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:95 def parse(*_arg0, **_arg1, &_arg2); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:148 def rename_key(key, options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:115 def to_tag(key, value, options); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:107 def with_backend(name); end private # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:159 def _dasherize(key); end # TODO: Add support for other encodings # # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:166 def _parse_binary(bin, entity); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:175 def _parse_file(file, entity); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:191 def cast_backend_name_to_module(name); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:183 def current_thread_backend; end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:187 def current_thread_backend=(name); end end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:34 ActiveSupport::XmlMini::DEFAULT_ENCODINGS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:55 ActiveSupport::XmlMini::FORMATTING = T.let(T.unsafe(nil), Hash) # This module decorates files deserialized using Hash.from_xml with # the original_filename and content_type methods. # # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:22 module ActiveSupport::XmlMini::FileLike # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:29 def content_type; end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:23 def content_type=(_arg0); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:25 def original_filename; end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:23 def original_filename=(_arg0); end end # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:65 ActiveSupport::XmlMini::PARSING = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/xml_mini.rb:39 ActiveSupport::XmlMini::TYPE_NAMES = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:8 module ActiveSupport::XmlMini_REXML extend ::ActiveSupport::XmlMini_REXML # Parse an XML Document string or IO into a simple hash. # # Same as XmlSimple::xml_in but doesn't shoot itself in the foot, # and uses the defaults from Active Support. # # data:: # XML Document string or IO to parse # # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:20 def parse(data); end private # Actually converts an XML document element into a data structure. # # element:: # The document element to be collapsed. # # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:63 def collapse(element, depth); end # Determines if a document element has text content # # element:: # XML element to be checked. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:133 def empty_content?(element); end # Converts the attributes array of an XML element into a hash. # Returns an empty Hash if node has no attributes. # # element:: # XML element to extract attributes from. # # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:123 def get_attributes(element); end # Adds a new key/value pair to an existing Hash. If the key to be added # already exists and the existing value associated with key is not # an Array, it will be wrapped in an Array. Then the new value is # appended to that Array. # # hash:: # Hash to add key/value pair to. # key:: # Key to be added. # value:: # Value to be associated with key. # # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:103 def merge!(hash, key, value); end # Convert an XML element and merge into the hash # # hash:: # Hash to merge the converted element into. # element:: # XML element to merge into hash # # @raise [REXML::ParseException] # # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:54 def merge_element!(hash, element, depth); end # Merge all the texts of an element into the hash # # hash:: # Hash to add the converted element to. # element:: # XML element whose texts are to me merged into the hash # # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:81 def merge_texts!(hash, element); end # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:41 def require_rexml; end end # source://activesupport-7.0.3.1/lib/active_support/xml_mini/rexml.rb:11 ActiveSupport::XmlMini_REXML::CONTENT_KEY = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:83 class Array include ::Enumerable # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:158 def as_json(options = T.unsafe(nil)); end # Removes all blank elements from the +Array+ in place and returns self. # Uses Object#blank? for determining if an item is blank. # # a = [1, "", nil, 2, " ", [], {}, false, true] # a.compact_blank! # # => [1, 2, true] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:325 def compact_blank!; end # Returns a deep copy of array. # # array = [1, [2, 3]] # dup = array.deep_dup # dup[1][2] = 4 # # array[1][2] # => nil # dup[1][2] # => 4 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/deep_dup.rb:29 def deep_dup; end # Returns a copy of the Array excluding the specified elements. # # ["David", "Rafael", "Aaron", "Todd"].excluding("Aaron", "Todd") # => ["David", "Rafael"] # [ [ 0, 1 ], [ 1, 0 ] ].excluding([ [ 1, 0 ] ]) # => [ [ 0, 1 ] ] # # Note: This is an optimization of Enumerable#excluding that uses Array#- # instead of Array#reject for performance reasons. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:47 def excluding(*elements); end # Removes and returns the elements for which the block returns a true value. # If no block is given, an Enumerator is returned instead. # # numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] # odd_numbers = numbers.extract! { |number| number.odd? } # => [1, 3, 5, 7, 9] # numbers # => [0, 2, 4, 6, 8] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/extract.rb:10 def extract!; end # Extracts options from a set of arguments. Removes and returns the last # element in the array if it's a hash, otherwise returns a blank hash. # # def options(*args) # args.extract_options! # end # # options(1, 2) # => {} # options(1, 2, a: :b) # => {:a=>:b} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/extract_options.rb:24 def extract_options!; end # Equal to self[4]. # # %w( a b c d e ).fifth # => "e" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:76 def fifth; end # Equal to self[41]. Also known as accessing "the reddit". # # (1..42).to_a.forty_two # => 42 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:83 def forty_two; end # Equal to self[3]. # # %w( a b c d e ).fourth # => "d" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:69 def fourth; end # Returns the tail of the array from +position+. # # %w( a b c d ).from(0) # => ["a", "b", "c", "d"] # %w( a b c d ).from(2) # => ["c", "d"] # %w( a b c d ).from(10) # => [] # %w().from(0) # => [] # %w( a b c d ).from(-2) # => ["c", "d"] # %w( a b c ).from(-10) # => [] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:12 def from(position); end # Splits or iterates over the array in +number+ of groups, padding any # remaining slots with +fill_with+ unless it is +false+. # # %w(1 2 3 4 5 6 7 8 9 10).in_groups(3) {|group| p group} # ["1", "2", "3", "4"] # ["5", "6", "7", nil] # ["8", "9", "10", nil] # # %w(1 2 3 4 5 6 7 8 9 10).in_groups(3, ' ') {|group| p group} # ["1", "2", "3", "4"] # ["5", "6", "7", " "] # ["8", "9", "10", " "] # # %w(1 2 3 4 5 6 7).in_groups(3, false) {|group| p group} # ["1", "2", "3"] # ["4", "5"] # ["6", "7"] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/grouping.rb:62 def in_groups(number, fill_with = T.unsafe(nil), &block); end # Splits or iterates over the array in groups of size +number+, # padding any remaining slots with +fill_with+ unless it is +false+. # # %w(1 2 3 4 5 6 7 8 9 10).in_groups_of(3) {|group| p group} # ["1", "2", "3"] # ["4", "5", "6"] # ["7", "8", "9"] # ["10", nil, nil] # # %w(1 2 3 4 5).in_groups_of(2, ' ') {|group| p group} # ["1", "2"] # ["3", "4"] # ["5", " "] # # %w(1 2 3 4 5).in_groups_of(2, false) {|group| p group} # ["1", "2"] # ["3", "4"] # ["5"] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/grouping.rb:22 def in_groups_of(number, fill_with = T.unsafe(nil), &block); end # Returns a new array that includes the passed elements. # # [ 1, 2, 3 ].including(4, 5) # => [ 1, 2, 3, 4, 5 ] # [ [ 0, 1 ] ].including([ [ 1, 0 ] ]) # => [ [ 0, 1 ], [ 1, 0 ] ] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:36 def including(*elements); end # Wraps the array in an ActiveSupport::ArrayInquirer object, which gives a # friendlier way to check its string-like contents. # # pets = [:cat, :dog].inquiry # # pets.cat? # => true # pets.ferret? # => false # # pets.any?(:cat, :ferret) # => true # pets.any?(:ferret, :alligator) # => false # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/inquiry.rb:16 def inquiry; end # Equal to self[1]. # # %w( a b c d e ).second # => "b" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:55 def second; end # Equal to self[-2]. # # %w( a b c d e ).second_to_last # => "d" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:97 def second_to_last; end # Divides the array into one or more subarrays based on a delimiting +value+ # or the result of an optional block. # # [1, 2, 3, 4, 5].split(3) # => [[1, 2], [4, 5]] # (1..10).to_a.split { |i| i % 3 == 0 } # => [[1, 2], [4, 5], [7, 8], [10]] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/grouping.rb:93 def split(value = T.unsafe(nil), &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:310 def sum(init = T.unsafe(nil), &block); end # Equal to self[2]. # # %w( a b c d e ).third # => "c" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:62 def third; end # Equal to self[-3]. # # %w( a b c d e ).third_to_last # => "c" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:90 def third_to_last; end # Returns the beginning of the array up to +position+. # # %w( a b c d ).to(0) # => ["a"] # %w( a b c d ).to(2) # => ["a", "b", "c"] # %w( a b c d ).to(10) # => ["a", "b", "c", "d"] # %w().to(0) # => [] # %w( a b c d ).to(-2) # => ["a", "b", "c"] # %w( a b c ).to(-10) # => [] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:24 def to(position); end # Extends Array#to_s to convert a collection of elements into a # comma separated id list if :db argument is given as the format. # # This method is aliased to to_formatted_s. # # Blog.all.to_fs(:db) # => "1,2,3" # Blog.none.to_fs(:db) # => "null" # [1,2].to_fs # => "[1, 2]" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/conversions.rb:94 def to_formatted_s(format = T.unsafe(nil)); end # Extends Array#to_s to convert a collection of elements into a # comma separated id list if :db argument is given as the format. # # This method is aliased to to_formatted_s. # # Blog.all.to_fs(:db) # => "1,2,3" # Blog.none.to_fs(:db) # => "null" # [1,2].to_fs # => "[1, 2]" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/conversions.rb:94 def to_fs(format = T.unsafe(nil)); end # Calls to_param on all its elements and joins the result with # slashes. This is used by url_for in Action Pack. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:42 def to_param; end # Converts an array into a string suitable for use as a URL query string, # using the given +key+ as the param name. # # ['Rails', 'coding'].to_query('hobbies') # => "hobbies%5B%5D=Rails&hobbies%5B%5D=coding" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:50 def to_query(key); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/deprecated_conversions.rb:5 def to_s(format = T.unsafe(nil)); end # Converts the array to a comma-separated sentence where the last element is # joined by the connector word. # # You can pass the following options to change the default behavior. If you # pass an option key that doesn't exist in the list below, it will raise an # ArgumentError. # # ==== Options # # * :words_connector - The sign or word used to join all but the last # element in arrays with three or more elements (default: ", "). # * :last_word_connector - The sign or word used to join the last element # in arrays with three or more elements (default: ", and "). # * :two_words_connector - The sign or word used to join the elements # in arrays with two elements (default: " and "). # * :locale - If +i18n+ is available, you can set a locale and use # the connector options defined on the 'support.array' namespace in the # corresponding dictionary file. # # ==== Examples # # [].to_sentence # => "" # ['one'].to_sentence # => "one" # ['one', 'two'].to_sentence # => "one and two" # ['one', 'two', 'three'].to_sentence # => "one, two, and three" # # ['one', 'two'].to_sentence(passing: 'invalid option') # # => ArgumentError: Unknown key: :passing. Valid keys are: :words_connector, :two_words_connector, :last_word_connector, :locale # # ['one', 'two'].to_sentence(two_words_connector: '-') # # => "one-two" # # ['one', 'two', 'three'].to_sentence(words_connector: ' or ', last_word_connector: ' or at least ') # # => "one or two or at least three" # # Using :locale option: # # # Given this locale dictionary: # # # # es: # # support: # # array: # # words_connector: " o " # # two_words_connector: " y " # # last_word_connector: " o al menos " # # ['uno', 'dos'].to_sentence(locale: :es) # # => "uno y dos" # # ['uno', 'dos', 'tres'].to_sentence(locale: :es) # # => "uno o dos o al menos tres" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/conversions.rb:60 def to_sentence(options = T.unsafe(nil)); end # Returns a string that represents the array in XML by invoking +to_xml+ # on each element. Active Record collections delegate their representation # in XML to this method. # # All elements are expected to respond to +to_xml+, if any of them does # not then an exception is raised. # # The root node reflects the class name of the first element in plural # if all elements belong to the same type and that's not Hash: # # customer.projects.to_xml # # # # # 20000.0 # 1567 # 2008-04-09 # ... # # # 57230.0 # 1567 # 2008-04-15 # ... # # # # Otherwise the root element is "objects": # # [{ foo: 1, bar: 2}, { baz: 3}].to_xml # # # # # 2 # 1 # # # 3 # # # # If the collection is empty the root element is "nil-classes" by default: # # [].to_xml # # # # # To ensure a meaningful root element use the :root option: # # customer_with_no_projects.projects.to_xml(root: 'projects') # # # # # By default name of the node for the children of root is root.singularize. # You can change it with the :children option. # # The +options+ hash is passed downwards: # # Message.all.to_xml(skip_types: true) # # # # # 2008-03-07T09:58:18+01:00 # 1 # 1 # 2008-03-07T09:58:18+01:00 # 1 # # # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/conversions.rb:184 def to_xml(options = T.unsafe(nil)); end # Returns a copy of the Array excluding the specified elements. # # ["David", "Rafael", "Aaron", "Todd"].excluding("Aaron", "Todd") # => ["David", "Rafael"] # [ [ 0, 1 ], [ 1, 0 ] ].excluding([ [ 1, 0 ] ]) # => [ [ 0, 1 ] ] # # Note: This is an optimization of Enumerable#excluding that uses Array#- # instead of Array#reject for performance reasons. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/access.rb:47 def without(*elements); end class << self # Wraps its argument in an array unless it is already an array (or array-like). # # Specifically: # # * If the argument is +nil+ an empty array is returned. # * Otherwise, if the argument responds to +to_ary+ it is invoked, and its result returned. # * Otherwise, returns an array with the argument as its single element. # # Array.wrap(nil) # => [] # Array.wrap([1, 2, 3]) # => [1, 2, 3] # Array.wrap(0) # => [0] # # This method is similar in purpose to Kernel#Array, but there are some differences: # # * If the argument responds to +to_ary+ the method is invoked. Kernel#Array # moves on to try +to_a+ if the returned value is +nil+, but Array.wrap returns # an array with the argument as its single element right away. # * If the returned value from +to_ary+ is neither +nil+ nor an +Array+ object, Kernel#Array # raises an exception, while Array.wrap does not, it just returns the value. # * It does not call +to_a+ on the argument, if the argument does not respond to +to_ary+ # it returns an array with the argument as its single element. # # The last point is easily explained with some enumerables: # # Array(foo: :bar) # => [[:foo, :bar]] # Array.wrap(foo: :bar) # => [{:foo=>:bar}] # # There's also a related idiom that uses the splat operator: # # [*object] # # which returns [] for +nil+, but calls to Array(object) otherwise. # # The differences with Kernel#Array explained above # apply to the rest of objects. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/wrap.rb:39 def wrap(object); end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/deprecated_conversions.rb:4 Array::NOT_SET = T.let(T.unsafe(nil), Object) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:118 class BigDecimal < ::Numeric include ::ActiveSupport::BigDecimalWithDefaultFormat include ::ActiveSupport::NumericWithFormat include ::ActiveSupport::DeprecatedNumericWithFormat # A BigDecimal would be naturally represented as a JSON number. Most libraries, # however, parse non-integer JSON numbers directly as floats. Clients using # those libraries would get in general a wrong number and no way to recover # other than manually inspecting the string with the JSON code itself. # # That's why a JSON string is returned. The JSON literal is not numeric, but # if the other end knows by contract that the data is supposed to be a # BigDecimal, it still has the chance to post-process the string and get the # real value. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:128 def as_json(options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/deprecated_conversions.rb:5 def to_s(format = T.unsafe(nil), options = T.unsafe(nil)); end end BigDecimal::EXCEPTION_NaN = T.let(T.unsafe(nil), Integer) BigDecimal::VERSION = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/class/attribute.rb:5 class Class < ::Module # Declare a class-level attribute whose value is inheritable by subclasses. # Subclasses can change their own value and it will not impact parent class. # # ==== Options # # * :instance_reader - Sets the instance reader method (defaults to true). # * :instance_writer - Sets the instance writer method (defaults to true). # * :instance_accessor - Sets both instance methods (defaults to true). # * :instance_predicate - Sets a predicate method (defaults to true). # * :default - Sets a default value for the attribute (defaults to nil). # # ==== Examples # # class Base # class_attribute :setting # end # # class Subclass < Base # end # # Base.setting = true # Subclass.setting # => true # Subclass.setting = false # Subclass.setting # => false # Base.setting # => true # # In the above case as long as Subclass does not assign a value to setting # by performing Subclass.setting = _something_, Subclass.setting # would read value assigned to parent class. Once Subclass assigns a value then # the value assigned by Subclass would be returned. # # This matches normal Ruby method inheritance: think of writing an attribute # on a subclass as overriding the reader method. However, you need to be aware # when using +class_attribute+ with mutable structures as +Array+ or +Hash+. # In such cases, you don't want to do changes in place. Instead use setters: # # Base.setting = [] # Base.setting # => [] # Subclass.setting # => [] # # # Appending in child changes both parent and child because it is the same object: # Subclass.setting << :foo # Base.setting # => [:foo] # Subclass.setting # => [:foo] # # # Use setters to not propagate changes: # Base.setting = [] # Subclass.setting += [:foo] # Base.setting # => [] # Subclass.setting # => [:foo] # # For convenience, an instance predicate method is defined as well. # To skip it, pass instance_predicate: false. # # Subclass.setting? # => false # # Instances may overwrite the class value in the same way: # # Base.setting = true # object = Base.new # object.setting # => true # object.setting = false # object.setting # => false # Base.setting # => true # # To opt out of the instance reader method, pass instance_reader: false. # # object.setting # => NoMethodError # object.setting? # => NoMethodError # # To opt out of the instance writer method, pass instance_writer: false. # # object.setting = false # => NoMethodError # # To opt out of both instance methods, pass instance_accessor: false. # # To set a default value for the attribute, pass default:, like so: # # class_attribute :settings, default: {} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/class/attribute.rb:85 def class_attribute(*attrs, instance_accessor: T.unsafe(nil), instance_reader: T.unsafe(nil), instance_writer: T.unsafe(nil), instance_predicate: T.unsafe(nil), default: T.unsafe(nil)); end # Returns an array with all classes that are < than its receiver. # # class C; end # C.descendants # => [] # # class B < C; end # C.descendants # => [B] # # class A < B; end # C.descendants # => [B, A] # # class D < C; end # C.descendants # => [B, A, D] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/class/subclasses.rb:20 def descendants; end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/zones.rb:6 class Date include ::Comparable include ::DateAndTime::Zones include ::DateAndTime::Calculations # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:90 def +(other); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:100 def -(other); end # Allow Date to be compared with Time by converting to DateTime and relying on the <=> from there. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:137 def <=>(other); end # Duck-types as a Date-like class. See Object#acts_like?. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/acts_like.rb:7 def acts_like_date?; end # Provides precise Date calculations for years, months, and days. The +options+ parameter takes a hash with # any of these keys: :years, :months, :weeks, :days. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:112 def advance(options); end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the beginning of the day (0:00) # and then subtracts the specified number of seconds. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:55 def ago(seconds); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:197 def as_json(options = T.unsafe(nil)); end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the beginning of the day (0:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:67 def at_beginning_of_day; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the end of the day (23:59:59) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:85 def at_end_of_day; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:75 def at_midday; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:75 def at_middle_of_day; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the beginning of the day (0:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:67 def at_midnight; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:75 def at_noon; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the beginning of the day (0:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:67 def beginning_of_day; end # No Date is blank: # # Date.today.blank? # => false # # @return [false] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/blank.rb:11 def blank?; end # Returns a new Date where one or more of the elements have been changed according to the +options+ parameter. # The +options+ parameter is a hash with a combination of these keys: :year, :month, :day. # # Date.new(2007, 5, 12).change(day: 1) # => Date.new(2007, 5, 1) # Date.new(2007, 5, 12).change(year: 2005, month: 1) # => Date.new(2005, 1, 12) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:128 def change(options); end # Allow Date to be compared with Time by converting to DateTime and relying on the <=> from there. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:137 def compare_with_coercion(other); end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the end of the day (23:59:59) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:85 def end_of_day; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the beginning of the day (0:00) # and then adds the specified number of seconds # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:61 def in(seconds); end # Overrides the default inspect method with a human readable one, e.g., "Mon, 21 Feb 2005" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/conversions.rb:62 def inspect; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:75 def midday; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:75 def middle_of_day; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the beginning of the day (0:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:67 def midnight; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:100 def minus_with_duration(other); end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:75 def noon; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:90 def plus_with_duration(other); end # Overrides the default inspect method with a human readable one, e.g., "Mon, 21 Feb 2005" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/conversions.rb:62 def readable_inspect; end # Converts Date to a Time (or DateTime if necessary) with the time portion set to the beginning of the day (0:00) # and then adds the specified number of seconds # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:61 def since(seconds); end # Convert to a formatted string. See DATE_FORMATS for predefined formats. # # This method is aliased to to_formatted_s. # # date = Date.new(2007, 11, 10) # => Sat, 10 Nov 2007 # # date.to_fs(:db) # => "2007-11-10" # date.to_formatted_s(:db) # => "2007-11-10" # # date.to_fs(:short) # => "10 Nov" # date.to_fs(:number) # => "20071110" # date.to_fs(:long) # => "November 10, 2007" # date.to_fs(:long_ordinal) # => "November 10th, 2007" # date.to_fs(:rfc822) # => "10 Nov 2007" # date.to_fs(:iso8601) # => "2007-11-10" # # == Adding your own date formats to to_fs # You can add your own formats to the Date::DATE_FORMATS hash. # Use the format name as the hash key and either a strftime string # or Proc instance that takes a date argument as the value. # # # config/initializers/date_formats.rb # Date::DATE_FORMATS[:month_and_year] = '%B %Y' # Date::DATE_FORMATS[:short_ordinal] = ->(date) { date.strftime("%B #{date.day.ordinalize}") } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/conversions.rb:47 def to_formatted_s(format = T.unsafe(nil)); end # Convert to a formatted string. See DATE_FORMATS for predefined formats. # # This method is aliased to to_formatted_s. # # date = Date.new(2007, 11, 10) # => Sat, 10 Nov 2007 # # date.to_fs(:db) # => "2007-11-10" # date.to_formatted_s(:db) # => "2007-11-10" # # date.to_fs(:short) # => "10 Nov" # date.to_fs(:number) # => "20071110" # date.to_fs(:long) # => "November 10, 2007" # date.to_fs(:long_ordinal) # => "November 10th, 2007" # date.to_fs(:rfc822) # => "10 Nov 2007" # date.to_fs(:iso8601) # => "2007-11-10" # # == Adding your own date formats to to_fs # You can add your own formats to the Date::DATE_FORMATS hash. # Use the format name as the hash key and either a strftime string # or Proc instance that takes a date argument as the value. # # # config/initializers/date_formats.rb # Date::DATE_FORMATS[:month_and_year] = '%B %Y' # Date::DATE_FORMATS[:short_ordinal] = ->(date) { date.strftime("%B #{date.day.ordinalize}") } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/conversions.rb:47 def to_fs(format = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/deprecated_conversions.rb:7 def to_s(format = T.unsafe(nil)); end # Converts a Date instance to a Time, where the time is set to the beginning of the day. # The timezone can be either +:local+ or +:utc+ (default +:local+). # # date = Date.new(2007, 11, 10) # => Sat, 10 Nov 2007 # # date.to_time # => 2007-11-10 00:00:00 0800 # date.to_time(:local) # => 2007-11-10 00:00:00 0800 # # date.to_time(:utc) # => 2007-11-10 00:00:00 UTC # # NOTE: The +:local+ timezone is Ruby's *process* timezone, i.e. ENV['TZ']. # If the application's timezone is needed, then use +in_time_zone+ instead. # # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/conversions.rb:82 def to_time(form = T.unsafe(nil)); end # Returns a string which represents the time in used time zone as DateTime # defined by XML Schema: # # date = Date.new(2015, 05, 23) # => Sat, 23 May 2015 # date.xmlschema # => "2015-05-23T00:00:00+04:00" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/conversions.rb:94 def xmlschema; end class << self # Returns the week start (e.g. +:monday+) for the current request, if this has been set (via Date.beginning_of_week=). # If Date.beginning_of_week has not been set for the current request, returns the week start specified in config.beginning_of_week. # If no +config.beginning_of_week+ was specified, returns +:monday+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:19 def beginning_of_week; end # Sets Date.beginning_of_week to a week start (e.g. +:monday+) for current request/thread. # # This method accepts any of the following day symbols: # +:monday+, +:tuesday+, +:wednesday+, +:thursday+, +:friday+, +:saturday+, +:sunday+ # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:27 def beginning_of_week=(week_start); end # Returns the value of attribute beginning_of_week_default. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:14 def beginning_of_week_default; end # Sets the attribute beginning_of_week_default # # @param value the value to set the attribute beginning_of_week_default to. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:14 def beginning_of_week_default=(_arg0); end # Returns Time.zone.today when Time.zone or config.time_zone are set, otherwise just returns Date.today. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:48 def current; end # Returns week start day symbol (e.g. +:monday+), or raises an +ArgumentError+ for invalid day symbol. # # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:32 def find_beginning_of_week!(week_start); end # Returns a new Date representing the date 1 day after today (i.e. tomorrow's date). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:43 def tomorrow; end # Returns a new Date representing the date 1 day ago (i.e. yesterday's date). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/calculations.rb:38 def yesterday; end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/conversions.rb:9 Date::DATE_FORMATS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/core_ext/date/deprecated_conversions.rb:6 Date::NOT_SET = T.let(T.unsafe(nil), Object) # source://RUBY_ROOT/date.rb:7 Date::VERSION = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/compatibility.rb:5 module DateAndTime; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:7 module DateAndTime::Calculations # Returns true if the date/time falls after date_or_time. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:72 def after?(date_or_time); end # Returns a Range representing the whole day of the current date/time. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:300 def all_day; end # Returns a Range representing the whole month of the current date/time. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:311 def all_month; end # Returns a Range representing the whole quarter of the current date/time. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:316 def all_quarter; end # Returns a Range representing the whole week of the current date/time. # Week starts on start_day, default is Date.beginning_of_week or config.beginning_of_week when set. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:306 def all_week(start_day = T.unsafe(nil)); end # Returns a Range representing the whole year of the current date/time. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:321 def all_year; end # Returns a new date/time at the start of the month. # # today = Date.today # => Thu, 18 Jun 2015 # today.beginning_of_month # => Mon, 01 Jun 2015 # # +DateTime+ objects will have a time set to 0:00. # # now = DateTime.current # => Thu, 18 Jun 2015 15:23:13 +0000 # now.beginning_of_month # => Mon, 01 Jun 2015 00:00:00 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:125 def at_beginning_of_month; end # Returns a new date/time at the start of the quarter. # # today = Date.today # => Fri, 10 Jul 2015 # today.beginning_of_quarter # => Wed, 01 Jul 2015 # # +DateTime+ objects will have a time set to 0:00. # # now = DateTime.current # => Fri, 10 Jul 2015 18:41:29 +0000 # now.beginning_of_quarter # => Wed, 01 Jul 2015 00:00:00 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:139 def at_beginning_of_quarter; end # Returns a new date/time representing the start of this week on the given day. # Week is assumed to start on +start_day+, default is # +Date.beginning_of_week+ or +config.beginning_of_week+ when set. # +DateTime+ objects have their time set to 0:00. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:257 def at_beginning_of_week(start_day = T.unsafe(nil)); end # Returns a new date/time at the beginning of the year. # # today = Date.today # => Fri, 10 Jul 2015 # today.beginning_of_year # => Thu, 01 Jan 2015 # # +DateTime+ objects will have a time set to 0:00. # # now = DateTime.current # => Fri, 10 Jul 2015 18:41:29 +0000 # now.beginning_of_year # => Thu, 01 Jan 2015 00:00:00 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:169 def at_beginning_of_year; end # Returns a new date/time representing the end of the month. # DateTime objects will have a time set to 23:59:59. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:286 def at_end_of_month; end # Returns a new date/time at the end of the quarter. # # today = Date.today # => Fri, 10 Jul 2015 # today.end_of_quarter # => Wed, 30 Sep 2015 # # +DateTime+ objects will have a time set to 23:59:59. # # now = DateTime.current # => Fri, 10 Jul 2015 18:41:29 +0000 # now.end_of_quarter # => Wed, 30 Sep 2015 23:59:59 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:154 def at_end_of_quarter; end # Returns a new date/time representing the end of this week on the given day. # Week is assumed to start on +start_day+, default is # +Date.beginning_of_week+ or +config.beginning_of_week+ when set. # DateTime objects have their time set to 23:59:59. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:273 def at_end_of_week(start_day = T.unsafe(nil)); end # Returns a new date/time representing the end of the year. # DateTime objects will have a time set to 23:59:59. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:294 def at_end_of_year; end # Returns true if the date/time falls before date_or_time. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:67 def before?(date_or_time); end # Returns a new date/time at the start of the month. # # today = Date.today # => Thu, 18 Jun 2015 # today.beginning_of_month # => Mon, 01 Jun 2015 # # +DateTime+ objects will have a time set to 0:00. # # now = DateTime.current # => Thu, 18 Jun 2015 15:23:13 +0000 # now.beginning_of_month # => Mon, 01 Jun 2015 00:00:00 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:125 def beginning_of_month; end # Returns a new date/time at the start of the quarter. # # today = Date.today # => Fri, 10 Jul 2015 # today.beginning_of_quarter # => Wed, 01 Jul 2015 # # +DateTime+ objects will have a time set to 0:00. # # now = DateTime.current # => Fri, 10 Jul 2015 18:41:29 +0000 # now.beginning_of_quarter # => Wed, 01 Jul 2015 00:00:00 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:139 def beginning_of_quarter; end # Returns a new date/time representing the start of this week on the given day. # Week is assumed to start on +start_day+, default is # +Date.beginning_of_week+ or +config.beginning_of_week+ when set. # +DateTime+ objects have their time set to 0:00. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:257 def beginning_of_week(start_day = T.unsafe(nil)); end # Returns a new date/time at the beginning of the year. # # today = Date.today # => Fri, 10 Jul 2015 # today.beginning_of_year # => Thu, 01 Jan 2015 # # +DateTime+ objects will have a time set to 0:00. # # now = DateTime.current # => Fri, 10 Jul 2015 18:41:29 +0000 # now.beginning_of_year # => Thu, 01 Jan 2015 00:00:00 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:169 def beginning_of_year; end # Returns a new date/time the specified number of days ago. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:77 def days_ago(days); end # Returns a new date/time the specified number of days in the future. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:82 def days_since(days); end # Returns the number of days to the start of the week on the given day. # Week is assumed to start on +start_day+, default is # +Date.beginning_of_week+ or +config.beginning_of_week+ when set. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:248 def days_to_week_start(start_day = T.unsafe(nil)); end # Returns a new date/time representing the end of the month. # DateTime objects will have a time set to 23:59:59. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:286 def end_of_month; end # Returns a new date/time at the end of the quarter. # # today = Date.today # => Fri, 10 Jul 2015 # today.end_of_quarter # => Wed, 30 Sep 2015 # # +DateTime+ objects will have a time set to 23:59:59. # # now = DateTime.current # => Fri, 10 Jul 2015 18:41:29 +0000 # now.end_of_quarter # => Wed, 30 Sep 2015 23:59:59 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:154 def end_of_quarter; end # Returns a new date/time representing the end of this week on the given day. # Week is assumed to start on +start_day+, default is # +Date.beginning_of_week+ or +config.beginning_of_week+ when set. # DateTime objects have their time set to 23:59:59. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:273 def end_of_week(start_day = T.unsafe(nil)); end # Returns a new date/time representing the end of the year. # DateTime objects will have a time set to 23:59:59. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:294 def end_of_year; end # Returns true if the date/time is in the future. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:52 def future?; end # Short-hand for months_ago(1). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:230 def last_month; end # Short-hand for months_ago(3). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:235 def last_quarter; end # Returns a new date/time representing the given day in the previous week. # Week is assumed to start on +start_day+, default is # +Date.beginning_of_week+ or +config.beginning_of_week+ when set. # DateTime objects have their time set to 0:00 unless +same_time+ is true. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:213 def last_week(start_day = T.unsafe(nil), same_time: T.unsafe(nil)); end # Returns a new date/time representing the previous weekday. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:220 def last_weekday; end # Short-hand for years_ago(1). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:241 def last_year; end # Returns Monday of this week assuming that week starts on Monday. # +DateTime+ objects have their time set to 0:00. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:265 def monday; end # Returns a new date/time the specified number of months ago. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:97 def months_ago(months); end # Returns a new date/time the specified number of months in the future. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:102 def months_since(months); end # Returns true if the date/time is tomorrow. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:35 def next_day?; end # Returns a new date/time representing the next occurrence of the specified day of week. # # today = Date.today # => Thu, 14 Dec 2017 # today.next_occurring(:monday) # => Mon, 18 Dec 2017 # today.next_occurring(:thursday) # => Thu, 21 Dec 2017 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:330 def next_occurring(day_of_week); end # Short-hand for months_since(3). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:205 def next_quarter; end # Returns a new date/time representing the given day in the next week. # # today = Date.today # => Thu, 07 May 2015 # today.next_week # => Mon, 11 May 2015 # # The +given_day_in_next_week+ defaults to the beginning of the week # which is determined by +Date.beginning_of_week+ or +config.beginning_of_week+ # when set. # # today = Date.today # => Thu, 07 May 2015 # today.next_week(:friday) # => Fri, 15 May 2015 # # +DateTime+ objects have their time set to 0:00 unless +same_time+ is true. # # now = DateTime.current # => Thu, 07 May 2015 13:31:16 +0000 # now.next_week # => Mon, 11 May 2015 00:00:00 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:190 def next_week(given_day_in_next_week = T.unsafe(nil), same_time: T.unsafe(nil)); end # Returns a new date/time representing the next weekday. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:196 def next_weekday; end # Returns true if the date/time does not fall on a Saturday or Sunday. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:62 def on_weekday?; end # Returns true if the date/time falls on a Saturday or Sunday. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:57 def on_weekend?; end # Returns true if the date/time is in the past. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:47 def past?; end # Returns true if the date/time is yesterday. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:41 def prev_day?; end # Returns a new date/time representing the previous occurrence of the specified day of week. # # today = Date.today # => Thu, 14 Dec 2017 # today.prev_occurring(:monday) # => Mon, 11 Dec 2017 # today.prev_occurring(:thursday) # => Thu, 07 Dec 2017 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:341 def prev_occurring(day_of_week); end # Short-hand for months_ago(3). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:235 def prev_quarter; end # Returns a new date/time representing the given day in the previous week. # Week is assumed to start on +start_day+, default is # +Date.beginning_of_week+ or +config.beginning_of_week+ when set. # DateTime objects have their time set to 0:00 unless +same_time+ is true. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:213 def prev_week(start_day = T.unsafe(nil), same_time: T.unsafe(nil)); end # Returns a new date/time representing the previous weekday. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:220 def prev_weekday; end # Returns Sunday of this week assuming that week starts on Monday. # +DateTime+ objects have their time set to 23:59:59. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:280 def sunday; end # Returns true if the date/time is today. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:30 def today?; end # Returns a new date/time representing tomorrow. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:25 def tomorrow; end # Returns true if the date/time is tomorrow. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:35 def tomorrow?; end # Returns a new date/time the specified number of weeks ago. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:87 def weeks_ago(weeks); end # Returns a new date/time the specified number of weeks in the future. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:92 def weeks_since(weeks); end # Returns a new date/time the specified number of years ago. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:107 def years_ago(years); end # Returns a new date/time the specified number of years in the future. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:112 def years_since(years); end # Returns a new date/time representing yesterday. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:20 def yesterday; end # Returns true if the date/time is yesterday. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:41 def yesterday?; end private # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:360 def copy_time_to(other); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:356 def days_span(day); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:348 def first_hour(date_or_time); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:352 def last_hour(date_or_time); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:8 DateAndTime::Calculations::DAYS_INTO_WEEK = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/calculations.rb:17 DateAndTime::Calculations::WEEKEND_DAYS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/compatibility.rb:6 module DateAndTime::Compatibility # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/compatibility.rb:14 def preserve_timezone; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/compatibility.rb:29 def utc_to_local_returns_utc_offset_times; end class << self # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/compatibility.rb:14 def preserve_timezone; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/compatibility.rb:14 def preserve_timezone=(val); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/compatibility.rb:29 def utc_to_local_returns_utc_offset_times; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/compatibility.rb:29 def utc_to_local_returns_utc_offset_times=(val); end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/zones.rb:4 module DateAndTime::Zones # Returns the simultaneous time in Time.zone if a zone is given or # if Time.zone_default is set. Otherwise, it returns the current time. # # Time.zone = 'Hawaii' # => 'Hawaii' # Time.utc(2000).in_time_zone # => Fri, 31 Dec 1999 14:00:00 HST -10:00 # Date.new(2000).in_time_zone # => Sat, 01 Jan 2000 00:00:00 HST -10:00 # # This method is similar to Time#localtime, except that it uses Time.zone as the local zone # instead of the operating system's time zone. # # You can also pass in a TimeZone instance or string that identifies a TimeZone as an argument, # and the conversion will be based on that zone instead of Time.zone. # # Time.utc(2000).in_time_zone('Alaska') # => Fri, 31 Dec 1999 15:00:00 AKST -09:00 # Date.new(2000).in_time_zone('Alaska') # => Sat, 01 Jan 2000 00:00:00 AKST -09:00 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/zones.rb:20 def in_time_zone(zone = T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_and_time/zones.rb:32 def time_with_zone(time, zone); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:5 class DateTime < ::Date include ::DateAndTime::Compatibility # Layers additional behavior on DateTime#<=> so that Time and # ActiveSupport::TimeWithZone instances can be compared with a DateTime. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:204 def <=>(other); end # Duck-types as a Date-like class. See Object#acts_like?. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/acts_like.rb:8 def acts_like_date?; end # Duck-types as a Time-like class. See Object#acts_like?. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/acts_like.rb:13 def acts_like_time?; end # Uses Date to provide precise Time calculations for years, months, and days. # The +options+ parameter takes a hash with any of these keys: :years, # :months, :weeks, :days, :hours, # :minutes, :seconds. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:78 def advance(options); end # Returns a new DateTime representing the time a number of seconds ago. # Do not use this method in combination with x.months, use months_ago instead! # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:105 def ago(seconds); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:207 def as_json(options = T.unsafe(nil)); end # Returns a new DateTime representing the start of the day (0:00). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:118 def at_beginning_of_day; end # Returns a new DateTime representing the start of the hour (hh:00:00). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:142 def at_beginning_of_hour; end # Returns a new DateTime representing the start of the minute (hh:mm:00). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:154 def at_beginning_of_minute; end # Returns a new DateTime representing the end of the day (23:59:59). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:136 def at_end_of_day; end # Returns a new DateTime representing the end of the hour (hh:59:59). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:148 def at_end_of_hour; end # Returns a new DateTime representing the end of the minute (hh:mm:59). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:160 def at_end_of_minute; end # Returns a new DateTime representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:126 def at_midday; end # Returns a new DateTime representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:126 def at_middle_of_day; end # Returns a new DateTime representing the start of the day (0:00). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:118 def at_midnight; end # Returns a new DateTime representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:126 def at_noon; end # Returns a new DateTime representing the start of the day (0:00). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:118 def beginning_of_day; end # Returns a new DateTime representing the start of the hour (hh:00:00). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:142 def beginning_of_hour; end # Returns a new DateTime representing the start of the minute (hh:mm:00). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:154 def beginning_of_minute; end # No DateTime is ever blank: # # DateTime.now.blank? # => false # # @return [false] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/blank.rb:11 def blank?; end # Returns a new DateTime where one or more of the elements have been changed # according to the +options+ parameter. The time options (:hour, # :min, :sec) reset cascadingly, so if only the hour is # passed, then minute and sec is set to 0. If the hour and minute is passed, # then sec is set to 0. The +options+ parameter takes a hash with any of these # keys: :year, :month, :day, :hour, # :min, :sec, :offset, :start. # # DateTime.new(2012, 8, 29, 22, 35, 0).change(day: 1) # => DateTime.new(2012, 8, 1, 22, 35, 0) # DateTime.new(2012, 8, 29, 22, 35, 0).change(year: 1981, day: 1) # => DateTime.new(1981, 8, 1, 22, 35, 0) # DateTime.new(2012, 8, 29, 22, 35, 0).change(year: 1981, hour: 0) # => DateTime.new(1981, 8, 29, 0, 0, 0) # # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:51 def change(options); end # Returns a new DateTime representing the end of the day (23:59:59). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:136 def end_of_day; end # Returns a new DateTime representing the end of the hour (hh:59:59). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:148 def end_of_hour; end # Returns a new DateTime representing the end of the minute (hh:mm:59). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:160 def end_of_minute; end # Returns a formatted string of the offset from UTC, or an alternative # string if the time zone is already UTC. # # datetime = DateTime.civil(2000, 1, 1, 0, 0, 0, Rational(-6, 24)) # datetime.formatted_offset # => "-06:00" # datetime.formatted_offset(false) # => "-0600" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:51 def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end # Returns a Time instance of the simultaneous time in the UTC timezone. # # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)) # => Mon, 21 Feb 2005 10:11:12 -0600 # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)).utc # => Mon, 21 Feb 2005 16:11:12 UTC # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:180 def getgm; end # Returns a Time instance of the simultaneous time in the system timezone. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:166 def getlocal(utc_offset = T.unsafe(nil)); end # Returns a Time instance of the simultaneous time in the UTC timezone. # # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)) # => Mon, 21 Feb 2005 10:11:12 -0600 # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)).utc # => Mon, 21 Feb 2005 16:11:12 UTC # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:180 def getutc; end # Returns a Time instance of the simultaneous time in the UTC timezone. # # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)) # => Mon, 21 Feb 2005 10:11:12 -0600 # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)).utc # => Mon, 21 Feb 2005 16:11:12 UTC # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:180 def gmtime; end # Returns a new DateTime representing the time a number of seconds since the # instance time. Do not use this method in combination with x.months, use # months_since instead! # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:112 def in(seconds); end # Overrides the default inspect method with a human readable one, e.g., "Mon, 21 Feb 2005 14:30:00 +0000". # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:56 def inspect; end # Returns a Time instance of the simultaneous time in the system timezone. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:166 def localtime(utc_offset = T.unsafe(nil)); end # Returns a new DateTime representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:126 def midday; end # Returns a new DateTime representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:126 def middle_of_day; end # Returns a new DateTime representing the start of the day (0:00). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:118 def midnight; end # Returns a new DateTime representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:126 def noon; end # Returns the fraction of a second as nanoseconds # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:94 def nsec; end # Overrides the default inspect method with a human readable one, e.g., "Mon, 21 Feb 2005 14:30:00 +0000". # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:56 def readable_inspect; end # Returns the number of seconds since 00:00:00. # # DateTime.new(2012, 8, 29, 0, 0, 0).seconds_since_midnight # => 0 # DateTime.new(2012, 8, 29, 12, 34, 56).seconds_since_midnight # => 45296 # DateTime.new(2012, 8, 29, 23, 59, 59).seconds_since_midnight # => 86399 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:20 def seconds_since_midnight; end # Returns the number of seconds until 23:59:59. # # DateTime.new(2012, 8, 29, 0, 0, 0).seconds_until_end_of_day # => 86399 # DateTime.new(2012, 8, 29, 12, 34, 56).seconds_until_end_of_day # => 41103 # DateTime.new(2012, 8, 29, 23, 59, 59).seconds_until_end_of_day # => 0 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:29 def seconds_until_end_of_day; end # Returns a new DateTime representing the time a number of seconds since the # instance time. Do not use this method in combination with x.months, use # months_since instead! # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:112 def since(seconds); end # Returns the fraction of a second as a +Rational+ # # DateTime.new(2012, 8, 29, 0, 0, 0.5).subsec # => (1/2) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:36 def subsec; end # Converts +self+ to a floating-point number of seconds, including fractional microseconds, since the Unix epoch. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:79 def to_f; end # Convert to a formatted string. See Time::DATE_FORMATS for predefined formats. # # This method is aliased to to_formatted_s. # # === Examples # datetime = DateTime.civil(2007, 12, 4, 0, 0, 0, 0) # => Tue, 04 Dec 2007 00:00:00 +0000 # # datetime.to_fs(:db) # => "2007-12-04 00:00:00" # datetime.to_formatted_s(:db) # => "2007-12-04 00:00:00" # datetime.to_fs(:number) # => "20071204000000" # datetime.to_fs(:short) # => "04 Dec 00:00" # datetime.to_fs(:long) # => "December 04, 2007 00:00" # datetime.to_fs(:long_ordinal) # => "December 4th, 2007 00:00" # datetime.to_fs(:rfc822) # => "Tue, 04 Dec 2007 00:00:00 +0000" # datetime.to_fs(:iso8601) # => "2007-12-04T00:00:00+00:00" # # == Adding your own datetime formats to to_fs # DateTime formats are shared with Time. You can add your own to the # Time::DATE_FORMATS hash. Use the format name as the hash key and # either a strftime string or Proc instance that takes a time or # datetime argument as the value. # # # config/initializers/time_formats.rb # Time::DATE_FORMATS[:month_and_year] = '%B %Y' # Time::DATE_FORMATS[:short_ordinal] = lambda { |time| time.strftime("%B #{time.day.ordinalize}") } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:35 def to_formatted_s(format = T.unsafe(nil)); end # Convert to a formatted string. See Time::DATE_FORMATS for predefined formats. # # This method is aliased to to_formatted_s. # # === Examples # datetime = DateTime.civil(2007, 12, 4, 0, 0, 0, 0) # => Tue, 04 Dec 2007 00:00:00 +0000 # # datetime.to_fs(:db) # => "2007-12-04 00:00:00" # datetime.to_formatted_s(:db) # => "2007-12-04 00:00:00" # datetime.to_fs(:number) # => "20071204000000" # datetime.to_fs(:short) # => "04 Dec 00:00" # datetime.to_fs(:long) # => "December 04, 2007 00:00" # datetime.to_fs(:long_ordinal) # => "December 4th, 2007 00:00" # datetime.to_fs(:rfc822) # => "Tue, 04 Dec 2007 00:00:00 +0000" # datetime.to_fs(:iso8601) # => "2007-12-04T00:00:00+00:00" # # == Adding your own datetime formats to to_fs # DateTime formats are shared with Time. You can add your own to the # Time::DATE_FORMATS hash. Use the format name as the hash key and # either a strftime string or Proc instance that takes a time or # datetime argument as the value. # # # config/initializers/time_formats.rb # Time::DATE_FORMATS[:month_and_year] = '%B %Y' # Time::DATE_FORMATS[:short_ordinal] = lambda { |time| time.strftime("%B #{time.day.ordinalize}") } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:35 def to_fs(format = T.unsafe(nil)); end # Converts +self+ to an integer number of seconds since the Unix epoch. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:84 def to_i; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/deprecated_conversions.rb:7 def to_s(format = T.unsafe(nil)); end # Either return an instance of +Time+ with the same UTC offset # as +self+ or an instance of +Time+ representing the same time # in the local system timezone depending on the setting of # on the setting of +ActiveSupport.to_time_preserves_timezone+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/compatibility.rb:15 def to_time; end # Returns the fraction of a second as microseconds # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:89 def usec; end # Returns a Time instance of the simultaneous time in the UTC timezone. # # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)) # => Mon, 21 Feb 2005 10:11:12 -0600 # DateTime.civil(2005, 2, 21, 10, 11, 12, Rational(-6, 24)).utc # => Mon, 21 Feb 2005 16:11:12 UTC # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:180 def utc; end # Returns +true+ if offset == 0. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:193 def utc?; end # Returns the offset value in seconds. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:198 def utc_offset; end private # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:99 def offset_in_seconds; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:103 def seconds_since_unix_epoch; end class << self # Returns DateTime with local offset for given year if format is local else # offset is zero. # # DateTime.civil_from_format :local, 2012 # # => Sun, 01 Jan 2012 00:00:00 +0300 # DateTime.civil_from_format :local, 2012, 12, 17 # # => Mon, 17 Dec 2012 00:00:00 +0000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/conversions.rb:69 def civil_from_format(utc_or_local, year, month = T.unsafe(nil), day = T.unsafe(nil), hour = T.unsafe(nil), min = T.unsafe(nil), sec = T.unsafe(nil)); end # Returns Time.zone.now.to_datetime when Time.zone or # config.time_zone are set, otherwise returns # Time.now.to_datetime. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/calculations.rb:10 def current; end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/date_time/deprecated_conversions.rb:6 DateTime::NOT_SET = T.let(T.unsafe(nil), Object) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/try.rb:117 class Delegator < ::BasicObject include ::ActiveSupport::Tryable end # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:7 module Digest::UUID class << self # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:13 def use_rfc4122_namespaced_uuids; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:13 def use_rfc4122_namespaced_uuids=(val); end # Generates a v5 non-random UUID (Universally Unique IDentifier). # # Using OpenSSL::Digest::MD5 generates version 3 UUIDs; OpenSSL::Digest::SHA1 generates version 5 UUIDs. # uuid_from_hash always generates the same UUID for a given name and namespace combination. # # See RFC 4122 for details of UUID at: https://www.ietf.org/rfc/rfc4122.txt # # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:21 def uuid_from_hash(hash_class, namespace, name); end # Convenience method for uuid_from_hash using OpenSSL::Digest::MD5. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:44 def uuid_v3(uuid_namespace, name); end # Convenience method for SecureRandom.uuid. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:54 def uuid_v4; end # Convenience method for uuid_from_hash using OpenSSL::Digest::SHA1. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:49 def uuid_v5(uuid_namespace, name); end private # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:58 def pack_uuid_namespace(namespace); end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:8 Digest::UUID::DNS_NAMESPACE = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:10 Digest::UUID::OID_NAMESPACE = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:9 Digest::UUID::URL_NAMESPACE = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/digest/uuid.rb:11 Digest::UUID::X500_NAMESPACE = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:8 module ERB::Util private # A utility method for escaping HTML tag characters. # This method is also aliased as h. # # puts html_escape('is a > 0 & a < 10?') # # => is a > 0 & a < 10? # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:27 def h(s); end # A utility method for escaping HTML tag characters. # This method is also aliased as h. # # puts html_escape('is a > 0 & a < 10?') # # => is a > 0 & a < 10? # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:27 def html_escape(s); end # A utility method for escaping HTML without affecting existing escaped entities. # # html_escape_once('1 < 2 & 3') # # => "1 < 2 & 3" # # html_escape_once('<< Accept & Checkout') # # => "<< Accept & Checkout" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:58 def html_escape_once(s); end # A utility method for escaping HTML entities in JSON strings. Specifically, the # &, > and < characters are replaced with their equivalent unicode escaped form - # \u0026, \u003e, and \u003c. The Unicode sequences \u2028 and \u2029 are also # escaped as they are treated as newline characters in some JavaScript engines. # These sequences have identical meaning as the original characters inside the # context of a JSON string, so assuming the input is a valid and well-formed # JSON value, the output will have equivalent meaning when parsed: # # json = JSON.generate({ name: ""}) # # => "{\"name\":\"\"}" # # json_escape(json) # # => "{\"name\":\"\\u003C/script\\u003E\\u003Cscript\\u003Ealert('PWNED!!!')\\u003C/script\\u003E\"}" # # JSON.parse(json) == JSON.parse(json_escape(json)) # # => true # # The intended use case for this method is to escape JSON strings before including # them inside a script tag to avoid XSS vulnerability: # # # # It is necessary to +raw+ the result of +json_escape+, so that quotation marks # don't get converted to " entities. +json_escape+ doesn't # automatically flag the result as HTML safe, since the raw value is unsafe to # use inside HTML attributes. # # If your JSON is being used downstream for insertion into the DOM, be aware of # whether or not it is being inserted via html(). Most jQuery plugins do this. # If that is the case, be sure to +html_escape+ or +sanitize+ any user-generated # content returned by your JSON. # # If you need to output JSON elsewhere in your HTML, you can just do something # like this, as any unsafe characters (including quotation marks) will be # automatically escaped for you: # #
...
# # WARNING: this helper only works with valid JSON. Using this on non-JSON values # will open up serious XSS vulnerabilities. For example, if you replace the # +current_user.to_json+ in the example above with user input instead, the browser # will happily eval() that string as JavaScript. # # The escaping performed in this method is identical to those performed in the # Active Support JSON encoder when +ActiveSupport.escape_html_entities_in_json+ is # set to true. Because this transformation is idempotent, this helper can be # applied even if +ActiveSupport.escape_html_entities_in_json+ is already true. # # Therefore, when you are unsure if +ActiveSupport.escape_html_entities_in_json+ # is enabled, or if you are unsure where your JSON string originated from, it # is recommended that you always apply this helper (other libraries, such as the # JSON gem, do not provide this kind of protection by default; also some gems # might override +to_json+ to bypass Active Support's encoder). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:120 def json_escape(s); end # HTML escapes strings but doesn't wrap them with an ActiveSupport::SafeBuffer. # This method is not for public consumption! Seriously! # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:41 def unwrapped_html_escape(s); end # A utility method for escaping XML names of tags and names of attributes. # # xml_name_escape('1 < 2 & 3') # # => "1___2___3" # # It follows the requirements of the specification: https://www.w3.org/TR/REC-xml/#NT-Name # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:133 def xml_name_escape(name); end class << self # A utility method for escaping HTML tag characters. # This method is also aliased as h. # # puts html_escape('is a > 0 & a < 10?') # # => is a > 0 & a < 10? # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:27 def h(s); end # A utility method for escaping HTML tag characters. # This method is also aliased as h. # # puts html_escape('is a > 0 & a < 10?') # # => is a > 0 & a < 10? # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:27 def html_escape(s); end # A utility method for escaping HTML without affecting existing escaped entities. # # html_escape_once('1 < 2 & 3') # # => "1 < 2 & 3" # # html_escape_once('<< Accept & Checkout') # # => "<< Accept & Checkout" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:58 def html_escape_once(s); end # A utility method for escaping HTML entities in JSON strings. Specifically, the # &, > and < characters are replaced with their equivalent unicode escaped form - # \u0026, \u003e, and \u003c. The Unicode sequences \u2028 and \u2029 are also # escaped as they are treated as newline characters in some JavaScript engines. # These sequences have identical meaning as the original characters inside the # context of a JSON string, so assuming the input is a valid and well-formed # JSON value, the output will have equivalent meaning when parsed: # # json = JSON.generate({ name: ""}) # # => "{\"name\":\"\"}" # # json_escape(json) # # => "{\"name\":\"\\u003C/script\\u003E\\u003Cscript\\u003Ealert('PWNED!!!')\\u003C/script\\u003E\"}" # # JSON.parse(json) == JSON.parse(json_escape(json)) # # => true # # The intended use case for this method is to escape JSON strings before including # them inside a script tag to avoid XSS vulnerability: # # # # It is necessary to +raw+ the result of +json_escape+, so that quotation marks # don't get converted to " entities. +json_escape+ doesn't # automatically flag the result as HTML safe, since the raw value is unsafe to # use inside HTML attributes. # # If your JSON is being used downstream for insertion into the DOM, be aware of # whether or not it is being inserted via html(). Most jQuery plugins do this. # If that is the case, be sure to +html_escape+ or +sanitize+ any user-generated # content returned by your JSON. # # If you need to output JSON elsewhere in your HTML, you can just do something # like this, as any unsafe characters (including quotation marks) will be # automatically escaped for you: # #
...
# # WARNING: this helper only works with valid JSON. Using this on non-JSON values # will open up serious XSS vulnerabilities. For example, if you replace the # +current_user.to_json+ in the example above with user input instead, the browser # will happily eval() that string as JavaScript. # # The escaping performed in this method is identical to those performed in the # Active Support JSON encoder when +ActiveSupport.escape_html_entities_in_json+ is # set to true. Because this transformation is idempotent, this helper can be # applied even if +ActiveSupport.escape_html_entities_in_json+ is already true. # # Therefore, when you are unsure if +ActiveSupport.escape_html_entities_in_json+ # is enabled, or if you are unsure where your JSON string originated from, it # is recommended that you always apply this helper (other libraries, such as the # JSON gem, do not provide this kind of protection by default; also some gems # might override +to_json+ to bypass Active Support's encoder). # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:120 def json_escape(s); end # HTML escapes strings but doesn't wrap them with an ActiveSupport::SafeBuffer. # This method is not for public consumption! Seriously! # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:41 def unwrapped_html_escape(s); end # A utility method for escaping XML names of tags and names of attributes. # # xml_name_escape('1 < 2 & 3') # # => "1___2___3" # # It follows the requirements of the specification: https://www.w3.org/TR/REC-xml/#NT-Name # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:133 def xml_name_escape(name); end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:9 ERB::Util::HTML_ESCAPE = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:11 ERB::Util::HTML_ESCAPE_ONCE_REGEXP = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:10 ERB::Util::JSON_ESCAPE = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:12 ERB::Util::JSON_ESCAPE_REGEXP = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:19 ERB::Util::TAG_NAME_FOLLOWING_REGEXP = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:20 ERB::Util::TAG_NAME_REPLACEMENT_CHAR = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:18 ERB::Util::TAG_NAME_START_REGEXP = T.let(T.unsafe(nil), Regexp) # Following XML requirements: https://www.w3.org/TR/REC-xml/#NT-Name # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:15 ERB::Util::TAG_NAME_START_REGEXP_SET = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:18 module Enumerable extend ::ActiveSupport::EnumerableCoreExt::Constants # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:140 def as_json(options = T.unsafe(nil)); end # Returns a new +Array+ without the blank items. # Uses Object#blank? for determining if an item is blank. # # [1, "", nil, 2, " ", [], {}, false, true].compact_blank # # => [1, 2, true] # # Set.new([nil, "", 1, 2]) # # => [2, 1] (or [1, 2]) # # When called on a +Hash+, returns a new +Hash+ without the blank values. # # { a: "", b: 1, c: nil, d: [], e: false, f: true }.compact_blank # # => { b: 1, f: true } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:235 def compact_blank; end # The negative of the Enumerable#include?. Returns +true+ if the # collection does not include the object. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:169 def exclude?(object); end # Returns a copy of the enumerable excluding the specified elements. # # ["David", "Rafael", "Aaron", "Todd"].excluding "Aaron", "Todd" # # => ["David", "Rafael"] # # ["David", "Rafael", "Aaron", "Todd"].excluding %w[ Aaron Todd ] # # => ["David", "Rafael"] # # {foo: 1, bar: 2, baz: 3}.excluding :bar # # => {foo: 1, baz: 3} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:183 def excluding(*elements); end # Returns a new +Array+ where the order has been set to that provided in the +series+, based on the +key+ of the # objects in the original enumerable. # # [ Person.find(5), Person.find(3), Person.find(1) ].in_order_of(:id, [ 1, 5, 3 ]) # # => [ Person.find(1), Person.find(5), Person.find(3) ] # # If the +series+ include keys that have no corresponding element in the Enumerable, these are ignored. # If the Enumerable has additional elements that aren't named in the +series+, these are not included in the result. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:247 def in_order_of(key, series); end # Returns a new array that includes the passed elements. # # [ 1, 2, 3 ].including(4, 5) # # => [ 1, 2, 3, 4, 5 ] # # ["David", "Rafael"].including %w[ Aaron Todd ] # # => ["David", "Rafael", "Aaron", "Todd"] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:163 def including(*elements); end # Convert an enumerable to a hash, using the block result as the key and the # element as the value. # # people.index_by(&:login) # # => { "nextangle" => , "chade-" => , ...} # # people.index_by { |person| "#{person.first_name} #{person.last_name}" } # # => { "Chade- Fowlersburg-e" => , "David Heinemeier Hansson" => , ...} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:103 def index_by; end # Convert an enumerable to a hash, using the element as the key and the block # result as the value. # # post = Post.new(title: "hey there", body: "what's up?") # # %i( title body ).index_with { |attr_name| post.public_send(attr_name) } # # => { title: "hey there", body: "what's up?" } # # If an argument is passed instead of a block, it will be used as the value # for all elements: # # %i( created_at updated_at ).index_with(Time.now) # # => { created_at: 2020-03-09 22:31:47, updated_at: 2020-03-09 22:31:47 } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:126 def index_with(default = T.unsafe(nil)); end # Returns +true+ if the enumerable has more than 1 element. Functionally # equivalent to enum.to_a.size > 1. Can be called with a block too, # much like any?, so people.many? { |p| p.age > 26 } returns +true+ # if more than one person is over 26. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:144 def many?; end # Calculates the maximum from the extracted elements. # # payments = [Payment.new(5), Payment.new(15), Payment.new(10)] # payments.maximum(:price) # => 15 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:52 def maximum(key); end # Calculates the minimum from the extracted elements. # # payments = [Payment.new(5), Payment.new(15), Payment.new(10)] # payments.minimum(:price) # => 5 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:44 def minimum(key); end # Extract the given key from the first element in the enumerable. # # [{ name: "David" }, { name: "Rafael" }, { name: "Aaron" }].pick(:name) # # => "David" # # [{ id: 1, name: "David" }, { id: 2, name: "Rafael" }].pick(:id, :name) # # => [1, "David"] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:212 def pick(*keys); end # Extract the given key from each element in the enumerable. # # [{ name: "David" }, { name: "Rafael" }, { name: "Aaron" }].pluck(:name) # # => ["David", "Rafael", "Aaron"] # # [{ id: 1, name: "David" }, { id: 2, name: "Rafael" }].pluck(:id, :name) # # => [[1, "David"], [2, "Rafael"]] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:196 def pluck(*keys); end # Returns the sole item in the enumerable. If there are no items, or more # than one item, raises +Enumerable::SoleItemExpectedError+. # # ["x"].sole # => "x" # Set.new.sole # => Enumerable::SoleItemExpectedError: no item found # { a: 1, b: 2 }.sole # => Enumerable::SoleItemExpectedError: multiple items found # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:257 def sole; end # Calculates a sum from the elements. # # payments.sum { |p| p.price * p.tax_rate } # payments.sum(&:price) # # The latter is a shortcut for: # # payments.inject(0) { |sum, p| sum + p.price } # # It can also calculate the sum without the use of a block. # # [5, 15, 10].sum # => 30 # ['foo', 'bar'].sum('') # => "foobar" # [[1, 2], [3, 1, 5]].sum([]) # => [1, 2, 3, 1, 5] # # The default sum of an empty list is zero. You can override this default: # # [].sum(Payment.new(0)) { |i| i.amount } # => Payment.new(0) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:74 def sum(identity = T.unsafe(nil), &block); end # Returns a copy of the enumerable excluding the specified elements. # # ["David", "Rafael", "Aaron", "Todd"].excluding "Aaron", "Todd" # # => ["David", "Rafael"] # # ["David", "Rafael", "Aaron", "Todd"].excluding %w[ Aaron Todd ] # # => ["David", "Rafael"] # # {foo: 1, bar: 2, baz: 3}.excluding :bar # # => {foo: 1, baz: 3} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:183 def without(*elements); end end # Error generated by +sole+ when called on an enumerable that doesn't have # exactly one item. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:21 class Enumerable::SoleItemExpectedError < ::StandardError; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:240 class Exception # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:241 def as_json(options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:61 class FalseClass # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:81 def as_json(options = T.unsafe(nil)); end # +false+ is blank: # # false.blank? # => true # # @return [true] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:67 def blank?; end # Returns +self+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:34 def to_param; end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:110 class Float < ::Numeric include ::ActiveSupport::NumericWithFormat include ::ActiveSupport::DeprecatedNumericWithFormat # Encoding Infinity or NaN to JSON should return "null". The default returns # "Infinity" or "NaN" which are not valid JSON. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:113 def as_json(options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/deprecated_conversions.rb:5 def to_s(format = T.unsafe(nil), options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/deep_merge.rb:3 class Hash include ::Enumerable # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:164 def as_json(options = T.unsafe(nil)); end # Validates all keys in a hash match *valid_keys, raising # +ArgumentError+ on a mismatch. # # Note that keys are treated differently than HashWithIndifferentAccess, # meaning that string and symbol keys will not match. # # { name: 'Rob', years: '28' }.assert_valid_keys(:name, :age) # => raises "ArgumentError: Unknown key: :years. Valid keys are: :name, :age" # { name: 'Rob', age: '28' }.assert_valid_keys('name', 'age') # => raises "ArgumentError: Unknown key: :name. Valid keys are: 'name', 'age'" # { name: 'Rob', age: '28' }.assert_valid_keys(:name, :age) # => passes, raises nothing # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:48 def assert_valid_keys(*valid_keys); end # Hash#reject has its own definition, so this needs one too. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:268 def compact_blank; end # Removes all blank values from the +Hash+ in place and returns self. # Uses Object#blank? for determining if a value is blank. # # h = { a: "", b: 1, c: nil, d: [], e: false, f: true } # h.compact_blank! # # => { b: 1, f: true } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:278 def compact_blank!; end # Returns a deep copy of hash. # # hash = { a: { b: 'b' } } # dup = hash.deep_dup # dup[:a][:c] = 'c' # # hash[:a][:c] # => nil # dup[:a][:c] # => "c" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/deep_dup.rb:43 def deep_dup; end # Returns a new hash with +self+ and +other_hash+ merged recursively. # # h1 = { a: true, b: { c: [1, 2, 3] } } # h2 = { a: false, b: { x: [3, 4, 5] } } # # h1.deep_merge(h2) # => { a: false, b: { c: [1, 2, 3], x: [3, 4, 5] } } # # Like with Hash#merge in the standard library, a block can be provided # to merge values: # # h1 = { a: 100, b: 200, c: { c1: 100 } } # h2 = { b: 250, c: { c1: 200 } } # h1.deep_merge(h2) { |key, this_val, other_val| this_val + other_val } # # => { a: 100, b: 450, c: { c1: 300 } } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/deep_merge.rb:18 def deep_merge(other_hash, &block); end # Same as +deep_merge+, but modifies +self+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/deep_merge.rb:23 def deep_merge!(other_hash, &block); end # Returns a new hash with all keys converted to strings. # This includes the keys from the root hash and from all # nested hashes and arrays. # # hash = { person: { name: 'Rob', age: '28' } } # # hash.deep_stringify_keys # # => {"person"=>{"name"=>"Rob", "age"=>"28"}} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:84 def deep_stringify_keys; end # Destructively converts all keys to strings. # This includes the keys from the root hash and from all # nested hashes and arrays. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:91 def deep_stringify_keys!; end # Returns a new hash with all keys converted to symbols, as long as # they respond to +to_sym+. This includes the keys from the root hash # and from all nested hashes and arrays. # # hash = { 'person' => { 'name' => 'Rob', 'age' => '28' } } # # hash.deep_symbolize_keys # # => {:person=>{:name=>"Rob", :age=>"28"}} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:103 def deep_symbolize_keys; end # Destructively converts all keys to symbols, as long as they respond # to +to_sym+. This includes the keys from the root hash and from all # nested hashes and arrays. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:110 def deep_symbolize_keys!; end # Returns a new hash with all keys converted by the block operation. # This includes the keys from the root hash and from all # nested hashes and arrays. # # hash = { person: { name: 'Rob', age: '28' } } # # hash.deep_transform_keys{ |key| key.to_s.upcase } # # => {"PERSON"=>{"NAME"=>"Rob", "AGE"=>"28"}} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:65 def deep_transform_keys(&block); end # Destructively converts all keys by using the block operation. # This includes the keys from the root hash and from all # nested hashes and arrays. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:72 def deep_transform_keys!(&block); end # Returns a new hash with all values converted by the block operation. # This includes the values from the root hash and from all # nested hashes and arrays. # # hash = { person: { name: 'Rob', age: '28' } } # # hash.deep_transform_values{ |value| value.to_s.upcase } # # => {person: {name: "ROB", age: "28"}} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/deep_transform_values.rb:12 def deep_transform_values(&block); end # Destructively converts all values by using the block operation. # This includes the values from the root hash and from all # nested hashes and arrays. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/deep_transform_values.rb:19 def deep_transform_values!(&block); end # Removes the given keys from hash and returns it. # hash = { a: true, b: false, c: nil } # hash.except!(:c) # => { a: true, b: false } # hash # => { a: true, b: false } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/except.rb:20 def except!(*keys); end # Removes and returns the key/value pairs matching the given keys. # # hash = { a: 1, b: 2, c: 3, d: 4 } # hash.extract!(:a, :b) # => {:a=>1, :b=>2} # hash # => {:c=>3, :d=>4} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/slice.rb:24 def extract!(*keys); end # By default, only instances of Hash itself are extractable. # Subclasses of Hash may implement this method and return # true to declare themselves as extractable. If a Hash # is extractable, Array#extract_options! pops it from # the Array when it is the last element of the Array. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/array/extract_options.rb:9 def extractable_options?; end # Returns an ActiveSupport::HashWithIndifferentAccess out of its receiver: # # { a: 1 }.with_indifferent_access['a'] # => 1 # Called when object is nested under an object that receives # #with_indifferent_access. This method will be called on the current object # by the enclosing object and is aliased to #with_indifferent_access by # default. Subclasses of Hash may override this method to return +self+ if # converting to an ActiveSupport::HashWithIndifferentAccess would not be # desirable. # # b = { b: 1 } # { a: b }.with_indifferent_access['a'] # calls b.nested_under_indifferent_access # # => {"b"=>1} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/indifferent_access.rb:9 def nested_under_indifferent_access; end # Merges the caller into +other_hash+. For example, # # options = options.reverse_merge(size: 25, velocity: 10) # # is equivalent to # # options = { size: 25, velocity: 10 }.merge(options) # # This is particularly useful for initializing an options hash # with default values. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/reverse_merge.rb:14 def reverse_merge(other_hash); end # Destructive +reverse_merge+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/reverse_merge.rb:20 def reverse_merge!(other_hash); end # Destructive +reverse_merge+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/reverse_merge.rb:20 def reverse_update(other_hash); end # Replaces the hash with only the given keys. # Returns a hash containing the removed key/value pairs. # # hash = { a: 1, b: 2, c: 3, d: 4 } # hash.slice!(:a, :b) # => {:c=>3, :d=>4} # hash # => {:a=>1, :b=>2} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/slice.rb:10 def slice!(*keys); end # Returns a new hash with all keys converted to strings. # # hash = { name: 'Rob', age: '28' } # # hash.stringify_keys # # => {"name"=>"Rob", "age"=>"28"} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:10 def stringify_keys; end # Destructively converts all keys to strings. Same as # +stringify_keys+, but modifies +self+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:16 def stringify_keys!; end # Returns a new hash with all keys converted to symbols, as long as # they respond to +to_sym+. # # hash = { 'name' => 'Rob', 'age' => '28' } # # hash.symbolize_keys # # => {:name=>"Rob", :age=>"28"} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:27 def symbolize_keys; end # Destructively converts all keys to symbols, as long as they respond # to +to_sym+. Same as +symbolize_keys+, but modifies +self+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:34 def symbolize_keys!; end # Returns a new hash with all keys converted to symbols, as long as # they respond to +to_sym+. # # hash = { 'name' => 'Rob', 'age' => '28' } # # hash.symbolize_keys # # => {:name=>"Rob", :age=>"28"} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:27 def to_options; end # Destructively converts all keys to symbols, as long as they respond # to +to_sym+. Same as +symbolize_keys+, but modifies +self+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:34 def to_options!; end # Returns a string representation of the receiver suitable for use as a URL # query string: # # {name: 'David', nationality: 'Danish'}.to_query # # => "name=David&nationality=Danish" # # An optional namespace can be passed to enclose key names: # # {name: 'David', nationality: 'Danish'}.to_query('user') # # => "user%5Bname%5D=David&user%5Bnationality%5D=Danish" # # The string pairs "key=value" that conform the query string # are sorted lexicographically in ascending order. # # This method is also aliased as +to_param+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:77 def to_param(namespace = T.unsafe(nil)); end # Returns a string representation of the receiver suitable for use as a URL # query string: # # {name: 'David', nationality: 'Danish'}.to_query # # => "name=David&nationality=Danish" # # An optional namespace can be passed to enclose key names: # # {name: 'David', nationality: 'Danish'}.to_query('user') # # => "user%5Bname%5D=David&user%5Bnationality%5D=Danish" # # The string pairs "key=value" that conform the query string # are sorted lexicographically in ascending order. # # This method is also aliased as +to_param+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:77 def to_query(namespace = T.unsafe(nil)); end # Returns a string containing an XML representation of its receiver: # # { foo: 1, bar: 2 }.to_xml # # => # # # # # # 1 # # 2 # # # # To do so, the method loops over the pairs and builds nodes that depend on # the _values_. Given a pair +key+, +value+: # # * If +value+ is a hash there's a recursive call with +key+ as :root. # # * If +value+ is an array there's a recursive call with +key+ as :root, # and +key+ singularized as :children. # # * If +value+ is a callable object it must expect one or two arguments. Depending # on the arity, the callable is invoked with the +options+ hash as first argument # with +key+ as :root, and +key+ singularized as second argument. The # callable can add nodes by using options[:builder]. # # {foo: lambda { |options, key| options[:builder].b(key) }}.to_xml # # => "foo" # # * If +value+ responds to +to_xml+ the method is invoked with +key+ as :root. # # class Foo # def to_xml(options) # options[:builder].bar 'fooing!' # end # end # # { foo: Foo.new }.to_xml(skip_instruct: true) # # => # # # # fooing! # # # # * Otherwise, a node with +key+ as tag is created with a string representation of # +value+ as text node. If +value+ is +nil+ an attribute "nil" set to "true" is added. # Unless the option :skip_types exists and is true, an attribute "type" is # added as well according to the following mapping: # # XML_TYPE_NAMES = { # "Symbol" => "symbol", # "Integer" => "integer", # "BigDecimal" => "decimal", # "Float" => "float", # "TrueClass" => "boolean", # "FalseClass" => "boolean", # "Date" => "date", # "DateTime" => "dateTime", # "Time" => "dateTime" # } # # By default the root node is "hash", but that's configurable via the :root option. # # The default XML builder is a fresh instance of Builder::XmlMarkup. You can # configure your own builder with the :builder option. The method also accepts # options like :dasherize and friends, they are forwarded to the builder. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:74 def to_xml(options = T.unsafe(nil)); end # Merges the caller into +other_hash+. For example, # # options = options.reverse_merge(size: 25, velocity: 10) # # is equivalent to # # options = { size: 25, velocity: 10 }.merge(options) # # This is particularly useful for initializing an options hash # with default values. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/reverse_merge.rb:14 def with_defaults(other_hash); end # Destructive +reverse_merge+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/reverse_merge.rb:20 def with_defaults!(other_hash); end # Returns an ActiveSupport::HashWithIndifferentAccess out of its receiver: # # { a: 1 }.with_indifferent_access['a'] # => 1 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/indifferent_access.rb:9 def with_indifferent_access; end private # Support methods for deep transforming nested hashes and arrays. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:116 def _deep_transform_keys_in_object(object, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/keys.rb:129 def _deep_transform_keys_in_object!(object, &block); end # Support methods for deep transforming nested hashes and arrays. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/deep_transform_values.rb:25 def _deep_transform_values_in_object(object, &block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/deep_transform_values.rb:36 def _deep_transform_values_in_object!(object, &block); end class << self # Builds a Hash from XML just like Hash.from_xml, but also allows Symbol and YAML. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:133 def from_trusted_xml(xml); end # Returns a Hash containing a collection of pairs when the key is the node name and the value is # its content # # xml = <<-XML # # # 1 # 2 # # XML # # hash = Hash.from_xml(xml) # # => {"hash"=>{"foo"=>1, "bar"=>2}} # # +DisallowedType+ is raised if the XML contains attributes with type="yaml" or # type="symbol". Use Hash.from_trusted_xml to # parse this XML. # # Custom +disallowed_types+ can also be passed in the form of an # array. # # xml = <<-XML # # # 1 # "David" # # XML # # hash = Hash.from_xml(xml, ['integer']) # # => ActiveSupport::XMLConverter::DisallowedType: Disallowed type attribute: "integer" # # Note that passing custom disallowed types will override the default types, # which are Symbol and YAML. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/hash/conversions.rb:128 def from_xml(xml, disallowed_types = T.unsafe(nil)); end end end # :stopdoc: # # source://activesupport-7.0.3.1/lib/active_support/hash_with_indifferent_access.rb:425 HashWithIndifferentAccess = ActiveSupport::HashWithIndifferentAccess # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:145 class IO include ::Enumerable include ::File::Constants # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:146 def as_json(options = T.unsafe(nil)); end end class IO::Buffer include ::Comparable def initialize(*_arg0); end def <=>(_arg0); end def clear(*_arg0); end def copy(*_arg0); end def empty?; end def external?; end def free; end def get_string(*_arg0); end def get_value(_arg0, _arg1); end def hexdump; end def inspect; end def internal?; end def locked; end def locked?; end def mapped?; end def null?; end def pread(_arg0, _arg1, _arg2); end def pwrite(_arg0, _arg1, _arg2); end def read(_arg0, _arg1); end def readonly?; end def resize(_arg0); end def set_string(*_arg0); end def set_value(_arg0, _arg1, _arg2); end def size; end def slice(_arg0, _arg1); end def to_s; end def transfer; end def valid?; end def write(_arg0, _arg1); end class << self def for(_arg0); end def map(*_arg0); end end end class IO::Buffer::AccessError < ::RuntimeError; end class IO::Buffer::AllocationError < ::RuntimeError; end IO::Buffer::BIG_ENDIAN = T.let(T.unsafe(nil), Integer) IO::Buffer::DEFAULT_SIZE = T.let(T.unsafe(nil), Integer) IO::Buffer::EXTERNAL = T.let(T.unsafe(nil), Integer) IO::Buffer::HOST_ENDIAN = T.let(T.unsafe(nil), Integer) IO::Buffer::INTERNAL = T.let(T.unsafe(nil), Integer) class IO::Buffer::InvalidatedError < ::RuntimeError; end IO::Buffer::LITTLE_ENDIAN = T.let(T.unsafe(nil), Integer) IO::Buffer::LOCKED = T.let(T.unsafe(nil), Integer) class IO::Buffer::LockedError < ::RuntimeError; end IO::Buffer::MAPPED = T.let(T.unsafe(nil), Integer) IO::Buffer::NETWORK_ENDIAN = T.let(T.unsafe(nil), Integer) IO::Buffer::PAGE_SIZE = T.let(T.unsafe(nil), Integer) IO::Buffer::PRIVATE = T.let(T.unsafe(nil), Integer) IO::Buffer::READONLY = T.let(T.unsafe(nil), Integer) class IO::ConsoleMode def echo=(_arg0); end def raw(*_arg0); end def raw!(*_arg0); end private def initialize_copy(_arg0); end end class IO::EAGAINWaitReadable < ::Errno::EAGAIN include ::IO::WaitReadable end class IO::EAGAINWaitWritable < ::Errno::EAGAIN include ::IO::WaitWritable end class IO::EINPROGRESSWaitReadable < ::Errno::EINPROGRESS include ::IO::WaitReadable end class IO::EINPROGRESSWaitWritable < ::Errno::EINPROGRESS include ::IO::WaitWritable end IO::EWOULDBLOCKWaitReadable = IO::EAGAINWaitReadable IO::EWOULDBLOCKWaitWritable = IO::EAGAINWaitWritable IO::PRIORITY = T.let(T.unsafe(nil), Integer) IO::READABLE = T.let(T.unsafe(nil), Integer) IO::WRITABLE = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:228 class IPAddr # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:229 def as_json(options = T.unsafe(nil)); end end # source://RUBY_ROOT/ipaddr.rb:43 IPAddr::VERSION = T.let(T.unsafe(nil), String) # source://activesupport-7.0.3.1/lib/active_support/core_ext/integer/time.rb:6 class Integer < ::Numeric include ::ActiveSupport::NumericWithFormat include ::ActiveSupport::DeprecatedNumericWithFormat # Returns a Duration instance matching the number of months provided. # # 2.months # => 2 months # # source://activesupport-7.0.3.1/lib/active_support/core_ext/integer/time.rb:10 def month; end # Returns a Duration instance matching the number of months provided. # # 2.months # => 2 months # # source://activesupport-7.0.3.1/lib/active_support/core_ext/integer/time.rb:10 def months; end # Check whether the integer is evenly divisible by the argument. # # 0.multiple_of?(0) # => true # 6.multiple_of?(5) # => false # 10.multiple_of?(2) # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/integer/multiple.rb:9 def multiple_of?(number); end # Ordinal returns the suffix used to denote the position # in an ordered sequence such as 1st, 2nd, 3rd, 4th. # # 1.ordinal # => "st" # 2.ordinal # => "nd" # 1002.ordinal # => "nd" # 1003.ordinal # => "rd" # -11.ordinal # => "th" # -1001.ordinal # => "st" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/integer/inflections.rb:28 def ordinal; end # Ordinalize turns a number into an ordinal string used to denote the # position in an ordered sequence such as 1st, 2nd, 3rd, 4th. # # 1.ordinalize # => "1st" # 2.ordinalize # => "2nd" # 1002.ordinalize # => "1002nd" # 1003.ordinalize # => "1003rd" # -11.ordinalize # => "-11th" # -1001.ordinalize # => "-1001st" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/integer/inflections.rb:15 def ordinalize; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/deprecated_conversions.rb:5 def to_s(format = T.unsafe(nil), options = T.unsafe(nil)); end # Returns a Duration instance matching the number of years provided. # # 2.years # => 2 years # # source://activesupport-7.0.3.1/lib/active_support/core_ext/integer/time.rb:18 def year; end # Returns a Duration instance matching the number of years provided. # # 2.years # => 2 years # # source://activesupport-7.0.3.1/lib/active_support/core_ext/integer/time.rb:18 def years; end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/concern.rb:5 module Kernel # class_eval on an object acts like +singleton_class.class_eval+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/singleton_class.rb:5 def class_eval(*args, &block); end private # A shortcut to define a toplevel concern, not within a module. # # See Module::Concerning for more. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/concern.rb:11 def concern(topic, &module_definition); end # Sets $VERBOSE to +true+ for the duration of the block and back to its # original value afterwards. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/reporting.rb:20 def enable_warnings(&block); end # Sets $VERBOSE to +nil+ for the duration of the block and back to its original # value afterwards. # # silence_warnings do # value = noisy_call # no warning voiced # end # # noisy_call # warning voiced # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/reporting.rb:14 def silence_warnings(&block); end # Blocks and ignores any exception passed as argument if raised within the block. # # suppress(ZeroDivisionError) do # 1/0 # puts 'This code is NOT reached' # end # # puts 'This code gets executed and nothing related to ZeroDivisionError was seen' # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/reporting.rb:41 def suppress(*exception_classes); end # Sets $VERBOSE for the duration of the block and back to its original # value afterwards. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/reporting.rb:26 def with_warnings(flag); end class << self # A shortcut to define a toplevel concern, not within a module. # # See Module::Concerning for more. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/concern.rb:11 def concern(topic, &module_definition); end # Sets $VERBOSE to +true+ for the duration of the block and back to its # original value afterwards. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/reporting.rb:20 def enable_warnings(&block); end # Sets $VERBOSE to +nil+ for the duration of the block and back to its original # value afterwards. # # silence_warnings do # value = noisy_call # no warning voiced # end # # noisy_call # warning voiced # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/reporting.rb:14 def silence_warnings(&block); end # Blocks and ignores any exception passed as argument if raised within the block. # # suppress(ZeroDivisionError) do # 1/0 # puts 'This code is NOT reached' # end # # puts 'This code gets executed and nothing related to ZeroDivisionError was seen' # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/reporting.rb:41 def suppress(*exception_classes); end # Sets $VERBOSE for the duration of the block and back to its original # value afterwards. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/kernel/reporting.rb:26 def with_warnings(flag); end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/load_error.rb:3 class LoadError < ::ScriptError include ::DidYouMean::Correctable # Returns true if the given path name (except perhaps for the ".rb" # extension) is the missing file which caused the exception to be raised. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/load_error.rb:6 def is_missing?(location); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/duplicable.rb:31 class Method # Methods are not duplicable: # # method(:puts).duplicable? # => false # method(:puts).dup # => TypeError: allocator undefined for Method # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/duplicable.rb:36 def duplicable?; end end # == Attribute Accessors per Thread # # Extends the module object with class/module and instance accessors for # class/module attributes, just like the native attr* accessors for instance # attributes, but does so on a per-thread basis. # # So the values are scoped within the Thread.current space under the class name # of the module. # # Note that it can also be scoped per-fiber if +Rails.application.config.active_support.isolation_level+ # is set to +:fiber+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors.rb:8 class Module include ::Module::Concerning # Allows you to make aliases for attributes, which includes # getter, setter, and a predicate. # # class Content < ActiveRecord::Base # # has a title attribute # end # # class Email < Content # alias_attribute :subject, :title # end # # e = Email.find(1) # e.title # => "Superstars" # e.subject # => "Superstars" # e.subject? # => true # e.subject = "Megastars" # e.title # => "Megastars" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/aliasing.rb:21 def alias_attribute(new_name, old_name); end # A module may or may not have a name. # # module M; end # M.name # => "M" # # m = Module.new # m.name # => nil # # +anonymous?+ method returns true if module does not have a name, false otherwise: # # Module.new.anonymous? # => true # # module M; end # M.anonymous? # => false # # A module gets a name when it is first assigned to a constant. Either # via the +module+ or +class+ keyword or by an explicit assignment: # # m = Module.new # creates an anonymous module # m.anonymous? # => true # M = m # m gets a name here as a side-effect # m.name # => "M" # m.anonymous? # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/anonymous.rb:27 def anonymous?; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:53 def as_json(options = T.unsafe(nil)); end # Declares an attribute reader and writer backed by an internally-named instance # variable. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:16 def attr_internal(*attrs); end # Declares an attribute reader and writer backed by an internally-named instance # variable. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:16 def attr_internal_accessor(*attrs); end # Declares an attribute reader backed by an internally-named instance variable. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:5 def attr_internal_reader(*attrs); end # Declares an attribute writer backed by an internally-named instance variable. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:10 def attr_internal_writer(*attrs); end # Defines both class and instance accessors for class attributes. # All class and instance methods created will be public, even if # this method is called with a private or protected access modifier. # # module HairColors # mattr_accessor :hair_colors # end # # class Person # include HairColors # end # # HairColors.hair_colors = [:brown, :black, :blonde, :red] # HairColors.hair_colors # => [:brown, :black, :blonde, :red] # Person.new.hair_colors # => [:brown, :black, :blonde, :red] # # If a subclass changes the value then that would also change the value for # parent class. Similarly if parent class changes the value then that would # change the value of subclasses too. # # class Citizen < Person # end # # Citizen.new.hair_colors << :blue # Person.new.hair_colors # => [:brown, :black, :blonde, :red, :blue] # # To omit the instance writer method, pass instance_writer: false. # To omit the instance reader method, pass instance_reader: false. # # module HairColors # mattr_accessor :hair_colors, instance_writer: false, instance_reader: false # end # # class Person # include HairColors # end # # Person.new.hair_colors = [:brown] # => NoMethodError # Person.new.hair_colors # => NoMethodError # # Or pass instance_accessor: false, to omit both instance methods. # # module HairColors # mattr_accessor :hair_colors, instance_accessor: false # end # # class Person # include HairColors # end # # Person.new.hair_colors = [:brown] # => NoMethodError # Person.new.hair_colors # => NoMethodError # # You can set a default value for the attribute. # # module HairColors # mattr_accessor :hair_colors, default: [:brown, :black, :blonde, :red] # end # # class Person # include HairColors # end # # Person.class_variable_get("@@hair_colors") # => [:brown, :black, :blonde, :red] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors.rb:202 def cattr_accessor(*syms, instance_reader: T.unsafe(nil), instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil), &blk); end # Defines a class attribute and creates a class and instance reader methods. # The underlying class variable is set to +nil+, if it is not previously # defined. All class and instance methods created will be public, even if # this method is called with a private or protected access modifier. # # module HairColors # mattr_reader :hair_colors # end # # HairColors.hair_colors # => nil # HairColors.class_variable_set("@@hair_colors", [:brown, :black]) # HairColors.hair_colors # => [:brown, :black] # # The attribute name must be a valid method name in Ruby. # # module Foo # mattr_reader :"1_Badname" # end # # => NameError: invalid attribute name: 1_Badname # # To omit the instance reader method, pass # instance_reader: false or instance_accessor: false. # # module HairColors # mattr_reader :hair_colors, instance_reader: false # end # # class Person # include HairColors # end # # Person.new.hair_colors # => NoMethodError # # You can set a default value for the attribute. # # module HairColors # mattr_reader :hair_colors, default: [:brown, :black, :blonde, :red] # end # # class Person # include HairColors # end # # Person.new.hair_colors # => [:brown, :black, :blonde, :red] # # @raise [TypeError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors.rb:53 def cattr_reader(*syms, instance_reader: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil), location: T.unsafe(nil)); end # Defines a class attribute and creates a class and instance writer methods to # allow assignment to the attribute. All class and instance methods created # will be public, even if this method is called with a private or protected # access modifier. # # module HairColors # mattr_writer :hair_colors # end # # class Person # include HairColors # end # # HairColors.hair_colors = [:brown, :black] # Person.class_variable_get("@@hair_colors") # => [:brown, :black] # Person.new.hair_colors = [:blonde, :red] # HairColors.class_variable_get("@@hair_colors") # => [:blonde, :red] # # To omit the instance writer method, pass # instance_writer: false or instance_accessor: false. # # module HairColors # mattr_writer :hair_colors, instance_writer: false # end # # class Person # include HairColors # end # # Person.new.hair_colors = [:blonde, :red] # => NoMethodError # # You can set a default value for the attribute. # # module HairColors # mattr_writer :hair_colors, default: [:brown, :black, :blonde, :red] # end # # class Person # include HairColors # end # # Person.class_variable_get("@@hair_colors") # => [:brown, :black, :blonde, :red] # # @raise [TypeError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors.rb:117 def cattr_writer(*syms, instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil), location: T.unsafe(nil)); end # Provides a +delegate+ class method to easily expose contained objects' # public methods as your own. # # ==== Options # * :to - Specifies the target object name as a symbol or string # * :prefix - Prefixes the new method with the target name or a custom prefix # * :allow_nil - If set to true, prevents a +Module::DelegationError+ # from being raised # * :private - If set to true, changes method visibility to private # # The macro receives one or more method names (specified as symbols or # strings) and the name of the target object via the :to option # (also a symbol or string). # # Delegation is particularly useful with Active Record associations: # # class Greeter < ActiveRecord::Base # def hello # 'hello' # end # # def goodbye # 'goodbye' # end # end # # class Foo < ActiveRecord::Base # belongs_to :greeter # delegate :hello, to: :greeter # end # # Foo.new.hello # => "hello" # Foo.new.goodbye # => NoMethodError: undefined method `goodbye' for # # # Multiple delegates to the same target are allowed: # # class Foo < ActiveRecord::Base # belongs_to :greeter # delegate :hello, :goodbye, to: :greeter # end # # Foo.new.goodbye # => "goodbye" # # Methods can be delegated to instance variables, class variables, or constants # by providing them as a symbols: # # class Foo # CONSTANT_ARRAY = [0,1,2,3] # @@class_array = [4,5,6,7] # # def initialize # @instance_array = [8,9,10,11] # end # delegate :sum, to: :CONSTANT_ARRAY # delegate :min, to: :@@class_array # delegate :max, to: :@instance_array # end # # Foo.new.sum # => 6 # Foo.new.min # => 4 # Foo.new.max # => 11 # # It's also possible to delegate a method to the class by using +:class+: # # class Foo # def self.hello # "world" # end # # delegate :hello, to: :class # end # # Foo.new.hello # => "world" # # Delegates can optionally be prefixed using the :prefix option. If the value # is true, the delegate methods are prefixed with the name of the object being # delegated to. # # Person = Struct.new(:name, :address) # # class Invoice < Struct.new(:client) # delegate :name, :address, to: :client, prefix: true # end # # john_doe = Person.new('John Doe', 'Vimmersvej 13') # invoice = Invoice.new(john_doe) # invoice.client_name # => "John Doe" # invoice.client_address # => "Vimmersvej 13" # # It is also possible to supply a custom prefix. # # class Invoice < Struct.new(:client) # delegate :name, :address, to: :client, prefix: :customer # end # # invoice = Invoice.new(john_doe) # invoice.customer_name # => 'John Doe' # invoice.customer_address # => 'Vimmersvej 13' # # The delegated methods are public by default. # Pass private: true to change that. # # class User < ActiveRecord::Base # has_one :profile # delegate :first_name, to: :profile # delegate :date_of_birth, to: :profile, private: true # # def age # Date.today.year - date_of_birth.year # end # end # # User.new.first_name # => "Tomas" # User.new.date_of_birth # => NoMethodError: private method `date_of_birth' called for # # User.new.age # => 2 # # If the target is +nil+ and does not respond to the delegated method a # +Module::DelegationError+ is raised. If you wish to instead return +nil+, # use the :allow_nil option. # # class User < ActiveRecord::Base # has_one :profile # delegate :age, to: :profile # end # # User.new.age # # => Module::DelegationError: User#age delegated to profile.age, but profile is nil # # But if not having a profile yet is fine and should not be an error # condition: # # class User < ActiveRecord::Base # has_one :profile # delegate :age, to: :profile, allow_nil: true # end # # User.new.age # nil # # Note that if the target is not +nil+ then the call is attempted regardless of the # :allow_nil option, and thus an exception is still raised if said object # does not respond to the method: # # class Foo # def initialize(bar) # @bar = bar # end # # delegate :name, to: :@bar, allow_nil: true # end # # Foo.new("Bar").name # raises NoMethodError: undefined method `name' # # The target method must be public, otherwise it will raise +NoMethodError+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/delegation.rb:171 def delegate(*methods, to: T.unsafe(nil), prefix: T.unsafe(nil), allow_nil: T.unsafe(nil), private: T.unsafe(nil)); end # When building decorators, a common pattern may emerge: # # class Partition # def initialize(event) # @event = event # end # # def person # detail.person || creator # end # # private # def respond_to_missing?(name, include_private = false) # @event.respond_to?(name, include_private) # end # # def method_missing(method, *args, &block) # @event.send(method, *args, &block) # end # end # # With Module#delegate_missing_to, the above is condensed to: # # class Partition # delegate_missing_to :@event # # def initialize(event) # @event = event # end # # def person # detail.person || creator # end # end # # The target can be anything callable within the object, e.g. instance # variables, methods, constants, etc. # # The delegated method must be public on the target, otherwise it will # raise +DelegationError+. If you wish to instead return +nil+, # use the :allow_nil option. # # The marshal_dump and _dump methods are exempt from # delegation due to possible interference when calling # Marshal.dump(object), should the delegation target method # of object add or remove instance variables. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/delegation.rb:289 def delegate_missing_to(target, allow_nil: T.unsafe(nil)); end # deprecate :foo # deprecate bar: 'message' # deprecate :foo, :bar, baz: 'warning!', qux: 'gone!' # # You can also use custom deprecator instance: # # deprecate :foo, deprecator: MyLib::Deprecator.new # deprecate :foo, bar: "warning!", deprecator: MyLib::Deprecator.new # # \Custom deprecators must respond to deprecation_warning(deprecated_method_name, message, caller_backtrace) # method where you can implement your custom warning behavior. # # class MyLib::Deprecator # def deprecation_warning(deprecated_method_name, message, caller_backtrace = nil) # message = "#{deprecated_method_name} is deprecated and will be removed from MyLibrary | #{message}" # Kernel.warn message # end # end # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/deprecation.rb:22 def deprecate(*method_names); end # Defines both class and instance accessors for class attributes. # All class and instance methods created will be public, even if # this method is called with a private or protected access modifier. # # module HairColors # mattr_accessor :hair_colors # end # # class Person # include HairColors # end # # HairColors.hair_colors = [:brown, :black, :blonde, :red] # HairColors.hair_colors # => [:brown, :black, :blonde, :red] # Person.new.hair_colors # => [:brown, :black, :blonde, :red] # # If a subclass changes the value then that would also change the value for # parent class. Similarly if parent class changes the value then that would # change the value of subclasses too. # # class Citizen < Person # end # # Citizen.new.hair_colors << :blue # Person.new.hair_colors # => [:brown, :black, :blonde, :red, :blue] # # To omit the instance writer method, pass instance_writer: false. # To omit the instance reader method, pass instance_reader: false. # # module HairColors # mattr_accessor :hair_colors, instance_writer: false, instance_reader: false # end # # class Person # include HairColors # end # # Person.new.hair_colors = [:brown] # => NoMethodError # Person.new.hair_colors # => NoMethodError # # Or pass instance_accessor: false, to omit both instance methods. # # module HairColors # mattr_accessor :hair_colors, instance_accessor: false # end # # class Person # include HairColors # end # # Person.new.hair_colors = [:brown] # => NoMethodError # Person.new.hair_colors # => NoMethodError # # You can set a default value for the attribute. # # module HairColors # mattr_accessor :hair_colors, default: [:brown, :black, :blonde, :red] # end # # class Person # include HairColors # end # # Person.class_variable_get("@@hair_colors") # => [:brown, :black, :blonde, :red] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors.rb:202 def mattr_accessor(*syms, instance_reader: T.unsafe(nil), instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil), &blk); end # Defines a class attribute and creates a class and instance reader methods. # The underlying class variable is set to +nil+, if it is not previously # defined. All class and instance methods created will be public, even if # this method is called with a private or protected access modifier. # # module HairColors # mattr_reader :hair_colors # end # # HairColors.hair_colors # => nil # HairColors.class_variable_set("@@hair_colors", [:brown, :black]) # HairColors.hair_colors # => [:brown, :black] # # The attribute name must be a valid method name in Ruby. # # module Foo # mattr_reader :"1_Badname" # end # # => NameError: invalid attribute name: 1_Badname # # To omit the instance reader method, pass # instance_reader: false or instance_accessor: false. # # module HairColors # mattr_reader :hair_colors, instance_reader: false # end # # class Person # include HairColors # end # # Person.new.hair_colors # => NoMethodError # # You can set a default value for the attribute. # # module HairColors # mattr_reader :hair_colors, default: [:brown, :black, :blonde, :red] # end # # class Person # include HairColors # end # # Person.new.hair_colors # => [:brown, :black, :blonde, :red] # # @raise [TypeError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors.rb:53 def mattr_reader(*syms, instance_reader: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil), location: T.unsafe(nil)); end # Defines a class attribute and creates a class and instance writer methods to # allow assignment to the attribute. All class and instance methods created # will be public, even if this method is called with a private or protected # access modifier. # # module HairColors # mattr_writer :hair_colors # end # # class Person # include HairColors # end # # HairColors.hair_colors = [:brown, :black] # Person.class_variable_get("@@hair_colors") # => [:brown, :black] # Person.new.hair_colors = [:blonde, :red] # HairColors.class_variable_get("@@hair_colors") # => [:blonde, :red] # # To omit the instance writer method, pass # instance_writer: false or instance_accessor: false. # # module HairColors # mattr_writer :hair_colors, instance_writer: false # end # # class Person # include HairColors # end # # Person.new.hair_colors = [:blonde, :red] # => NoMethodError # # You can set a default value for the attribute. # # module HairColors # mattr_writer :hair_colors, default: [:brown, :black, :blonde, :red] # end # # class Person # include HairColors # end # # Person.class_variable_get("@@hair_colors") # => [:brown, :black, :blonde, :red] # # @raise [TypeError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors.rb:117 def mattr_writer(*syms, instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil), location: T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/redefine_method.rb:30 def method_visibility(method); end # Returns the module which contains this one according to its name. # # module M # module N # end # end # X = M::N # # M::N.module_parent # => M # X.module_parent # => M # # The parent of top-level and anonymous modules is Object. # # M.module_parent # => Object # Module.new.module_parent # => Object # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/introspection.rb:35 def module_parent; end # Returns the name of the module containing this one. # # M::N.module_parent_name # => "M" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/introspection.rb:10 def module_parent_name; end # Returns all the parents of this module according to its name, ordered from # nested outwards. The receiver is not contained within the result. # # module M # module N # end # end # X = M::N # # M.module_parents # => [Object] # M::N.module_parents # => [M, Object] # X.module_parents # => [M, Object] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/introspection.rb:51 def module_parents; end # Replaces the existing method definition, if there is one, with the passed # block as its body. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/redefine_method.rb:17 def redefine_method(method, &block); end # Replaces the existing singleton method definition, if there is one, with # the passed block as its body. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/redefine_method.rb:26 def redefine_singleton_method(method, &block); end # Removes the named method, if it exists. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/remove_method.rb:7 def remove_possible_method(method); end # Removes the named singleton method, if it exists. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/remove_method.rb:14 def remove_possible_singleton_method(method); end # Marks the named method as intended to be redefined, if it exists. # Suppresses the Ruby method redefinition warning. Prefer # #redefine_method where possible. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/redefine_method.rb:7 def silence_redefinition_of_method(method); end # Defines both class and instance accessors for class attributes. # # class Account # thread_mattr_accessor :user # end # # Account.user = "DHH" # Account.user # => "DHH" # Account.new.user # => "DHH" # # Unlike +mattr_accessor+, values are *not* shared with subclasses or parent classes. # If a subclass changes the value, the parent class' value is not changed. # If the parent class changes the value, the value of subclasses is not changed. # # class Customer < Account # end # # Account.user # => "DHH" # Customer.user # => nil # Customer.user = "Rafael" # Customer.user # => "Rafael" # Account.user # => "DHH" # # To omit the instance writer method, pass instance_writer: false. # To omit the instance reader method, pass instance_reader: false. # # class Current # thread_mattr_accessor :user, instance_writer: false, instance_reader: false # end # # Current.new.user = "DHH" # => NoMethodError # Current.new.user # => NoMethodError # # Or pass instance_accessor: false, to omit both instance methods. # # class Current # thread_mattr_accessor :user, instance_accessor: false # end # # Current.new.user = "DHH" # => NoMethodError # Current.new.user # => NoMethodError # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb:152 def thread_cattr_accessor(*syms, instance_reader: T.unsafe(nil), instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil)); end # Defines a per-thread class attribute and creates class and instance reader methods. # The underlying per-thread class variable is set to +nil+, if it is not previously defined. # # module Current # thread_mattr_reader :user # end # # Current.user = "DHH" # Current.user # => "DHH" # Thread.new { Current.user }.value # => nil # # The attribute name must be a valid method name in Ruby. # # module Foo # thread_mattr_reader :"1_Badname" # end # # => NameError: invalid attribute name: 1_Badname # # To omit the instance reader method, pass # instance_reader: false or instance_accessor: false. # # class Current # thread_mattr_reader :user, instance_reader: false # end # # Current.new.user # => NoMethodError # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb:41 def thread_cattr_reader(*syms, instance_reader: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil)); end # Defines a per-thread class attribute and creates a class and instance writer methods to # allow assignment to the attribute. # # module Current # thread_mattr_writer :user # end # # Current.user = "DHH" # Thread.current[:attr_Current_user] # => "DHH" # # To omit the instance writer method, pass # instance_writer: false or instance_accessor: false. # # class Current # thread_mattr_writer :user, instance_writer: false # end # # Current.new.user = "DHH" # => NoMethodError # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb:85 def thread_cattr_writer(*syms, instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil)); end # Defines both class and instance accessors for class attributes. # # class Account # thread_mattr_accessor :user # end # # Account.user = "DHH" # Account.user # => "DHH" # Account.new.user # => "DHH" # # Unlike +mattr_accessor+, values are *not* shared with subclasses or parent classes. # If a subclass changes the value, the parent class' value is not changed. # If the parent class changes the value, the value of subclasses is not changed. # # class Customer < Account # end # # Account.user # => "DHH" # Customer.user # => nil # Customer.user = "Rafael" # Customer.user # => "Rafael" # Account.user # => "DHH" # # To omit the instance writer method, pass instance_writer: false. # To omit the instance reader method, pass instance_reader: false. # # class Current # thread_mattr_accessor :user, instance_writer: false, instance_reader: false # end # # Current.new.user = "DHH" # => NoMethodError # Current.new.user # => NoMethodError # # Or pass instance_accessor: false, to omit both instance methods. # # class Current # thread_mattr_accessor :user, instance_accessor: false # end # # Current.new.user = "DHH" # => NoMethodError # Current.new.user # => NoMethodError # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb:152 def thread_mattr_accessor(*syms, instance_reader: T.unsafe(nil), instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil)); end # Defines a per-thread class attribute and creates class and instance reader methods. # The underlying per-thread class variable is set to +nil+, if it is not previously defined. # # module Current # thread_mattr_reader :user # end # # Current.user = "DHH" # Current.user # => "DHH" # Thread.new { Current.user }.value # => nil # # The attribute name must be a valid method name in Ruby. # # module Foo # thread_mattr_reader :"1_Badname" # end # # => NameError: invalid attribute name: 1_Badname # # To omit the instance reader method, pass # instance_reader: false or instance_accessor: false. # # class Current # thread_mattr_reader :user, instance_reader: false # end # # Current.new.user # => NoMethodError # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb:41 def thread_mattr_reader(*syms, instance_reader: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil)); end # Defines a per-thread class attribute and creates a class and instance writer methods to # allow assignment to the attribute. # # module Current # thread_mattr_writer :user # end # # Current.user = "DHH" # Thread.current[:attr_Current_user] # => "DHH" # # To omit the instance writer method, pass # instance_writer: false or instance_accessor: false. # # class Current # thread_mattr_writer :user, instance_writer: false # end # # Current.new.user = "DHH" # => NoMethodError # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attribute_accessors_per_thread.rb:85 def thread_mattr_writer(*syms, instance_writer: T.unsafe(nil), instance_accessor: T.unsafe(nil), default: T.unsafe(nil)); end private # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:30 def attr_internal_define(attr_name, type); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:26 def attr_internal_ivar_name(attr); end class << self # Returns the value of attribute attr_internal_naming_format. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:22 def attr_internal_naming_format; end # Sets the attribute attr_internal_naming_format # # @param value the value to set the attribute attr_internal_naming_format to. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/attr_internal.rb:22 def attr_internal_naming_format=(_arg0); end end end # = Bite-sized separation of concerns # # We often find ourselves with a medium-sized chunk of behavior that we'd # like to extract, but only mix in to a single class. # # Extracting a plain old Ruby object to encapsulate it and collaborate or # delegate to the original object is often a good choice, but when there's # no additional state to encapsulate or we're making DSL-style declarations # about the parent class, introducing new collaborators can obfuscate rather # than simplify. # # The typical route is to just dump everything in a monolithic class, perhaps # with a comment, as a least-bad alternative. Using modules in separate files # means tedious sifting to get a big-picture view. # # = Dissatisfying ways to separate small concerns # # == Using comments: # # class Todo < ApplicationRecord # # Other todo implementation # # ... # # ## Event tracking # has_many :events # # before_create :track_creation # # private # def track_creation # # ... # end # end # # == With an inline module: # # Noisy syntax. # # class Todo < ApplicationRecord # # Other todo implementation # # ... # # module EventTracking # extend ActiveSupport::Concern # # included do # has_many :events # before_create :track_creation # end # # private # def track_creation # # ... # end # end # include EventTracking # end # # == Mix-in noise exiled to its own file: # # Once our chunk of behavior starts pushing the scroll-to-understand-it # boundary, we give in and move it to a separate file. At this size, the # increased overhead can be a reasonable tradeoff even if it reduces our # at-a-glance perception of how things work. # # class Todo < ApplicationRecord # # Other todo implementation # # ... # # include TodoEventTracking # end # # = Introducing Module#concerning # # By quieting the mix-in noise, we arrive at a natural, low-ceremony way to # separate bite-sized concerns. # # class Todo < ApplicationRecord # # Other todo implementation # # ... # # concerning :EventTracking do # included do # has_many :events # before_create :track_creation # end # # private # def track_creation # # ... # end # end # end # # Todo.ancestors # # => [Todo, Todo::EventTracking, ApplicationRecord, Object] # # This small step has some wonderful ripple effects. We can # * grok the behavior of our class in one glance, # * clean up monolithic junk-drawer classes by separating their concerns, and # * stop leaning on protected/private for crude "this is internal stuff" modularity. # # === Prepending concerning # # concerning supports a prepend: true argument which will prepend the # concern instead of using include for it. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/concerning.rb:112 module Module::Concerning # A low-cruft shortcut to define a concern. # # concern :EventTracking do # ... # end # # is equivalent to # # module EventTracking # extend ActiveSupport::Concern # # ... # end # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/concerning.rb:132 def concern(topic, &module_definition); end # Define a new concern and mix it in. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/concerning.rb:114 def concerning(topic, prepend: T.unsafe(nil), &block); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/delegation.rb:13 Module::DELEGATION_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/delegation.rb:14 Module::DELEGATION_RESERVED_METHOD_NAMES = T.let(T.unsafe(nil), Set) # Error generated by +delegate+ when a method is called on +nil+ and +allow_nil+ # option is not used. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/delegation.rb:8 class Module::DelegationError < ::NoMethodError; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/module/delegation.rb:10 Module::RUBY_RESERVED_KEYWORDS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/name_error.rb:3 class NameError < ::StandardError include ::ErrorHighlight::CoreExt include ::DidYouMean::Correctable # Extract the name of the missing constant from the exception message. # # begin # HelloWorld # rescue NameError => e # e.missing_name # end # # => "HelloWorld" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/name_error.rb:12 def missing_name; end # Was this exception raised because the given name was missing? # # begin # HelloWorld # rescue NameError => e # e.missing_name?("HelloWorld") # end # # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/name_error.rb:44 def missing_name?(name); end private # source://activesupport-7.0.3.1/lib/active_support/core_ext/name_error.rb:56 def real_mod_name(mod); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/name_error.rb:53 NameError::UNBOUND_METHOD_MODULE_NAME = T.let(T.unsafe(nil), UnboundMethod) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:50 class NilClass # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:87 def as_json(options = T.unsafe(nil)); end # +nil+ is blank: # # nil.blank? # => true # # @return [true] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:56 def blank?; end # Returns +self+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:20 def to_param; end # Calling +try+ on +nil+ always returns +nil+. # It becomes especially helpful when navigating through associations that may return +nil+. # # nil.try(:name) # => nil # # Without +try+ # @person && @person.children.any? && @person.children.first.name # # With +try+ # @person.try(:children).try(:first).try(:name) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/try.rb:148 def try(*_arg0); end # Calling +try!+ on +nil+ always returns +nil+. # # nil.try!(:name) # => nil # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/try.rb:155 def try!(*_arg0); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:134 class Numeric include ::Comparable # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:105 def as_json(options = T.unsafe(nil)); end # No number is blank: # # 1.blank? # => false # 0.blank? # => false # # @return [false] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:141 def blank?; end # Enables the use of byte calculations and declarations, like 45.bytes + 2.6.megabytes # # 2.bytes # => 2 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:14 def byte; end # Enables the use of byte calculations and declarations, like 45.bytes + 2.6.megabytes # # 2.bytes # => 2 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:14 def bytes; end # Returns a Duration instance matching the number of days provided. # # 2.days # => 2 days # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:37 def day; end # Returns a Duration instance matching the number of days provided. # # 2.days # => 2 days # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:37 def days; end # Returns the number of bytes equivalent to the exabytes provided. # # 2.exabytes # => 2_305_843_009_213_693_952 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:62 def exabyte; end # Returns the number of bytes equivalent to the exabytes provided. # # 2.exabytes # => 2_305_843_009_213_693_952 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:62 def exabytes; end # Returns a Duration instance matching the number of fortnights provided. # # 2.fortnights # => 4 weeks # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:53 def fortnight; end # Returns a Duration instance matching the number of fortnights provided. # # 2.fortnights # => 4 weeks # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:53 def fortnights; end # Returns the number of bytes equivalent to the gigabytes provided. # # 2.gigabytes # => 2_147_483_648 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:38 def gigabyte; end # Returns the number of bytes equivalent to the gigabytes provided. # # 2.gigabytes # => 2_147_483_648 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:38 def gigabytes; end # Returns a Duration instance matching the number of hours provided. # # 2.hours # => 2 hours # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:29 def hour; end # Returns a Duration instance matching the number of hours provided. # # 2.hours # => 2 hours # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:29 def hours; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:156 def html_safe?; end # Returns the number of milliseconds equivalent to the seconds provided. # Used with the standard time durations. # # 2.in_milliseconds # => 2000 # 1.hour.in_milliseconds # => 3600000 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:63 def in_milliseconds; end # Returns the number of bytes equivalent to the kilobytes provided. # # 2.kilobytes # => 2048 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:22 def kilobyte; end # Returns the number of bytes equivalent to the kilobytes provided. # # 2.kilobytes # => 2048 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:22 def kilobytes; end # Returns the number of bytes equivalent to the megabytes provided. # # 2.megabytes # => 2_097_152 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:30 def megabyte; end # Returns the number of bytes equivalent to the megabytes provided. # # 2.megabytes # => 2_097_152 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:30 def megabytes; end # Returns a Duration instance matching the number of minutes provided. # # 2.minutes # => 2 minutes # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:21 def minute; end # Returns a Duration instance matching the number of minutes provided. # # 2.minutes # => 2 minutes # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:21 def minutes; end # Returns the number of bytes equivalent to the petabytes provided. # # 2.petabytes # => 2_251_799_813_685_248 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:54 def petabyte; end # Returns the number of bytes equivalent to the petabytes provided. # # 2.petabytes # => 2_251_799_813_685_248 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:54 def petabytes; end # Returns a Duration instance matching the number of seconds provided. # # 2.seconds # => 2 seconds # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:13 def second; end # Returns a Duration instance matching the number of seconds provided. # # 2.seconds # => 2 seconds # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:13 def seconds; end # Returns the number of bytes equivalent to the terabytes provided. # # 2.terabytes # => 2_199_023_255_552 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:46 def terabyte; end # Returns the number of bytes equivalent to the terabytes provided. # # 2.terabytes # => 2_199_023_255_552 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:46 def terabytes; end # Returns a Duration instance matching the number of weeks provided. # # 2.weeks # => 2 weeks # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:45 def week; end # Returns a Duration instance matching the number of weeks provided. # # 2.weeks # => 2 weeks # # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/time.rb:45 def weeks; end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:9 Numeric::EXABYTE = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:6 Numeric::GIGABYTE = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:4 Numeric::KILOBYTE = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:5 Numeric::MEGABYTE = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:8 Numeric::PETABYTE = T.let(T.unsafe(nil), Integer) # source://activesupport-7.0.3.1/lib/active_support/core_ext/numeric/bytes.rb:7 Numeric::TERABYTE = T.let(T.unsafe(nil), Integer) # -- # Most objects are cloneable, but not all. For example you can't dup methods: # # method(:puts).dup # => TypeError: allocator undefined for Method # # Classes may signal their instances are not duplicable removing +dup+/+clone+ # or raising exceptions from them. So, to dup an arbitrary object you normally # use an optimistic approach and are ready to catch an exception, say: # # arbitrary_object.dup rescue object # # Rails dups objects in a few critical spots where they are not that arbitrary. # That rescue is very expensive (like 40 times slower than a predicate), and it # is often triggered. # # That's why we hardcode the following cases and check duplicable? instead of # using that rescue idiom. # ++ # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:5 class Object < ::BasicObject include ::ActiveSupport::ToJsonWithActiveSupportEncoder include ::ActiveSupport::Dependencies::RequireDependency include ::Kernel include ::ActiveSupport::Tryable # Provides a way to check whether some class acts like some other class based on the existence of # an appropriately-named marker method. # # A class that provides the same interface as SomeClass may define a marker method named # acts_like_some_class? to signal its compatibility to callers of # acts_like?(:some_class). # # For example, Active Support extends Date to define an acts_like_date? method, # and extends Time to define acts_like_time?. As a result, developers can call # x.acts_like?(:time) and x.acts_like?(:date) to test duck-type compatibility, # and classes that are able to act like Time can also define an acts_like_time? # method to interoperate. # # Note that the marker method is only expected to exist. It isn't called, so its body or return # value are irrelevant. # # ==== Example: A class that provides the same interface as String # # This class may define: # # class Stringish # def acts_like_string? # end # end # # Then client code can query for duck-type-safeness this way: # # Stringish.new.acts_like?(:string) # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/acts_like.rb:33 def acts_like?(duck); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:59 def as_json(options = T.unsafe(nil)); end # An object is blank if it's false, empty, or a whitespace string. # For example, +nil+, '', ' ', [], {}, and +false+ are all blank. # # This simplifies # # !address || address.empty? # # to # # address.blank? # # @return [true, false] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:18 def blank?; end # Returns a deep copy of object if it's duplicable. If it's # not duplicable, returns +self+. # # object = Object.new # dup = object.deep_dup # dup.instance_variable_set(:@a, 1) # # object.instance_variable_defined?(:@a) # => false # dup.instance_variable_defined?(:@a) # => true # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/deep_dup.rb:15 def deep_dup; end # Can you safely dup this object? # # False for method objects; # true otherwise. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/duplicable.rb:26 def duplicable?; end # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:150 def html_safe?; end # Returns true if this object is included in the argument. Argument must be # any object which responds to +#include?+. Usage: # # characters = ["Konata", "Kagami", "Tsukasa"] # "Konata".in?(characters) # => true # # This will throw an +ArgumentError+ if the argument doesn't respond # to +#include?+. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/inclusion.rb:12 def in?(another_object); end # Returns a hash with string keys that maps instance variable names without "@" to their # corresponding values. # # class C # def initialize(x, y) # @x, @y = x, y # end # end # # C.new(0, 1).instance_values # => {"x" => 0, "y" => 1} # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/instance_variables.rb:14 def instance_values; end # Returns an array of instance variable names as strings including "@". # # class C # def initialize(x, y) # @x, @y = x, y # end # end # # C.new(0, 1).instance_variable_names # => ["@y", "@x"] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/instance_variables.rb:27 def instance_variable_names; end # Returns the receiver if it's present otherwise returns +nil+. # object.presence is equivalent to # # object.present? ? object : nil # # For example, something like # # state = params[:state] if params[:state].present? # country = params[:country] if params[:country].present? # region = state || country || 'US' # # becomes # # region = params[:state].presence || params[:country].presence || 'US' # # @return [Object] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:45 def presence; end # Returns the receiver if it's included in the argument otherwise returns +nil+. # Argument must be any object which responds to +#include?+. Usage: # # params[:bucket_type].presence_in %w( project calendar ) # # This will throw an +ArgumentError+ if the argument doesn't respond to +#include?+. # # @return [Object] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/inclusion.rb:26 def presence_in(another_object); end # An object is present if it's not blank. # # @return [true, false] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:25 def present?; end # Alias of to_s. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:7 def to_param; end # Converts an object into a string suitable for use as a URL query string, # using the given key as the param name. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:13 def to_query(key); end # An elegant way to factor duplication out of options passed to a series of # method calls. Each method called in the block, with the block variable as # the receiver, will have its options merged with the default +options+ hash # provided. Each method called on the block variable must take an options # hash as its final argument. # # Without with_options, this code contains duplication: # # class Account < ActiveRecord::Base # has_many :customers, dependent: :destroy # has_many :products, dependent: :destroy # has_many :invoices, dependent: :destroy # has_many :expenses, dependent: :destroy # end # # Using with_options, we can remove the duplication: # # class Account < ActiveRecord::Base # with_options dependent: :destroy do |assoc| # assoc.has_many :customers # assoc.has_many :products # assoc.has_many :invoices # assoc.has_many :expenses # end # end # # It can also be used with an explicit receiver: # # I18n.with_options locale: user.locale, scope: 'newsletter' do |i18n| # subject i18n.t :subject # body i18n.t :body, user_name: user.name # end # # When you don't pass an explicit receiver, it executes the whole block # in merging options context: # # class Account < ActiveRecord::Base # with_options dependent: :destroy do # has_many :customers # has_many :products # has_many :invoices # has_many :expenses # end # end # # with_options can also be nested since the call is forwarded to its receiver. # # NOTE: Each nesting level will merge inherited defaults in addition to their own. # # class Post < ActiveRecord::Base # with_options if: :persisted?, length: { minimum: 50 } do # validates :content, if: -> { content.present? } # end # end # # The code is equivalent to: # # validates :content, length: { minimum: 50 }, if: -> { content.present? } # # Hence the inherited default for +if+ key is ignored. # # NOTE: You cannot call class methods implicitly inside of with_options. # You can access these methods using the class name instead: # # class Phone < ActiveRecord::Base # enum phone_number_type: { home: 0, office: 1, mobile: 2 } # # with_options presence: true do # validates :phone_number_type, inclusion: { in: Phone.phone_number_types.keys } # end # end # # When the block argument is omitted, the decorated Object instance is returned: # # module MyStyledHelpers # def styled # with_options style: "color: red;" # end # end # # # styled.link_to "I'm red", "/" # # #=> I'm red # # # styled.button_tag "I'm red too!" # # #=> # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/with_options.rb:92 def with_options(options, &block); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:222 class Pathname # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:223 def as_json(options = T.unsafe(nil)); end # Returns the receiver if the named file exists otherwise returns +nil+. # pathname.existence is equivalent to # # pathname.exist? ? pathname : nil # # For example, something like # # content = pathname.read if pathname.exist? # # becomes # # content = pathname.existence&.read # # @return [Pathname] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/pathname/existence.rb:18 def existence; end end module Process extend ::ActiveSupport::ForkTracker::ModernCoreExt class << self # source://activesupport-7.0.3.1/lib/active_support/fork_tracker.rb:6 def _fork; end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:234 class Process::Status # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:235 def as_json(options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:284 class Range include ::ActiveSupport::RangeWithFormat include ::ActiveSupport::DeprecatedRangeWithFormat include ::ActiveSupport::CompareWithRange include ::ActiveSupport::EachTimeWithZone include ::Enumerable # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/compare_range.rb:16 def ===(value); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:152 def as_json(options = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/each.rb:7 def each(&block); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/compare_range.rb:41 def include?(value); end # Compare two ranges and see if they overlap each other # (1..5).overlaps?(4..6) # => true # (1..5).overlaps?(7..9) # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/overlaps.rb:7 def overlaps?(other); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/each.rb:12 def step(n = T.unsafe(nil), &block); end # Optimize range sum to use arithmetic progression if a block is not given and # we have a range of numeric values. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/enumerable.rb:287 def sum(identity = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/range/deprecated_conversions.rb:6 def to_s(format = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:133 class Regexp # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:134 def as_json(options = T.unsafe(nil)); end # Returns +true+ if the regexp has the multiline flag set. # # (/./).multiline? # => false # (/./m).multiline? # => true # # Regexp.new(".").multiline? # => false # Regexp.new(".", Regexp::MULTILINE).multiline? # => true # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/regexp.rb:11 def multiline?; end end # source://regexp_parser-2.5.0/lib/regexp_parser/token.rb:2 Regexp::TOKEN_KEYS = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/securerandom.rb:5 module SecureRandom class << self # SecureRandom.base36 generates a random base36 string in lowercase. # # The argument _n_ specifies the length of the random string to be generated. # # If _n_ is not specified or is +nil+, 16 is assumed. It may be larger in the future. # This method can be used over +base58+ if a deterministic case key is necessary. # # The result will contain alphanumeric characters in lowercase. # # p SecureRandom.base36 # => "4kugl2pdqmscqtje" # p SecureRandom.base36(24) # => "77tmhrhjfvfdwodq8w7ev2m7" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/securerandom.rb:38 def base36(n = T.unsafe(nil)); end # SecureRandom.base58 generates a random base58 string. # # The argument _n_ specifies the length of the random string to be generated. # # If _n_ is not specified or is +nil+, 16 is assumed. It may be larger in the future. # # The result may contain alphanumeric characters except 0, O, I, and l. # # p SecureRandom.base58 # => "4kUgL2pdQMSCQtjE" # p SecureRandom.base58(24) # => "77TMHrHJFvFDwodq8w7Ev2m7" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/securerandom.rb:19 def base58(n = T.unsafe(nil)); end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/securerandom.rb:7 SecureRandom::BASE36_ALPHABET = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/securerandom.rb:6 SecureRandom::BASE58_ALPHABET = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/duplicable.rb:53 module Singleton mixes_in_class_methods ::Singleton::SingletonClassMethods # Singleton instances are not duplicable: # # Class.new.include(Singleton).instance.dup # TypeError (can't dup instance of singleton # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/duplicable.rb:57 def duplicable?; end end # source://RUBY_ROOT/singleton.rb:95 Singleton::VERSION = T.let(T.unsafe(nil), String) # String inflections define new methods on the String class to transform names for different purposes. # For instance, you can figure out the name of a table from the name of a class. # # 'ScaleScore'.tableize # => "scale_scores" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:103 class String include ::Comparable # Enables more predictable duck-typing on String-like classes. See Object#acts_like?. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/behavior.rb:5 def acts_like_string?; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:93 def as_json(options = T.unsafe(nil)); end # If you pass a single integer, returns a substring of one character at that # position. The first character of the string is at position 0, the next at # position 1, and so on. If a range is supplied, a substring containing # characters at offsets given by the range is returned. In both cases, if an # offset is negative, it is counted from the end of the string. Returns +nil+ # if the initial offset falls outside the string. Returns an empty string if # the beginning of the range is greater than the end of the string. # # str = "hello" # str.at(0) # => "h" # str.at(1..3) # => "ell" # str.at(-2) # => "l" # str.at(-2..-1) # => "lo" # str.at(5) # => nil # str.at(5..-1) # => "" # # If a Regexp is given, the matching portion of the string is returned. # If a String is given, that given string is returned if it occurs in # the string. In both cases, +nil+ is returned if there is no match. # # str = "hello" # str.at(/lo/) # => "lo" # str.at(/ol/) # => nil # str.at("lo") # => "lo" # str.at("ol") # => nil # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/access.rb:29 def at(position); end # A string is blank if it's empty or contains whitespaces only: # # ''.blank? # => true # ' '.blank? # => true # "\t\n\r".blank? # => true # ' blah '.blank? # => false # # Unicode whitespace is supported: # # "\u00a0".blank? # => true # # @return [true, false] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:121 def blank?; end # By default, +camelize+ converts strings to UpperCamelCase. If the argument to camelize # is set to :lower then camelize produces lowerCamelCase. # # +camelize+ will also convert '/' to '::' which is useful for converting paths to namespaces. # # 'active_record'.camelize # => "ActiveRecord" # 'active_record'.camelize(:lower) # => "activeRecord" # 'active_record/errors'.camelize # => "ActiveRecord::Errors" # 'active_record/errors'.camelize(:lower) # => "activeRecord::Errors" # # +camelize+ is also aliased as +camelcase+. # # See ActiveSupport::Inflector.camelize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:103 def camelcase(first_letter = T.unsafe(nil)); end # By default, +camelize+ converts strings to UpperCamelCase. If the argument to camelize # is set to :lower then camelize produces lowerCamelCase. # # +camelize+ will also convert '/' to '::' which is useful for converting paths to namespaces. # # 'active_record'.camelize # => "ActiveRecord" # 'active_record'.camelize(:lower) # => "activeRecord" # 'active_record/errors'.camelize # => "ActiveRecord::Errors" # 'active_record/errors'.camelize(:lower) # => "activeRecord::Errors" # # +camelize+ is also aliased as +camelcase+. # # See ActiveSupport::Inflector.camelize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:103 def camelize(first_letter = T.unsafe(nil)); end # Creates a class name from a plural table name like Rails does for table names to models. # Note that this returns a string and not a class. (To convert to an actual class # follow +classify+ with +constantize+.) # # 'ham_and_eggs'.classify # => "HamAndEgg" # 'posts'.classify # => "Post" # # See ActiveSupport::Inflector.classify. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:243 def classify; end # +constantize+ tries to find a declared constant with the name specified # in the string. It raises a NameError when the name is not in CamelCase # or is not initialized. # # 'Module'.constantize # => Module # 'Class'.constantize # => Class # 'blargle'.constantize # => NameError: wrong constant name blargle # # See ActiveSupport::Inflector.constantize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:73 def constantize; end # Replaces underscores with dashes in the string. # # 'puni_puni'.dasherize # => "puni-puni" # # See ActiveSupport::Inflector.dasherize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:152 def dasherize; end # Removes the rightmost segment from the constant expression in the string. # # 'Net::HTTP'.deconstantize # => "Net" # '::Net::HTTP'.deconstantize # => "::Net" # 'String'.deconstantize # => "" # '::String'.deconstantize # => "" # ''.deconstantize # => "" # # See ActiveSupport::Inflector.deconstantize. # # See also +demodulize+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:181 def deconstantize; end # Removes the module part from the constant expression in the string. # # 'ActiveSupport::Inflector::Inflections'.demodulize # => "Inflections" # 'Inflections'.demodulize # => "Inflections" # '::Inflections'.demodulize # => "Inflections" # ''.demodulize # => '' # # See ActiveSupport::Inflector.demodulize. # # See also +deconstantize+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:166 def demodulize; end # The inverse of String#include?. Returns true if the string # does not include the other string. # # "hello".exclude? "lo" # => false # "hello".exclude? "ol" # => true # "hello".exclude? ?h # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/exclude.rb:10 def exclude?(string); end # Returns the first character. If a limit is supplied, returns a substring # from the beginning of the string until it reaches the limit value. If the # given limit is greater than or equal to the string length, returns a copy of self. # # str = "hello" # str.first # => "h" # str.first(1) # => "h" # str.first(2) # => "he" # str.first(0) # => "" # str.first(6) # => "hello" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/access.rb:78 def first(limit = T.unsafe(nil)); end # Creates a foreign key name from a class name. # +separate_class_name_and_id_with_underscore+ sets whether # the method should put '_' between the name and 'id'. # # 'Message'.foreign_key # => "message_id" # 'Message'.foreign_key(false) # => "messageid" # 'Admin::Post'.foreign_key # => "post_id" # # See ActiveSupport::Inflector.foreign_key. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:290 def foreign_key(separate_class_name_and_id_with_underscore = T.unsafe(nil)); end # Returns a substring from the given position to the end of the string. # If the position is negative, it is counted from the end of the string. # # str = "hello" # str.from(0) # => "hello" # str.from(3) # => "lo" # str.from(-2) # => "lo" # # You can mix it with +to+ method and do fun things like: # # str = "hello" # str.from(0).to(-1) # => "hello" # str.from(1).to(-2) # => "ell" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/access.rb:46 def from(position); end # Marks a string as trusted safe. It will be inserted into HTML with no # additional escaping performed. It is your responsibility to ensure that the # string contains no malicious content. This method is equivalent to the # +raw+ helper in views. It is recommended that you use +sanitize+ instead of # this method. It should never be called on user input. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/output_safety.rb:364 def html_safe; end # Capitalizes the first word, turns underscores into spaces, and (by default)strips a # trailing '_id' if present. # Like +titleize+, this is meant for creating pretty output. # # The capitalization of the first word can be turned off by setting the # optional parameter +capitalize+ to false. # By default, this parameter is true. # # The trailing '_id' can be kept and capitalized by setting the # optional parameter +keep_id_suffix+ to true. # By default, this parameter is false. # # 'employee_salary'.humanize # => "Employee salary" # 'author_id'.humanize # => "Author" # 'author_id'.humanize(capitalize: false) # => "author" # '_id'.humanize # => "Id" # 'author_id'.humanize(keep_id_suffix: true) # => "Author id" # # See ActiveSupport::Inflector.humanize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:266 def humanize(capitalize: T.unsafe(nil), keep_id_suffix: T.unsafe(nil)); end # Converts String to a TimeWithZone in the current zone if Time.zone or Time.zone_default # is set, otherwise converts String to a Time via String#to_time # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/zones.rb:9 def in_time_zone(zone = T.unsafe(nil)); end # Indents the lines in the receiver: # # < # def some_method # some_code # end # # The second argument, +indent_string+, specifies which indent string to # use. The default is +nil+, which tells the method to make a guess by # peeking at the first indented line, and fallback to a space if there is # none. # # " foo".indent(2) # => " foo" # "foo\n\t\tbar".indent(2) # => "\t\tfoo\n\t\t\t\tbar" # "foo".indent(2, "\t") # => "\t\tfoo" # # While +indent_string+ is typically one space or tab, it may be any string. # # The third argument, +indent_empty_lines+, is a flag that says whether # empty lines should be indented. Default is false. # # "foo\n\nbar".indent(2) # => " foo\n\n bar" # "foo\n\nbar".indent(2, nil, true) # => " foo\n \n bar" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/indent.rb:42 def indent(amount, indent_string = T.unsafe(nil), indent_empty_lines = T.unsafe(nil)); end # Same as +indent+, except it indents the receiver in-place. # # Returns the indented string, or +nil+ if there was nothing to indent. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/indent.rb:7 def indent!(amount, indent_string = T.unsafe(nil), indent_empty_lines = T.unsafe(nil)); end # Wraps the current string in the ActiveSupport::StringInquirer class, # which gives you a prettier way to test for equality. # # env = 'production'.inquiry # env.production? # => true # env.development? # => false # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inquiry.rb:13 def inquiry; end # Returns +true+ if string has utf_8 encoding. # # utf_8_str = "some string".encode "UTF-8" # iso_str = "some string".encode "ISO-8859-1" # # utf_8_str.is_utf8? # => true # iso_str.is_utf8? # => false # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/multibyte.rb:48 def is_utf8?; end # Returns the last character of the string. If a limit is supplied, returns a substring # from the end of the string until it reaches the limit value (counting backwards). If # the given limit is greater than or equal to the string length, returns a copy of self. # # str = "hello" # str.last # => "o" # str.last(1) # => "o" # str.last(2) # => "lo" # str.last(0) # => "" # str.last(6) # => "hello" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/access.rb:92 def last(limit = T.unsafe(nil)); end # == Multibyte proxy # # +mb_chars+ is a multibyte safe proxy for string methods. # # It creates and returns an instance of the ActiveSupport::Multibyte::Chars class which # encapsulates the original string. A Unicode safe version of all the String methods are defined on this proxy # class. If the proxy class doesn't respond to a certain method, it's forwarded to the encapsulated string. # # >> "lj".mb_chars.upcase.to_s # => "LJ" # # NOTE: Ruby 2.4 and later support native Unicode case mappings: # # >> "lj".upcase # => "LJ" # # == Method chaining # # All the methods on the Chars proxy which normally return a string will return a Chars object. This allows # method chaining on the result of any of these methods. # # name.mb_chars.reverse.length # => 12 # # == Interoperability and configuration # # The Chars object tries to be as interchangeable with String objects as possible: sorting and comparing between # String and Char work like expected. The bang! methods change the internal string representation in the Chars # object. Interoperability problems can be resolved easily with a +to_s+ call. # # For more information about the methods defined on the Chars proxy see ActiveSupport::Multibyte::Chars. For # information about how to change the default Multibyte behavior see ActiveSupport::Multibyte. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/multibyte.rb:37 def mb_chars; end # Replaces special characters in a string so that it may be used as part of a 'pretty' URL. # # If the optional parameter +locale+ is specified, # the word will be parameterized as a word of that language. # By default, this parameter is set to nil and it will use # the configured I18n.locale. # # class Person # def to_param # "#{id}-#{name.parameterize}" # end # end # # @person = Person.find(1) # # => # # # <%= link_to(@person.name, person_path) %> # # => Donald E. Knuth # # To preserve the case of the characters in a string, use the +preserve_case+ argument. # # class Person # def to_param # "#{id}-#{name.parameterize(preserve_case: true)}" # end # end # # @person = Person.find(1) # # => # # # <%= link_to(@person.name, person_path) %> # # => Donald E. Knuth # # See ActiveSupport::Inflector.parameterize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:219 def parameterize(separator: T.unsafe(nil), preserve_case: T.unsafe(nil), locale: T.unsafe(nil)); end # Returns the plural form of the word in the string. # # If the optional parameter +count+ is specified, # the singular form will be returned if count == 1. # For any other value of +count+ the plural will be returned. # # If the optional parameter +locale+ is specified, # the word will be pluralized as a word of that language. # By default, this parameter is set to :en. # You must define your own inflection rules for languages other than English. # # 'post'.pluralize # => "posts" # 'octopus'.pluralize # => "octopi" # 'sheep'.pluralize # => "sheep" # 'words'.pluralize # => "words" # 'the blue mailman'.pluralize # => "the blue mailmen" # 'CamelOctopus'.pluralize # => "CamelOctopi" # 'apple'.pluralize(1) # => "apple" # 'apple'.pluralize(2) # => "apples" # 'ley'.pluralize(:es) # => "leyes" # 'ley'.pluralize(1, :es) # => "ley" # # See ActiveSupport::Inflector.pluralize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:35 def pluralize(count = T.unsafe(nil), locale = T.unsafe(nil)); end # Returns a new string with all occurrences of the patterns removed. # str = "foo bar test" # str.remove(" test") # => "foo bar" # str.remove(" test", /bar/) # => "foo " # str # => "foo bar test" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/filters.rb:32 def remove(*patterns); end # Alters the string by removing all occurrences of the patterns. # str = "foo bar test" # str.remove!(" test", /bar/) # => "foo " # str # => "foo " # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/filters.rb:40 def remove!(*patterns); end # +safe_constantize+ tries to find a declared constant with the name specified # in the string. It returns +nil+ when the name is not in CamelCase # or is not initialized. # # 'Module'.safe_constantize # => Module # 'Class'.safe_constantize # => Class # 'blargle'.safe_constantize # => nil # # See ActiveSupport::Inflector.safe_constantize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:86 def safe_constantize; end # The reverse of +pluralize+, returns the singular form of a word in a string. # # If the optional parameter +locale+ is specified, # the word will be singularized as a word of that language. # By default, this parameter is set to :en. # You must define your own inflection rules for languages other than English. # # 'posts'.singularize # => "post" # 'octopi'.singularize # => "octopus" # 'sheep'.singularize # => "sheep" # 'word'.singularize # => "word" # 'the blue mailmen'.singularize # => "the blue mailman" # 'CamelOctopi'.singularize # => "CamelOctopus" # 'leyes'.singularize(:es) # => "ley" # # See ActiveSupport::Inflector.singularize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:60 def singularize(locale = T.unsafe(nil)); end # Returns the string, first removing all whitespace on both ends of # the string, and then changing remaining consecutive whitespace # groups into one space each. # # Note that it handles both ASCII and Unicode whitespace. # # %{ Multi-line # string }.squish # => "Multi-line string" # " foo bar \n \t boo".squish # => "foo bar boo" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/filters.rb:13 def squish; end # Performs a destructive squish. See String#squish. # str = " foo bar \n \t boo" # str.squish! # => "foo bar boo" # str # => "foo bar boo" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/filters.rb:21 def squish!; end # Strips indentation in heredocs. # # For example in # # if options[:usage] # puts <<-USAGE.strip_heredoc # This command does such and such. # # Supported options are: # -h This message # ... # USAGE # end # # the user would see the usage message aligned against the left margin. # # Technically, it looks for the least indented non-empty line # in the whole string, and removes that amount of leading whitespace. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/strip.rb:22 def strip_heredoc; end # Creates the name of a table like Rails does for models to table names. This method # uses the +pluralize+ method on the last word in the string. # # 'RawScaledScorer'.tableize # => "raw_scaled_scorers" # 'ham_and_egg'.tableize # => "ham_and_eggs" # 'fancyCategory'.tableize # => "fancy_categories" # # See ActiveSupport::Inflector.tableize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:231 def tableize; end # Capitalizes all the words and replaces some characters in the string to create # a nicer looking title. +titleize+ is meant for creating pretty output. It is not # used in the Rails internals. # # The trailing '_id','Id'.. can be kept and capitalized by setting the # optional parameter +keep_id_suffix+ to true. # By default, this parameter is false. # # 'man from the boondocks'.titleize # => "Man From The Boondocks" # 'x-men: the last stand'.titleize # => "X Men: The Last Stand" # 'string_ending_with_id'.titleize(keep_id_suffix: true) # => "String Ending With Id" # # +titleize+ is also aliased as +titlecase+. # # See ActiveSupport::Inflector.titleize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:130 def titlecase(keep_id_suffix: T.unsafe(nil)); end # Capitalizes all the words and replaces some characters in the string to create # a nicer looking title. +titleize+ is meant for creating pretty output. It is not # used in the Rails internals. # # The trailing '_id','Id'.. can be kept and capitalized by setting the # optional parameter +keep_id_suffix+ to true. # By default, this parameter is false. # # 'man from the boondocks'.titleize # => "Man From The Boondocks" # 'x-men: the last stand'.titleize # => "X Men: The Last Stand" # 'string_ending_with_id'.titleize(keep_id_suffix: true) # => "String Ending With Id" # # +titleize+ is also aliased as +titlecase+. # # See ActiveSupport::Inflector.titleize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:130 def titleize(keep_id_suffix: T.unsafe(nil)); end # Returns a substring from the beginning of the string to the given position. # If the position is negative, it is counted from the end of the string. # # str = "hello" # str.to(0) # => "h" # str.to(3) # => "hell" # str.to(-2) # => "hell" # # You can mix it with +from+ method and do fun things like: # # str = "hello" # str.from(0).to(-1) # => "hello" # str.from(1).to(-2) # => "ell" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/access.rb:63 def to(position); end # Converts a string to a Date value. # # "1-1-2012".to_date # => Sun, 01 Jan 2012 # "01/01/2012".to_date # => Sun, 01 Jan 2012 # "2012-12-13".to_date # => Thu, 13 Dec 2012 # "12/13/2012".to_date # => ArgumentError: invalid date # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/conversions.rb:47 def to_date; end # Converts a string to a DateTime value. # # "1-1-2012".to_datetime # => Sun, 01 Jan 2012 00:00:00 +0000 # "01/01/2012 23:59:59".to_datetime # => Sun, 01 Jan 2012 23:59:59 +0000 # "2012-12-13 12:50".to_datetime # => Thu, 13 Dec 2012 12:50:00 +0000 # "12/13/2012".to_datetime # => ArgumentError: invalid date # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/conversions.rb:57 def to_datetime; end # Converts a string to a Time value. # The +form+ can be either +:utc+ or +:local+ (default +:local+). # # The time is parsed using Time.parse method. # If +form+ is +:local+, then the time is in the system timezone. # If the date part is missing then the current date is used and if # the time part is missing then it is assumed to be 00:00:00. # # "13-12-2012".to_time # => 2012-12-13 00:00:00 +0100 # "06:12".to_time # => 2012-12-13 06:12:00 +0100 # "2012-12-13 06:12".to_time # => 2012-12-13 06:12:00 +0100 # "2012-12-13T06:12".to_time # => 2012-12-13 06:12:00 +0100 # "2012-12-13T06:12".to_time(:utc) # => 2012-12-13 06:12:00 UTC # "12/13/2012".to_time # => ArgumentError: argument out of range # "1604326192".to_time # => ArgumentError: argument out of range # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/conversions.rb:22 def to_time(form = T.unsafe(nil)); end # Truncates a given +text+ after a given length if +text+ is longer than length: # # 'Once upon a time in a world far far away'.truncate(27) # # => "Once upon a time in a wo..." # # Pass a string or regexp :separator to truncate +text+ at a natural break: # # 'Once upon a time in a world far far away'.truncate(27, separator: ' ') # # => "Once upon a time in a..." # # 'Once upon a time in a world far far away'.truncate(27, separator: /\s/) # # => "Once upon a time in a..." # # The last characters will be replaced with the :omission string (defaults to "...") # for a total length not exceeding length: # # 'And they found that many people were sleeping better.'.truncate(25, omission: '... (continued)') # # => "And they f... (continued)" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/filters.rb:66 def truncate(truncate_at, options = T.unsafe(nil)); end # Truncates +text+ to at most bytesize bytes in length without # breaking string encoding by splitting multibyte characters or breaking # grapheme clusters ("perceptual characters") by truncating at combining # characters. # # >> "🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪".size # => 20 # >> "🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪".bytesize # => 80 # >> "🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪🔪".truncate_bytes(20) # => "🔪🔪🔪🔪…" # # The truncated text ends with the :omission string, defaulting # to "…", for a total length not exceeding bytesize. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/filters.rb:95 def truncate_bytes(truncate_at, omission: T.unsafe(nil)); end # Truncates a given +text+ after a given number of words (words_count): # # 'Once upon a time in a world far far away'.truncate_words(4) # # => "Once upon a time..." # # Pass a string or regexp :separator to specify a different separator of words: # # 'Once
upon
a
time
in
a
world'.truncate_words(5, separator: '
') # # => "Once
upon
a
time
in..." # # The last characters will be replaced with the :omission string (defaults to "..."): # # 'And they found that many people were sleeping better.'.truncate_words(5, omission: '... (continued)') # # => "And they found that many... (continued)" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/filters.rb:136 def truncate_words(words_count, options = T.unsafe(nil)); end # The reverse of +camelize+. Makes an underscored, lowercase form from the expression in the string. # # +underscore+ will also change '::' to '/' to convert namespaces to paths. # # 'ActiveModel'.underscore # => "active_model" # 'ActiveModel::Errors'.underscore # => "active_model/errors" # # See ActiveSupport::Inflector.underscore. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:143 def underscore; end # Converts just the first character to uppercase. # # 'what a Lovely Day'.upcase_first # => "What a Lovely Day" # 'w'.upcase_first # => "W" # ''.upcase_first # => "" # # See ActiveSupport::Inflector.upcase_first. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/string/inflections.rb:277 def upcase_first; end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:104 String::BLANK_RE = T.let(T.unsafe(nil), Regexp) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:105 String::ENCODED_BLANKS = T.let(T.unsafe(nil), Concurrent::Map) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:68 class Struct include ::Enumerable # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:69 def as_json(options = T.unsafe(nil)); end end Struct::Group = Etc::Group # source://nokogiri-1.13.8-arm64-darwin/lib/nokogiri/html4/element_description_defaults.rb:11 Struct::HTMLElementDescription = Struct Struct::Passwd = Etc::Passwd # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:98 class Symbol include ::Comparable # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:99 def as_json(options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:146 class Time include ::Comparable include ::DateAndTime::Zones include ::DateAndTime::Calculations include ::DateAndTime::Compatibility # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:280 def +(other); end # Time#- can also be used to determine the number of seconds between two Time instances. # We're layering on additional behavior so that ActiveSupport::TimeWithZone instances # are coerced into values that Time#- will recognize # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:303 def -(other); end # Layers additional behavior on Time#<=> so that DateTime and ActiveSupport::TimeWithZone instances # can be chronologically compared with a Time # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:312 def <=>(other); end # Duck-types as a Time-like class. See Object#acts_like?. # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/acts_like.rb:7 def acts_like_time?; end # Uses Date to provide precise Time calculations for years, months, and days # according to the proleptic Gregorian calendar. The +options+ parameter # takes a hash with any of these keys: :years, :months, # :weeks, :days, :hours, :minutes, # :seconds. # # Time.new(2015, 8, 1, 14, 35, 0).advance(seconds: 1) # => 2015-08-01 14:35:01 -0700 # Time.new(2015, 8, 1, 14, 35, 0).advance(minutes: 1) # => 2015-08-01 14:36:00 -0700 # Time.new(2015, 8, 1, 14, 35, 0).advance(hours: 1) # => 2015-08-01 15:35:00 -0700 # Time.new(2015, 8, 1, 14, 35, 0).advance(days: 1) # => 2015-08-02 14:35:00 -0700 # Time.new(2015, 8, 1, 14, 35, 0).advance(weeks: 1) # => 2015-08-08 14:35:00 -0700 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:182 def advance(options); end # Returns a new Time representing the time a number of seconds ago, this is basically a wrapper around the Numeric extension # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:208 def ago(seconds); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:187 def as_json(options = T.unsafe(nil)); end # Returns a new Time representing the start of the day (0:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:221 def at_beginning_of_day; end # Returns a new Time representing the start of the hour (x:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:250 def at_beginning_of_hour; end # Returns a new Time representing the start of the minute (x:xx:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:266 def at_beginning_of_minute; end # Returns a new Time representing the end of the day, 23:59:59.999999 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:239 def at_end_of_day; end # Returns a new Time representing the end of the hour, x:59:59.999999 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:256 def at_end_of_hour; end # Returns a new Time representing the end of the minute, x:xx:59.999999 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:272 def at_end_of_minute; end # Returns a new Time representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:229 def at_midday; end # Returns a new Time representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:229 def at_middle_of_day; end # Returns a new Time representing the start of the day (0:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:221 def at_midnight; end # Returns a new Time representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:229 def at_noon; end # Returns a new Time representing the start of the day (0:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:221 def beginning_of_day; end # Returns a new Time representing the start of the hour (x:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:250 def beginning_of_hour; end # Returns a new Time representing the start of the minute (x:xx:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:266 def beginning_of_minute; end # No Time is blank: # # Time.now.blank? # => false # # @return [false] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:152 def blank?; end # Returns a new Time where one or more of the elements have been changed according # to the +options+ parameter. The time options (:hour, :min, # :sec, :usec, :nsec) reset cascadingly, so if only # the hour is passed, then minute, sec, usec, and nsec is set to 0. If the hour # and minute is passed, then sec, usec, and nsec is set to 0. The +options+ parameter # takes a hash with any of these keys: :year, :month, :day, # :hour, :min, :sec, :usec, :nsec, # :offset. Pass either :usec or :nsec, not both. # # Time.new(2012, 8, 29, 22, 35, 0).change(day: 1) # => Time.new(2012, 8, 1, 22, 35, 0) # Time.new(2012, 8, 29, 22, 35, 0).change(year: 1981, day: 1) # => Time.new(1981, 8, 1, 22, 35, 0) # Time.new(2012, 8, 29, 22, 35, 0).change(year: 1981, hour: 0) # => Time.new(1981, 8, 29, 0, 0, 0) # # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:138 def change(options); end # Layers additional behavior on Time#<=> so that DateTime and ActiveSupport::TimeWithZone instances # can be chronologically compared with a Time # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:312 def compare_with_coercion(other); end # Returns a new Time representing the end of the day, 23:59:59.999999 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:239 def end_of_day; end # Returns a new Time representing the end of the hour, x:59:59.999999 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:256 def end_of_hour; end # Returns a new Time representing the end of the minute, x:xx:59.999999 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:272 def end_of_minute; end # Layers additional behavior on Time#eql? so that ActiveSupport::TimeWithZone instances # can be eql? to an equivalent Time # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:327 def eql?(other); end # Layers additional behavior on Time#eql? so that ActiveSupport::TimeWithZone instances # can be eql? to an equivalent Time # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:327 def eql_with_coercion(other); end # Returns a formatted string of the offset from UTC, or an alternative # string if the time zone is already UTC. # # Time.local(2000).formatted_offset # => "-06:00" # Time.local(2000).formatted_offset(false) # => "-0600" # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/conversions.rb:69 def formatted_offset(colon = T.unsafe(nil), alternate_utc_string = T.unsafe(nil)); end # Returns a new Time representing the time a number of seconds since the instance time # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:213 def in(seconds); end # Returns a new Time representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:229 def midday; end # Returns a new Time representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:229 def middle_of_day; end # Returns a new Time representing the start of the day (0:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:221 def midnight; end # Time#- can also be used to determine the number of seconds between two Time instances. # We're layering on additional behavior so that ActiveSupport::TimeWithZone instances # are coerced into values that Time#- will recognize # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:303 def minus_with_coercion(other); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:290 def minus_with_duration(other); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:290 def minus_without_coercion(other); end # Returns a new time the specified number of days in the future. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:341 def next_day(days = T.unsafe(nil)); end # Returns a new time the specified number of months in the future. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:351 def next_month(months = T.unsafe(nil)); end # Returns a new time the specified number of years in the future. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:361 def next_year(years = T.unsafe(nil)); end # Returns a new Time representing the middle of the day (12:00) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:229 def noon; end # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:280 def plus_with_duration(other); end # Returns a new time the specified number of days ago. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:336 def prev_day(days = T.unsafe(nil)); end # Returns a new time the specified number of months ago. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:346 def prev_month(months = T.unsafe(nil)); end # Returns a new time the specified number of years ago. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:356 def prev_year(years = T.unsafe(nil)); end # Returns the fraction of a second as a +Rational+ # # Time.new(2012, 8, 29, 0, 0, 0.5).sec_fraction # => (1/2) # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:107 def sec_fraction; end # Returns the number of seconds since 00:00:00. # # Time.new(2012, 8, 29, 0, 0, 0).seconds_since_midnight # => 0.0 # Time.new(2012, 8, 29, 12, 34, 56).seconds_since_midnight # => 45296.0 # Time.new(2012, 8, 29, 23, 59, 59).seconds_since_midnight # => 86399.0 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:91 def seconds_since_midnight; end # Returns the number of seconds until 23:59:59. # # Time.new(2012, 8, 29, 0, 0, 0).seconds_until_end_of_day # => 86399 # Time.new(2012, 8, 29, 12, 34, 56).seconds_until_end_of_day # => 41103 # Time.new(2012, 8, 29, 23, 59, 59).seconds_until_end_of_day # => 0 # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:100 def seconds_until_end_of_day; end # Returns a new Time representing the time a number of seconds since the instance time # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:213 def since(seconds); end # Converts to a formatted string. See DATE_FORMATS for built-in formats. # # This method is aliased to to_formatted_s. # # time = Time.now # => 2007-01-18 06:10:17 -06:00 # # time.to_fs(:time) # => "06:10" # time.to_formatted_s(:time) # => "06:10" # # time.to_fs(:db) # => "2007-01-18 06:10:17" # time.to_fs(:number) # => "20070118061017" # time.to_fs(:short) # => "18 Jan 06:10" # time.to_fs(:long) # => "January 18, 2007 06:10" # time.to_fs(:long_ordinal) # => "January 18th, 2007 06:10" # time.to_fs(:rfc822) # => "Thu, 18 Jan 2007 06:10:17 -0600" # time.to_fs(:iso8601) # => "2007-01-18T06:10:17-06:00" # # == Adding your own time formats to +to_fs+ # You can add your own formats to the Time::DATE_FORMATS hash. # Use the format name as the hash key and either a strftime string # or Proc instance that takes a time argument as the value. # # # config/initializers/time_formats.rb # Time::DATE_FORMATS[:month_and_year] = '%B %Y' # Time::DATE_FORMATS[:short_ordinal] = ->(time) { time.strftime("%B #{time.day.ordinalize}") } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/conversions.rb:53 def to_formatted_s(format = T.unsafe(nil)); end # Converts to a formatted string. See DATE_FORMATS for built-in formats. # # This method is aliased to to_formatted_s. # # time = Time.now # => 2007-01-18 06:10:17 -06:00 # # time.to_fs(:time) # => "06:10" # time.to_formatted_s(:time) # => "06:10" # # time.to_fs(:db) # => "2007-01-18 06:10:17" # time.to_fs(:number) # => "20070118061017" # time.to_fs(:short) # => "18 Jan 06:10" # time.to_fs(:long) # => "January 18, 2007 06:10" # time.to_fs(:long_ordinal) # => "January 18th, 2007 06:10" # time.to_fs(:rfc822) # => "Thu, 18 Jan 2007 06:10:17 -0600" # time.to_fs(:iso8601) # => "2007-01-18T06:10:17-06:00" # # == Adding your own time formats to +to_fs+ # You can add your own formats to the Time::DATE_FORMATS hash. # Use the format name as the hash key and either a strftime string # or Proc instance that takes a time argument as the value. # # # config/initializers/time_formats.rb # Time::DATE_FORMATS[:month_and_year] = '%B %Y' # Time::DATE_FORMATS[:short_ordinal] = ->(time) { time.strftime("%B #{time.day.ordinalize}") } # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/conversions.rb:53 def to_fs(format = T.unsafe(nil)); end # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/deprecated_conversions.rb:7 def to_s(format = T.unsafe(nil)); end # Either return +self+ or the time in the local system timezone depending # on the setting of +ActiveSupport.to_time_preserves_timezone+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/compatibility.rb:13 def to_time; end class << self # Overriding case equality method so that it returns true for ActiveSupport::TimeWithZone instances # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:18 def ===(other); end # Layers additional behavior on Time.at so that ActiveSupport::TimeWithZone and DateTime # instances can be used when called with a single argument # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:45 def at(*args, **kwargs); end # Layers additional behavior on Time.at so that ActiveSupport::TimeWithZone and DateTime # instances can be used when called with a single argument # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:45 def at_with_coercion(*args, **kwargs); end # Returns Time.zone.now when Time.zone or config.time_zone are set, otherwise just returns Time.now. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:39 def current; end # Returns the number of days in the given month. # If no year is specified, it will use the current year. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:24 def days_in_month(month, year = T.unsafe(nil)); end # Returns the number of days in the given year. # If no year is specified, it will use the current year. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:34 def days_in_year(year = T.unsafe(nil)); end # Returns a TimeZone instance matching the time zone provided. # Accepts the time zone in any format supported by Time.zone=. # Returns +nil+ for invalid time zones. # # Time.find_zone "America/New_York" # => # # Time.find_zone "NOT-A-TIMEZONE" # => nil # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/zones.rb:94 def find_zone(time_zone); end # Returns a TimeZone instance matching the time zone provided. # Accepts the time zone in any format supported by Time.zone=. # Raises an +ArgumentError+ for invalid time zones. # # Time.find_zone! "America/New_York" # => # # Time.find_zone! "EST" # => # # Time.find_zone! -5.hours # => # # Time.find_zone! nil # => nil # Time.find_zone! false # => false # Time.find_zone! "NOT-A-TIMEZONE" # => ArgumentError: Invalid Timezone: NOT-A-TIMEZONE # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/zones.rb:82 def find_zone!(time_zone); end # Creates a +Time+ instance from an RFC 3339 string. # # Time.rfc3339('1999-12-31T14:00:00-10:00') # => 2000-01-01 00:00:00 -1000 # # If the time or offset components are missing then an +ArgumentError+ will be raised. # # Time.rfc3339('1999-12-31') # => ArgumentError: invalid date # # @raise [ArgumentError] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:69 def rfc3339(str); end # Allows override of Time.zone locally inside supplied block; # resets Time.zone to existing value when done. # # class ApplicationController < ActionController::Base # around_action :set_time_zone # # private # # def set_time_zone # Time.use_zone(current_user.timezone) { yield } # end # end # # NOTE: This won't affect any ActiveSupport::TimeWithZone # objects that have already been created, e.g. any model timestamp # attributes that have been read before the block will remain in # the application's default timezone. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/zones.rb:62 def use_zone(time_zone); end # Returns the TimeZone for the current request, if this has been set (via Time.zone=). # If Time.zone has not been set for the current request, returns the TimeZone specified in config.time_zone. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/zones.rb:14 def zone; end # Sets Time.zone to a TimeZone object for the current request/thread. # # This method accepts any of the following: # # * A Rails TimeZone object. # * An identifier for a Rails TimeZone object (e.g., "Eastern Time (US & Canada)", -5.hours). # * A TZInfo::Timezone object. # * An identifier for a TZInfo::Timezone object (e.g., "America/New_York"). # # Here's an example of how you might set Time.zone on a per request basis and reset it when the request is done. # current_user.time_zone just needs to return a string identifying the user's preferred time zone: # # class ApplicationController < ActionController::Base # around_action :set_time_zone # # def set_time_zone # if logged_in? # Time.use_zone(current_user.time_zone) { yield } # else # yield # end # end # end # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/zones.rb:41 def zone=(time_zone); end # Returns the value of attribute zone_default. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/zones.rb:10 def zone_default; end # Sets the attribute zone_default # # @param value the value to set the attribute zone_default to. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/zones.rb:10 def zone_default=(_arg0); end end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/calculations.rb:14 Time::COMMON_YEAR_DAYS_IN_MONTH = T.let(T.unsafe(nil), Array) # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/conversions.rb:8 Time::DATE_FORMATS = T.let(T.unsafe(nil), Hash) # source://activesupport-7.0.3.1/lib/active_support/core_ext/time/deprecated_conversions.rb:6 Time::NOT_SET = T.let(T.unsafe(nil), Object) # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:72 class TrueClass # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:75 def as_json(options = T.unsafe(nil)); end # +true+ is not blank: # # true.blank? # => false # # @return [false] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/blank.rb:78 def blank?; end # Returns +self+. # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/to_query.rb:27 def to_param; end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:216 class URI::Generic include ::URI::RFC2396_REGEXP include ::URI # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/json.rb:217 def as_json(options = T.unsafe(nil)); end end # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/duplicable.rb:41 class UnboundMethod # Unbound methods are not duplicable: # # method(:puts).unbind.duplicable? # => false # method(:puts).unbind.dup # => TypeError: allocator undefined for UnboundMethod # # @return [Boolean] # # source://activesupport-7.0.3.1/lib/active_support/core_ext/object/duplicable.rb:46 def duplicable?; end end