class DefraRuby::Validators::CompaniesHouseService

Public Class Methods

new(company_no) click to toggle source
# File lib/defra_ruby/validators/companies_house_service.rb, line 8
def initialize(company_no)
  @company_no = company_no
  @url = "#{DefraRuby::Validators.configuration.companies_house_host}#{@company_no}"
  @api_key = DefraRuby::Validators.configuration.companies_house_api_key
end

Public Instance Methods

status() click to toggle source
# File lib/defra_ruby/validators/companies_house_service.rb, line 14
def status
  response = RestClient::Request.execute(
    method: :get,
    url: @url,
    user: @api_key,
    password: ""
  )

  json = JSON.parse(response)

  status_is_allowed?(json["company_status"]) ? :active : :inactive
rescue RestClient::ResourceNotFound
  :not_found
end

Private Instance Methods

status_is_allowed?(status) click to toggle source
# File lib/defra_ruby/validators/companies_house_service.rb, line 31
def status_is_allowed?(status)
  %w[active voluntary-arrangement].include?(status)
end