class CompaniesHouseHub::Person
Constants
- DEFAULT_PER_PAGE
- FIND_PATH
Attributes
address[R]
country_of_residence[R]
forename[R]
kind[R]
middle_name[R]
name[R]
nationality[R]
raw_json[R]
surname[R]
title[R]
Public Class Methods
all(options = {})
click to toggle source
# File lib/companies_house_hub/models/person.rb, line 11 def self.all(options = {}) options[:items_per_page] ||= DEFAULT_PER_PAGE company_number = options.delete(:company_number) result = get(format_url(FIND_PATH, company_number: company_number), options) # For some companies, for some reason, this endpoint returns an error, like this: # { # "errors": [ # { # "error": "company-psc-not-found", # "type": "ch:service" # } # ] # } items = result.body.dig(:items) || [] return [] unless items.any? items.map { |person_json| new(person_json) } end
new(json = {})
click to toggle source
# File lib/companies_house_hub/models/person.rb, line 34 def initialize(json = {}) @raw_json = json @name = json.dig(:name) @nationality = json.dig(:nationality) @address = Address.new(json.dig(:address)) @forename = json.dig(:name_elements, :forename) @middle_name = json.dig(:name_elements, :middle_name) @title = json.dig(:name_elements, :title) @surname = json.dig(:name_elements, :surname) end