class Pinnacle::Company

def self.from_json(json_object:)

Returns:
  • (Pinnacle::Company) -

Parameters:
  • json_object (String) --
def self.from_json(json_object:)
  struct = JSON.parse(json_object, object_class: OpenStruct)
  parsed_json = JSON.parse(json_object)
  id = parsed_json["id"]
  created_at = (DateTime.parse(parsed_json["createdAt"]) unless parsed_json["createdAt"].nil?)
  name = parsed_json["name"]
  category = parsed_json["category"]
  address = parsed_json["address"]
  ein = parsed_json["ein"]
  description = parsed_json["description"]
  brand_color = parsed_json["brandColor"]
  logo_url = parsed_json["logoUrl"]
  hero_url = parsed_json["heroUrl"]
  primary_website_url = parsed_json["primaryWebsiteUrl"]
  primary_website_label = parsed_json["primaryWebsiteLabel"]
  primary_phone = parsed_json["primaryPhone"]
  primary_phone_label = parsed_json["primaryPhoneLabel"]
  primary_email = parsed_json["primaryEmail"]
  primary_email_label = parsed_json["primaryEmailLabel"]
  privacy_policy_url = parsed_json["privacyPolicyUrl"]
  tos_url = parsed_json["tosUrl"]
  poc_name = parsed_json["pocName"]
  poc_title = parsed_json["pocTitle"]
  poc_email = parsed_json["pocEmail"]
  opt_in = parsed_json["optIn"]
  opt_out = parsed_json["optOut"]
  opt_out_keywords = parsed_json["optOutKeywords"]
  agent_use_case = parsed_json["agentUseCase"]
  expected_agent_responses = parsed_json["expectedAgentResponses"]
  test_numbers = parsed_json["testNumbers"]
  status = parsed_json["status"]
  additional_websites = parsed_json["additionalWebsites"]&.map do |item|
    item = item.to_json
    Pinnacle::CompanyAdditionalWebsitesItem.from_json(json_object: item)
  end
  additional_emails = parsed_json["additionalEmails"]&.map do |item|
    item = item.to_json
    Pinnacle::CompanyAdditionalEmailsItem.from_json(json_object: item)
  end
  additional_phone_numbers = parsed_json["additionalPhoneNumbers"]&.map do |item|
    item = item.to_json
    Pinnacle::CompanyAdditionalPhoneNumbersItem.from_json(json_object: item)
  end
  new(
    id: id,
    created_at: created_at,
    name: name,
    category: category,
    address: address,
    ein: ein,
    description: description,
    brand_color: brand_color,
    logo_url: logo_url,
    hero_url: hero_url,
    primary_website_url: primary_website_url,
    primary_website_label: primary_website_label,
    primary_phone: primary_phone,
    primary_phone_label: primary_phone_label,
    primary_email: primary_email,
    primary_email_label: primary_email_label,
    privacy_policy_url: privacy_policy_url,
    tos_url: tos_url,
    poc_name: poc_name,
    poc_title: poc_title,
    poc_email: poc_email,
    opt_in: opt_in,
    opt_out: opt_out,
    opt_out_keywords: opt_out_keywords,
    agent_use_case: agent_use_case,
    expected_agent_responses: expected_agent_responses,
    test_numbers: test_numbers,
    status: status,
    additional_websites: additional_websites,
    additional_emails: additional_emails,
    additional_phone_numbers: additional_phone_numbers,
    additional_properties: struct
  )
end