Class: String

Inherits:
Object show all
Defined in:
lib/revent/amf3/util/string.rb

Instance Method Summary collapse

Instance Method Details

#to_camel!Object

Aryk: This might be a better way of writing it. I made a lightweight version to use in my modifications. Feel free to adapt this to the rest.



15
16
17
18
19
20
21
22
23
24
25
# File 'lib/revent/amf3/util/string.rb', line 15

def to_camel! # no one should change these unless they can benchmark and prove their way is faster. =)
  @cached_camel_strings ||= {}
  @cached_camel_strings[self] ||= (
    # new_string = self.dup # need to do this since sometimes the string is frozen
    while x = index("_")
      y=x+1
      self[x..y] = self[y..y].capitalize # in my tests, it was faster than upcase
    end
    self
  )
end

#to_snake!Object

no one should change these unless they can benchmark and prove their way is faster. =)



3
4
5
6
7
8
9
10
11
12
# File 'lib/revent/amf3/util/string.rb', line 3

def to_snake! # no one should change these unless they can benchmark and prove their way is faster. =)
  @cached_snake_strings ||= {}
  @cached_snake_strings[self] ||= (
    while x = index(/([a-z\d])([A-Z])/) # unfortunately have to use regex for this one
      y=x+1
      self[x..y] = self[x..x]+"_"+self[y..y].downcase
    end
    self
  )
end

#to_titleObject



27
28
29
30
31
# File 'lib/revent/amf3/util/string.rb', line 27

def to_title
 title = self.dup
 title[0..0] = title[0..0].upcase
 title
end