I need to transform strings like “Instructor ID” or “Lovely Ice tree”
into sym :instructor_id , :lovely_ice_tree
I tried to do the following :
downcase all string components the unique the spaces and replace w an
underscore
is there a better and faster way to do it ?
thanks fy feedback
On Apr 18, 2011, at 3:09 PM, Erwin wrote:
I need to transform strings like “Instructor ID” or “Lovely Ice tree”
into sym :instructor_id , :lovely_ice_tree
I tried to do the following :
downcase all string components the unique the spaces and replace w an
underscore
is there a better and faster way to do it ?
string.downcase.tr(’ ', ‘_’)
maybe.
On 18 April 2011 23:09, Erwin [email protected] wrote:
I need to transform strings like “Instructor ID” or “Lovely Ice tree”
into sym :instructor_id , :lovely_ice_tree
is there a better and faster way to do it ?
I have a little monkey-patch called “dehumanize” which is almost
what you want:
module ActiveSupport::Inflector
does the opposite of humanize… mostly. Basically does a
space-substituting .underscore
def dehumanize(string_value)
result = string_value.to_s.dup
result.downcase.gsub(/ +/,’_’)
end
end
class String
def dehumanize
ActiveSupport::Inflector.dehumanize(self)
end
end
you could then call:
String.dehumanize.to_sym
thanks , part of the solution as per Michael’s patch
Thanks , I’ll use this patch …