module EtherClient::Attrs

Public Instance Methods

attrs(data) click to toggle source
# File lib/etherclient/attrs.rb, line 2
def attrs(data)
  data.each do |key, value|
    attr_name = underscore(key)
    self.instance_variable_set("@#{attr_name}", value)
    self.class.__send__(:attr_accessor, attr_name)
  end
end
underscore(old_name) click to toggle source
# File lib/etherclient/attrs.rb, line 10
def underscore(old_name)
  new_name = old_name.gsub(/::/, '/').
    gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
    gsub(/([a-z\d])([A-Z])/,'\1_\2').
    tr("-", "_").downcase
end