Class: DefraRuby::Validators::CompaniesHouseService

Inherits:
Object
  • Object
show all
Defined in:
lib/defra_ruby/validators/companies_house_service.rb

Instance Method Summary collapse

Constructor Details

#initialize(company_number:, permitted_types: nil) ⇒ CompaniesHouseService

Returns a new instance of CompaniesHouseService.



8
9
10
11
12
13
14
15
16
# File 'lib/defra_ruby/validators/companies_house_service.rb', line 8

def initialize(company_number:, permitted_types: nil)
  @company_number = company_number
  @permitted_types = permitted_types

  validate_permitted_types

  @url = "#{DefraRuby::Validators.configuration.companies_house_host}#{@company_number}"
  @api_key = DefraRuby::Validators.configuration.companies_house_api_key
end

Instance Method Details

#json_responseObject



26
27
28
29
30
31
32
33
34
35
36
# File 'lib/defra_ruby/validators/companies_house_service.rb', line 26

def json_response
  @_json_response ||=
    JSON.parse(
      RestClient::Request.execute(
        method: :get,
        url: @url,
        user: @api_key,
        password: ""
      )
    )
end

#statusObject



18
19
20
21
22
23
24
# File 'lib/defra_ruby/validators/companies_house_service.rb', line 18

def status
  return :unsupported_company_type unless company_type_is_allowed?(json_response)

  status_is_allowed?(json_response) ? :active : :inactive
rescue RestClient::ResourceNotFound
  :not_found
end