Module: MelissaData::WebSmart::Formatters

Included in:
Client, PropertyXMLParser, XMLParser
Defined in:
lib/melissa_data/web_smart/xml.rb

Instance Method Summary collapse

Instance Method Details

#viperize(string) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/melissa_data/web_smart/xml.rb', line 8

def viperize(string)
  word = string.to_s.dup
  word.gsub!(/::/, '/')
  word.gsub!(/([A-Z]+)([A-Z][a-z])/,'\1_\2')
  word.gsub!(/([a-z\d])([A-Z])/,'\1_\2')
  word.tr!("-", "_")
  word.downcase!
  word.to_sym
end

#viperize_hash(hash) ⇒ Object



4
5
6
# File 'lib/melissa_data/web_smart/xml.rb', line 4

def viperize_hash hash
  hash.map { |key, value| { viperize(key.to_s) => value } }.reduce(:merge)
end