Sha256: 94b04c254deaf14c285605a2dccd6341e97905b2b7ad3b7994d4c18407246182

Contents?: true

Size: 902 Bytes

Versions: 24

Compression:

Stored size: 902 Bytes

Contents

# frozen_string_literal: true

unless { a: 1 }.respond_to?(:fetch_values)
  # Add fetch_values if this version of ruby does not define it.
  class Hash
    def fetch_values(*keys)
      result = []
      keys.each do |k|
        result <<
          if block_given?
            yield(self[k])
          else
            self[k]
          end
      end
      result
    end
  end
end

unless ''.respond_to?(:match?)
  # Add String#match? to pre-2.4 ruby
  class String
    def match?(regexp)
      self =~ regexp
    end
  end
end

unless //.respond_to?(:match?)
  # Add Regexp#match? to pre-2.4 ruby
  class Regexp
    def match?(str)
      self =~ str
    end
  end
end

unless ''.respond_to?(:strip_heredoc)
  # Patch String to provide heredocs with whitespace stripped
  class String
    def strip_heredoc
      indent = chomp.scan(/^\s*/).min.size
      gsub(/^\s{#{indent}}/, '')
    end
  end
end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
fat_table-0.9.7 lib/fat_table/patches.rb
fat_table-0.9.5 lib/fat_table/patches.rb
fat_table-0.9.3 lib/fat_table/patches.rb
fat_table-0.9.2 lib/fat_table/patches.rb
fat_table-0.9.1 lib/fat_table/patches.rb
fat_table-0.9.0 lib/fat_table/patches.rb
fat_table-0.8.0 lib/fat_table/patches.rb
fat_table-0.7.0 lib/fat_table/patches.rb
fat_table-0.6.6 lib/fat_table/patches.rb
fat_table-0.6.4 lib/fat_table/patches.rb
fat_table-0.6.3 lib/fat_table/patches.rb
fat_table-0.6.2 lib/fat_table/patches.rb
fat_table-0.6.1 lib/fat_table/patches.rb
fat_table-0.6.0 lib/fat_table/patches.rb
fat_table-0.5.5 lib/fat_table/patches.rb
fat_table-0.5.4 lib/fat_table/patches.rb
fat_table-0.5.3 lib/fat_table/patches.rb
fat_table-0.5.2 lib/fat_table/patches.rb
fat_table-0.5.1 lib/fat_table/patches.rb
fat_table-0.4.2 lib/fat_table/patches.rb