module Crack::Util

Public Instance Methods

snake_case(str) click to toggle source
# File lib/crack/util.rb, line 3
def snake_case(str)
  return str.downcase if str =~ %r^[A-Z]+$/
  str.gsub(%r([A-Z]+)(?=[A-Z][a-z]?)|\B[A-Z]/, '_\&') =~ %r_*(.*)/
  return $+.downcase
end
to_xml_attributes(hash) click to toggle source
# File lib/crack/util.rb, line 9
def to_xml_attributes(hash)
  hash.map do |k,v|
    %Q{#{Crack::Util.snake_case(k.to_s).sub(/^(.{1,1})/) { |m| m.downcase }}="#{v.to_s.gsub('"', '"')}"}
  end.join(' ')
end