companies_house_hub 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b8e5df4f7b60295ef0c1074db071ba3e1059b27111badcb84da2ff7a4348088f
4
- data.tar.gz: 52e37cb19a77cc53c5619c12c3f92957ead72464578568a2b5863c4504c24bc8
3
+ metadata.gz: d0674550a52a10c0f5cc3213fc68b1f2de77eb0c855c4dd461e4cb2ee5abaa90
4
+ data.tar.gz: f10d683fde4a56667b020fe5eab40174d4eea7caccb609efe71d1c781b4cd648
5
5
  SHA512:
6
- metadata.gz: 927e9bc1f1f50b31e714a8cdc0f09124e870533cd28c2938a90f3e5a4a2a0e959289d9d69496b0b90a6d243fb7fffd3099f95b95613320584e3bbb59088b3e05
7
- data.tar.gz: 50b9c5ae27a4dc634615a3b5478b67591fdd1340265e50143644651c5b5717bd921400919475f1b29aa0cd83865411fcb4605c90d6e10bfac3875c9bb7552e09
6
+ metadata.gz: c701167997705f15cfa20dd41110011aa17a8cc780e72b83d26127160e3d08a5d0484efb651f6c69b4416b2a3d2eadd3377a81691716a58d7efdc0d807ebc139
7
+ data.tar.gz: af55ae20564e2abc7f2337fab7e7c83410f26fc49264be4e00298f15306771d68bd3aa6095cae27084a415bcc685e02ed3eb7c9b1e21d55f4d0721eb80103f5b
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.add_development_dependency 'bundler', '~> 2.0'
31
31
  spec.add_development_dependency 'dotenv', '~> 2.4.0'
32
32
  spec.add_development_dependency 'pry-byebug'
33
- spec.add_development_dependency 'rake', '~> 10.0'
33
+ spec.add_development_dependency 'rake', '>= 12.3.3'
34
34
  spec.add_development_dependency 'rspec'
35
35
  spec.add_development_dependency 'rubocop'
36
36
  spec.add_development_dependency 'rubocop-rspec'
@@ -4,7 +4,11 @@ require 'companies_house_hub/base_model'
4
4
 
5
5
  module CompaniesHouseHub
6
6
  class Address < BaseModel
7
- attr_reader :address_line1, :address_line2, :postal_code, :locality, :country
7
+ attr_reader :address_line1, :address_line2, :postal_code, :locality, :country, :care_of
8
+ attr_reader :premises
9
+
10
+ alias line1 address_line1
11
+ alias line2 address_line2
8
12
 
9
13
  def initialize(json = {})
10
14
  @address_line1 = json.dig(:address_line_1)
@@ -12,6 +16,8 @@ module CompaniesHouseHub
12
16
  @country = json.dig(:country)
13
17
  @postal_code = json.dig(:postal_code)
14
18
  @locality = json.dig(:locality)
19
+ @care_of = json.dig(:care_of)
20
+ @premises = json.dig(:premises)
15
21
  end
16
22
 
17
23
  def full
@@ -3,6 +3,7 @@
3
3
  require 'companies_house_hub/base_model'
4
4
  require 'companies_house_hub/models/address'
5
5
  require 'companies_house_hub/models/filing_history'
6
+ require 'companies_house_hub/models/person'
6
7
 
7
8
  module CompaniesHouseHub
8
9
  class Company < BaseModel
@@ -63,6 +64,10 @@ module CompaniesHouseHub
63
64
  FilingHistory.all(company_number: @number)
64
65
  end
65
66
 
67
+ def persons
68
+ Person.all(company_number: @number)
69
+ end
70
+
66
71
  def active?
67
72
  @status == 'active'
68
73
  end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module CompaniesHouseHub
4
+ class Person < BaseModel
5
+ FIND_PATH = "/company/:company_number/persons-with-significant-control"
6
+ DEFAULT_PER_PAGE = 90
7
+
8
+ attr_reader :name, :nationality, :kind, :country_of_residence, :forename, :middle_name, :title
9
+ attr_reader :surname, :address, :raw_json
10
+
11
+ def self.all(options = {})
12
+ options[:items_per_page] ||= DEFAULT_PER_PAGE
13
+
14
+ company_number = options.delete(:company_number)
15
+
16
+ result = get(format_url(FIND_PATH, company_number: company_number), options)
17
+
18
+ return [] unless result.body[:items].any?
19
+
20
+ result.body[:items].map do |person_json|
21
+ new(person_json)
22
+ end
23
+ end
24
+
25
+ def initialize(json = {})
26
+ @raw_json = json
27
+ @name = json.dig(:name)
28
+ @nationality = json.dig(:nationality)
29
+ @address = Address.new(json.dig(:address))
30
+ @forename = json.dig(:name_elements, :forename)
31
+ @middle_name = json.dig(:name_elements, :middle_name)
32
+ @title = json.dig(:name_elements, :title)
33
+ @surname = json.dig(:name_elements, :surname)
34
+ end
35
+ end
36
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CompaniesHouseHub
4
- VERSION = '0.1.7'
4
+ VERSION = '0.1.8'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: companies_house_hub
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ricardo Otero
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-04-13 00:00:00.000000000 Z
11
+ date: 2020-09-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -84,16 +84,16 @@ dependencies:
84
84
  name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "~>"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '10.0'
89
+ version: 12.3.3
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - "~>"
94
+ - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '10.0'
96
+ version: 12.3.3
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
@@ -203,6 +203,7 @@ files:
203
203
  - lib/companies_house_hub/models/address.rb
204
204
  - lib/companies_house_hub/models/company.rb
205
205
  - lib/companies_house_hub/models/filing_history.rb
206
+ - lib/companies_house_hub/models/person.rb
206
207
  - lib/companies_house_hub/version.rb
207
208
  homepage: https://github.com/rikas/companies_house_hub
208
209
  licenses: