Class: String

Inherits:
Object show all
Defined in:
lib/redcar/ruby_extensions.rb

Instance Method Summary collapse

Instance Method Details

#byte_offset_to_char_offset(byte_offset) ⇒ Object



31
32
33
# File 'lib/redcar/ruby_extensions.rb', line 31

def byte_offset_to_char_offset(byte_offset)
  self[0...byte_offset].chars.length
end

#camelize(first_letter_in_uppercase = true) ⇒ Object



7
8
9
10
11
12
13
# File 'lib/redcar/ruby_extensions.rb', line 7

def camelize(first_letter_in_uppercase = true)
  if first_letter_in_uppercase
    gsub(/\/(.?)/) { "::#{$1.upcase}" }.gsub(/(?:^|_)(.)/) { $1.upcase }
  else
    first.downcase + camelize(lower_case_and_underscored_word)[1..-1]
  end
end

#char_offset_to_byte_offset(char_offset) ⇒ Object



35
36
37
# File 'lib/redcar/ruby_extensions.rb', line 35

def char_offset_to_byte_offset(char_offset)
  self.chars[0...char_offset].to_s.length
end

#charsObject



23
24
25
26
27
28
29
# File 'lib/redcar/ruby_extensions.rb', line 23

def chars
  r = split(//)
  def r.to_s
    join("")
  end
  r
end

#lower_case_underscoreObject



15
16
17
18
19
20
21
# File 'lib/redcar/ruby_extensions.rb', line 15

def lower_case_underscore
  gsub(/::/, '/').
  gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
  gsub(/([a-z\d])([A-Z])/,'\1_\2').
  tr("-", "_").
  downcase
end

#to_javaObject



39
40
41
# File 'lib/redcar/ruby_extensions.rb', line 39

def to_java
  java.lang.String.new(to_java_bytes, "UTF8")
end