hash string to symbol

I found a method to convert the keys that are string to symbols. I
included the file in the lib directory but when I call it it says it
does not recognize the method. Ideas?

class Hash
  # Recursively replace key names that should be symbols with symbols.
  def key_strings_to_symbols!
    r = Hash.new
    self.each_pair do |k,v|
      if ((k.kind_of? String) and k =~ /^:/)
        v.key_strings_to_symbols! if v.kind_of? Hash and
v.respond_to? :key_strings_to_symbols!
        r[k.slice(1..-1).to_sym] = v
      else
        v.key_strings_to_symbols! if v.kind_of? Hash and
v.respond_to? :key_strings_to_symbols!
        r[k] = v
      end
    end
    self.replace(r)
  end
end

why not use what Rails already provides via symbolize_keys! .....

http://api.rubyonrails.org/classes/ActiveSupport/CoreExtensions/Hash/Keys.html

Have you included the lib file in your class like
include Hash or
require 'hash.rb'

If include is present then call the method like
object.key_strings_to_symbols!

If require is present then call the method like
class_name = Student
class_name.key_strings_to_symbols!

Keep rocking!

Chris Habgood wrote: