class SslLabs::EndpointData

Constants

ATTRS

Public Class Methods

from_json(str) click to toggle source
# File lib/ssl_labs/endpoint_data.rb, line 27
def self.from_json(str)
  json = JSON.parse(str)
  endpoint = self.new
  json.each do |k, v|
    case sym = Util.underscore(k).to_sym
    when :ip_address
      endpoint.ip_address = IPAddr.new(v)
    when :details
      endpoint.details = EndpointData::Details.from_hash(v)
    when *ATTRS
      endpoint.send("#{sym}=", v)
    else
      raise ArgumentError, "Unknown key #{k.inspect} (#{sym.inspect})"
    end
  end
  endpoint
end