Sha256: 15800e6b49d1e22b57ac4fc7adf5e0e2a13429622ea6d6c805b8543cbfe62d4b

Contents?: true

Size: 844 Bytes

Versions: 6

Compression:

Stored size: 844 Bytes

Contents

class String
  def naive_split(pattern)
    string = self.dup
    found = []

    while position = string.index(pattern)
      found << string.slice!(0, position)
      string.slice!(0,[pattern.size,1].max)
    end

    found << string
    found
  end

  def tabs_to_spaces!
    gsub!("\t",' ' * Ruco::TAB_SIZE)
  end

  def leading_whitespace
    match(/^\s*/)[0]
  end

  # stub for 1.8
  unless method_defined?(:force_encoding)
    def force_encoding(encoding)
      self
    end
  end

  unless method_defined?(:ord)
    def ord
      bytes.first
    end
  end
end

# http://grosser.it/2010/12/31/ruby-string-indexes-indices-find-all-indexes-in-a-string
class String
  def indexes(needle)
    found = []
    current_index = -1
    while current_index = index(needle, current_index+1)
      found << current_index
    end
    found
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
ruco-0.0.48 lib/ruco/core_ext/string.rb
ruco-0.0.47 lib/ruco/core_ext/string.rb
ruco-0.0.46 lib/ruco/core_ext/string.rb
ruco-0.0.45 lib/ruco/core_ext/string.rb
ruco-0.0.44 lib/ruco/core_ext/string.rb
ruco-0.0.43 lib/ruco/core_ext/string.rb