diff options
Diffstat (limited to 'activesupport/lib/active_support')
8 files changed, 140 insertions, 146 deletions
| diff --git a/activesupport/lib/active_support/benchmarkable.rb b/activesupport/lib/active_support/benchmarkable.rb index 805b7a714f..3988b147ac 100644 --- a/activesupport/lib/active_support/benchmarkable.rb +++ b/activesupport/lib/active_support/benchmarkable.rb @@ -38,7 +38,7 @@ module ActiveSupport          options[:level] ||= :info          result = nil -        ms = Benchmark.ms { result = options[:silence] ? silence { yield } : yield } +        ms = Benchmark.ms { result = options[:silence] ? logger.silence { yield } : yield }          logger.send(options[:level], '%s (%.1fms)' % [ message, ms ])          result        else diff --git a/activesupport/lib/active_support/cache.rb b/activesupport/lib/active_support/cache.rb index 610105f41c..1c63e8a93f 100644 --- a/activesupport/lib/active_support/cache.rb +++ b/activesupport/lib/active_support/cache.rb @@ -333,21 +333,19 @@ module ActiveSupport          options = names.extract_options!          options = merged_options(options) -        instrument_multi(:read, names, options) do |payload| -          results = {} -          names.each do |name| -            key = normalize_key(name, options) -            entry = read_entry(key, options) -            if entry -              if entry.expired? -                delete_entry(key, options) -              else -                results[name] = entry.value -              end +        results = {} +        names.each do |name| +          key = normalize_key(name, options) +          entry = read_entry(key, options) +          if entry +            if entry.expired? +              delete_entry(key, options) +            else +              results[name] = entry.value              end            end -          results          end +        results        end        # Fetches data from the cache, using the given keys. If there is data in @@ -555,17 +553,6 @@ module ActiveSupport            ActiveSupport::Notifications.instrument("cache_#{operation}.active_support", payload){ yield(payload) }          end -        def instrument_multi(operation, keys, options = nil) -          log do -            formatted_keys = keys.map { |k| "- #{k}" }.join("\n") -            "Caches multi #{operation}:\n#{formatted_keys}#{options.blank? ? "" : " (#{options.inspect})"}" -          end - -          payload = { key: keys } -          payload.merge!(options) if options.is_a?(Hash) -          ActiveSupport::Notifications.instrument("cache_#{operation}_multi.active_support", payload) { yield(payload) } -        end -          def log            return unless logger && logger.debug? && !silence?            logger.debug(yield) diff --git a/activesupport/lib/active_support/cache/mem_cache_store.rb b/activesupport/lib/active_support/cache/mem_cache_store.rb index 174913365a..2ca4b51efa 100644 --- a/activesupport/lib/active_support/cache/mem_cache_store.rb +++ b/activesupport/lib/active_support/cache/mem_cache_store.rb @@ -96,16 +96,14 @@ module ActiveSupport          options = names.extract_options!          options = merged_options(options) -        instrument_multi(:read, names, options) do -          keys_to_names = Hash[names.map{|name| [normalize_key(name, options), name]}] -          raw_values = @data.get_multi(keys_to_names.keys, :raw => true) -          values = {} -          raw_values.each do |key, value| -            entry = deserialize_entry(value) -            values[keys_to_names[key]] = entry.value unless entry.expired? -          end -          values +        keys_to_names = Hash[names.map{|name| [normalize_key(name, options), name]}] +        raw_values = @data.get_multi(keys_to_names.keys, :raw => true) +        values = {} +        raw_values.each do |key, value| +          entry = deserialize_entry(value) +          values[keys_to_names[key]] = entry.value unless entry.expired?          end +        values        end        # Increment a cached value. This method uses the memcached incr atomic diff --git a/activesupport/lib/active_support/core_ext/numeric/conversions.rb b/activesupport/lib/active_support/core_ext/numeric/conversions.rb index 9d832897ed..b25925b9d4 100644 --- a/activesupport/lib/active_support/core_ext/numeric/conversions.rb +++ b/activesupport/lib/active_support/core_ext/numeric/conversions.rb @@ -15,72 +15,72 @@ module ActiveSupport::NumericWithFormat    # ==== Examples    #    #  Phone Numbers: -  #  5551234.to_s(:phone)                                     # => 555-1234 -  #  1235551234.to_s(:phone)                                  # => 123-555-1234 -  #  1235551234.to_s(:phone, area_code: true)                 # => (123) 555-1234 -  #  1235551234.to_s(:phone, delimiter: ' ')                  # => 123 555 1234 -  #  1235551234.to_s(:phone, area_code: true, extension: 555) # => (123) 555-1234 x 555 -  #  1235551234.to_s(:phone, country_code: 1)                 # => +1-123-555-1234 +  #  5551234.to_s(:phone)                                     # => "555-1234" +  #  1235551234.to_s(:phone)                                  # => "123-555-1234" +  #  1235551234.to_s(:phone, area_code: true)                 # => "(123) 555-1234" +  #  1235551234.to_s(:phone, delimiter: ' ')                  # => "123 555 1234" +  #  1235551234.to_s(:phone, area_code: true, extension: 555) # => "(123) 555-1234 x 555" +  #  1235551234.to_s(:phone, country_code: 1)                 # => "+1-123-555-1234"    #  1235551234.to_s(:phone, country_code: 1, extension: 1343, delimiter: '.') -  #  # => +1.123.555.1234 x 1343 +  #  # => "+1.123.555.1234 x 1343"    #    #  Currency: -  #  1234567890.50.to_s(:currency)                 # => $1,234,567,890.50 -  #  1234567890.506.to_s(:currency)                # => $1,234,567,890.51 -  #  1234567890.506.to_s(:currency, precision: 3)  # => $1,234,567,890.506 -  #  1234567890.506.to_s(:currency, locale: :fr)   # => 1 234 567 890,51 € +  #  1234567890.50.to_s(:currency)                 # => "$1,234,567,890.50" +  #  1234567890.506.to_s(:currency)                # => "$1,234,567,890.51" +  #  1234567890.506.to_s(:currency, precision: 3)  # => "$1,234,567,890.506" +  #  1234567890.506.to_s(:currency, locale: :fr)   # => "1 234 567 890,51 €"    #  -1234567890.50.to_s(:currency, negative_format: '(%u%n)') -  #  # => ($1,234,567,890.50) +  #  # => "($1,234,567,890.50)"    #  1234567890.50.to_s(:currency, unit: '£', separator: ',', delimiter: '') -  #  # => £1234567890,50 +  #  # => "£1234567890,50"    #  1234567890.50.to_s(:currency, unit: '£', separator: ',', delimiter: '', format: '%n %u') -  #  # => 1234567890,50 £ +  #  # => "1234567890,50 £"    #    #  Percentage: -  #  100.to_s(:percentage)                                  # => 100.000% -  #  100.to_s(:percentage, precision: 0)                    # => 100% -  #  1000.to_s(:percentage, delimiter: '.', separator: ',') # => 1.000,000% -  #  302.24398923423.to_s(:percentage, precision: 5)        # => 302.24399% -  #  1000.to_s(:percentage, locale: :fr)                    # => 1 000,000% -  #  100.to_s(:percentage, format: '%n  %')                 # => 100.000  % +  #  100.to_s(:percentage)                                  # => "100.000%" +  #  100.to_s(:percentage, precision: 0)                    # => "100%" +  #  1000.to_s(:percentage, delimiter: '.', separator: ',') # => "1.000,000%" +  #  302.24398923423.to_s(:percentage, precision: 5)        # => "302.24399%" +  #  1000.to_s(:percentage, locale: :fr)                    # => "1 000,000%" +  #  100.to_s(:percentage, format: '%n  %')                 # => "100.000  %"    #    #  Delimited: -  #  12345678.to_s(:delimited)                     # => 12,345,678 -  #  12345678.05.to_s(:delimited)                  # => 12,345,678.05 -  #  12345678.to_s(:delimited, delimiter: '.')     # => 12.345.678 -  #  12345678.to_s(:delimited, delimiter: ',')     # => 12,345,678 -  #  12345678.05.to_s(:delimited, separator: ' ')  # => 12,345,678 05 -  #  12345678.05.to_s(:delimited, locale: :fr)     # => 12 345 678,05 +  #  12345678.to_s(:delimited)                     # => "12,345,678" +  #  12345678.05.to_s(:delimited)                  # => "12,345,678.05" +  #  12345678.to_s(:delimited, delimiter: '.')     # => "12.345.678" +  #  12345678.to_s(:delimited, delimiter: ',')     # => "12,345,678" +  #  12345678.05.to_s(:delimited, separator: ' ')  # => "12,345,678 05" +  #  12345678.05.to_s(:delimited, locale: :fr)     # => "12 345 678,05"    #  98765432.98.to_s(:delimited, delimiter: ' ', separator: ',') -  #  # => 98 765 432,98 +  #  # => "98 765 432,98"    #    #  Rounded: -  #  111.2345.to_s(:rounded)                                      # => 111.235 -  #  111.2345.to_s(:rounded, precision: 2)                        # => 111.23 -  #  13.to_s(:rounded, precision: 5)                              # => 13.00000 -  #  389.32314.to_s(:rounded, precision: 0)                       # => 389 -  #  111.2345.to_s(:rounded, significant: true)                   # => 111 -  #  111.2345.to_s(:rounded, precision: 1, significant: true)     # => 100 -  #  13.to_s(:rounded, precision: 5, significant: true)           # => 13.000 -  #  111.234.to_s(:rounded, locale: :fr)                          # => 111,234 +  #  111.2345.to_s(:rounded)                                      # => "111.235" +  #  111.2345.to_s(:rounded, precision: 2)                        # => "111.23" +  #  13.to_s(:rounded, precision: 5)                              # => "13.00000" +  #  389.32314.to_s(:rounded, precision: 0)                       # => "389" +  #  111.2345.to_s(:rounded, significant: true)                   # => "111" +  #  111.2345.to_s(:rounded, precision: 1, significant: true)     # => "100" +  #  13.to_s(:rounded, precision: 5, significant: true)           # => "13.000" +  #  111.234.to_s(:rounded, locale: :fr)                          # => "111,234"    #  13.to_s(:rounded, precision: 5, significant: true, strip_insignificant_zeros: true) -  #  # => 13 -  #  389.32314.to_s(:rounded, precision: 4, significant: true)    # => 389.3 +  #  # => "13" +  #  389.32314.to_s(:rounded, precision: 4, significant: true)    # => "389.3"    #  1111.2345.to_s(:rounded, precision: 2, separator: ',', delimiter: '.') -  #  # => 1.111,23 +  #  # => "1.111,23"    #    #  Human-friendly size in Bytes: -  #  123.to_s(:human_size)                                   # => 123 Bytes -  #  1234.to_s(:human_size)                                  # => 1.21 KB -  #  12345.to_s(:human_size)                                 # => 12.1 KB -  #  1234567.to_s(:human_size)                               # => 1.18 MB -  #  1234567890.to_s(:human_size)                            # => 1.15 GB -  #  1234567890123.to_s(:human_size)                         # => 1.12 TB -  #  1234567890123456.to_s(:human_size)                      # => 1.1 PB -  #  1234567890123456789.to_s(:human_size)                   # => 1.07 EB -  #  1234567.to_s(:human_size, precision: 2)                 # => 1.2 MB -  #  483989.to_s(:human_size, precision: 2)                  # => 470 KB -  #  1234567.to_s(:human_size, precision: 2, separator: ',') # => 1,2 MB +  #  123.to_s(:human_size)                                   # => "123 Bytes" +  #  1234.to_s(:human_size)                                  # => "1.21 KB" +  #  12345.to_s(:human_size)                                 # => "12.1 KB" +  #  1234567.to_s(:human_size)                               # => "1.18 MB" +  #  1234567890.to_s(:human_size)                            # => "1.15 GB" +  #  1234567890123.to_s(:human_size)                         # => "1.12 TB" +  #  1234567890123456.to_s(:human_size)                      # => "1.1 PB" +  #  1234567890123456789.to_s(:human_size)                   # => "1.07 EB" +  #  1234567.to_s(:human_size, precision: 2)                 # => "1.2 MB" +  #  483989.to_s(:human_size, precision: 2)                  # => "470 KB" +  #  1234567.to_s(:human_size, precision: 2, separator: ',') # => "1,2 MB"    #  1234567890123.to_s(:human_size, precision: 5)           # => "1.1228 TB"    #  524288000.to_s(:human_size, precision: 5)               # => "500 MB"    # diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb index af18ff746f..fd9fbff96a 100644 --- a/activesupport/lib/active_support/dependencies.rb +++ b/activesupport/lib/active_support/dependencies.rb @@ -145,9 +145,9 @@ module ActiveSupport #:nodoc:            # Get a list of the constants that were added            new_constants = mod.local_constants - original_constants -          # self[namespace] returns an Array of the constants that are being evaluated +          # @stack[namespace] returns an Array of the constants that are being evaluated            # for that namespace. For instance, if parent.rb requires child.rb, the first -          # element of self[Object] will be an Array of the constants that were present +          # element of @stack[Object] will be an Array of the constants that were present            # before parent.rb was required. The second element will be an Array of the            # constants that were present before child.rb was required.            @stack[namespace].each do |namespace_constants| @@ -262,7 +262,7 @@ module ActiveSupport #:nodoc:        end        def load_dependency(file) -        if Dependencies.load? && ActiveSupport::Dependencies.constant_watch_stack.watching? +        if Dependencies.load? && Dependencies.constant_watch_stack.watching?            Dependencies.new_constants_in(Object) { yield }          else            yield diff --git a/activesupport/lib/active_support/message_verifier.rb b/activesupport/lib/active_support/message_verifier.rb index 854029bf83..4c3deffe6e 100644 --- a/activesupport/lib/active_support/message_verifier.rb +++ b/activesupport/lib/active_support/message_verifier.rb @@ -24,6 +24,12 @@ module ActiveSupport    # 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')    class MessageVerifier      class InvalidSignature < StandardError; end diff --git a/activesupport/lib/active_support/number_helper.rb b/activesupport/lib/active_support/number_helper.rb index 64d9e71f37..55628f0313 100644 --- a/activesupport/lib/active_support/number_helper.rb +++ b/activesupport/lib/active_support/number_helper.rb @@ -29,17 +29,17 @@ module ActiveSupport      #   number.      # ==== 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(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 +    #   # => "+1.123.555.1234 x 1343"      def number_to_phone(number, options = {})        NumberToPhoneConverter.convert(number, options)      end @@ -78,18 +78,18 @@ module ActiveSupport      #      # ==== 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(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(-1234567890.50, negative_format: '(%u%n)') -    #   # => ($1,234,567,890.50) +    #   # => "($1,234,567,890.50)"      #   number_to_currency(1234567890.50, unit: '£', separator: ',', delimiter: '') -    #   # => £1234567890,50 +    #   # => "£1234567890,50"      #   number_to_currency(1234567890.50, unit: '£', separator: ',', delimiter: '', format: '%n %u') -    #   # => 1234567890,50 £ +    #   # => "1234567890,50 £"      def number_to_currency(number, options = {})        NumberToCurrencyConverter.convert(number, options)      end @@ -118,15 +118,15 @@ module ActiveSupport      #      # ==== 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(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  %"      def number_to_percentage(number, options = {})        NumberToPercentageConverter.convert(number, options)      end @@ -149,19 +149,19 @@ module ActiveSupport      #      # ==== 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(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 +    #                                                    # => "98 765 432,98"      #   number_to_delimited("123456.78",      #     delimiter_pattern: /(\d+?)(?=(\d\d)+(\d)(?!\d))/) -    #                                                    # => 1,23,456.78 +    #                                                    # => "1,23,456.78"      def number_to_delimited(number, options = {})        NumberToDelimitedConverter.convert(number, options)      end @@ -190,22 +190,22 @@ module ActiveSupport      #      # ==== 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(111.234, locale: :fr)                      # => 111,234 +    #   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(111.234, locale: :fr)                      # => "111,234"      #      #   number_to_rounded(13, precision: 5, significant: true, strip_insignificant_zeros: true) -    #   # => 13 +    #   # => "13"      # -    #   number_to_rounded(389.32314, precision: 4, significant: true) # => 389.3 +    #   number_to_rounded(389.32314, precision: 4, significant: true) # => "389.3"      #   number_to_rounded(1111.2345, precision: 2, separator: ',', delimiter: '.') -    #   # => 1.111,23 +    #   # => "1.111,23"      def number_to_rounded(number, options = {})        NumberToRoundedConverter.convert(number, options)      end @@ -237,17 +237,17 @@ module ActiveSupport      #      # ==== 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(1234567, precision: 2, separator: ',')  # => 1,2 MB +    #   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(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"      def number_to_human_size(number, options = {}) diff --git a/activesupport/lib/active_support/test_case.rb b/activesupport/lib/active_support/test_case.rb index d9a668c0ea..4dc84e4a59 100644 --- a/activesupport/lib/active_support/test_case.rb +++ b/activesupport/lib/active_support/test_case.rb @@ -66,10 +66,13 @@ module ActiveSupport      alias :assert_not_respond_to :refute_respond_to      alias :assert_not_same :refute_same -    # Reveals the intention that the block should not raise any exception. + +    # 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      def assert_nothing_raised(*args)        yield | 
