nzbn 0.1.2 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dc28d59b4a7c4dc9c77238af7eeb51ec1410fe25
4
- data.tar.gz: 7a33e4e396c173ebce722c3923bbcebb1e2741db
3
+ metadata.gz: 62a79c4debf304fa199ace61a153f8f3f79a3dc5
4
+ data.tar.gz: 2d3a0400f1d13a25a97aa40cc3ce2e90bab09eac
5
5
  SHA512:
6
- metadata.gz: a1d9c5dcd0497c1ba0d3d2265fe9457873d56d290ae7769d1dab2912a5cf6c80dc0ced76719a1981db69bcd1b6820c1d41c99c1110a224da63caf20f19d87bd9
7
- data.tar.gz: ecb9322f9810a64c86a02c6353fa5d8c1eb30b08627800a4bd3cee81b2bcfbc0f14b6f14b268e8ff58fe40865813e822be2d59e672f1e923083e853338f431c3
6
+ metadata.gz: dc4b12ce75800c864082dcb3d0de49fda2b6315fe2990375937472174868fd2b7aa3bf31fc2e9ca122df6561bfb8513df37552a6724e74f1f297d28a6975d4b6
7
+ data.tar.gz: 101614648820de0f8f29deb3358dc66616ab0272287ed48c1c367665e02aabbc4a0ccec3e1f882035e34c6262edaba50da9d87468bb0222c9abab15166ae1d59
data/.gitignore CHANGED
@@ -8,3 +8,4 @@
8
8
  /spec/reports/
9
9
  /tmp/
10
10
  /nzbn-0.1.0.gem
11
+ /.idea/
data/README.md CHANGED
@@ -25,16 +25,13 @@ Or install it yourself as:
25
25
 
26
26
  $ gem install nzbn
27
27
 
28
- You will also need to set the following ENV variables, in order to access the API. These can be gound on the business.govt.nz website under your login.
29
-
30
- $ NZBN_ID=
31
-
32
- $ NZBN_SECRET=
28
+ You will also need to set the following ENV variables, in order to access the API. These can be found on the business.govt.nz website under your login.
33
29
 
30
+ $ NZBN_KEY=
34
31
 
35
32
  ## Usage
36
33
 
37
- Two functions have been exposed, as per below.
34
+ Three functions have been exposed, as per below.
38
35
 
39
36
  ### Company details by NZBN
40
37
 
data/lib/nzbn/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Nzbn
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.5"
3
3
  end
data/lib/nzbn.rb CHANGED
@@ -3,57 +3,44 @@ require "nzbn/version"
3
3
  module NZBN
4
4
  require 'rubygems'
5
5
  require 'time'
6
- require 'curb'
6
+ require 'rest-client'
7
7
  require 'base64'
8
8
 
9
+ NZBN_API_VERSION="v5"
9
10
 
10
- def self.entities(search_term, entity_status, page_size)
11
- entity_status = "registered" if entity_status.blank?
12
- page_size = 50 if page_size.blank?
13
- r = Curl::Easy.new("https://api.business.govt.nz/services/v3/nzbn/entities?search-term=#{search_term}&entity-status=#{entity_status}&page-size=#{page_size}") do |curl|
14
- curl.headers['Authorization'] = 'Bearer ' + access_token
15
- curl.http_auth_types = :basic
16
- curl.verbose = true
17
- end
18
- r.perform
19
- return JSON.parse(r.body_str)
20
- end
11
+ class DataError < StandardError; end
12
+ class AuthError < StandardError; end
21
13
 
22
- def self.entity(nzbn)
23
- r = Curl::Easy.new("https://api.business.govt.nz/services/v3/nzbn/entities/#{nzbn}") do |curl|
24
- curl.headers['Authorization'] = 'Bearer ' + access_token
25
- curl.http_auth_types = :basic
26
- curl.verbose = true
27
- end
28
- r.perform
29
- return JSON.parse(r.body_str)
14
+ def self.entities(search_term, entity_status, page_size)
15
+ entity_status = "registered" if entity_status.blank?
16
+ page_size = 50 if page_size.blank?
17
+ response = RestClient.get("https://api.business.govt.nz/gateway/nzbn/#{NZBN_API_VERSION}/entities?search-term=#{search_term}&entity-status=#{entity_status}&page-size=#{page_size}",
18
+ { "Ocp-Apim-Subscription-Key": ENV["NZBN_KEY"], accept: 'application/json' })
19
+ begin
20
+ JSON.parse(response.body).with_indifferent_access
21
+ rescue JSON::ParserError
22
+ raise NZBN::DataError, "NZBN API returned bad data"
30
23
  end
31
-
32
- def self.filings(nzbn)
33
- r = Curl::Easy.new("https://api.business.govt.nz/services/v3/nzbn/entities/#{nzbn}/filings") do |curl|
34
- curl.headers['Authorization'] = 'Bearer ' + access_token
35
- curl.http_auth_types = :basic
36
- curl.verbose = true
37
- end
38
- r.perform
39
- return JSON.parse(r.body_str)
24
+ end
25
+
26
+ def self.entity(nzbn)
27
+ response = RestClient.get("https://api.business.govt.nz/gateway/nzbn/#{NZBN_API_VERSION}/entities/#{nzbn}",
28
+ { "Ocp-Apim-Subscription-Key": ENV["NZBN_KEY"], accept: 'application/json' })
29
+ begin
30
+ JSON.parse(response.body).with_indifferent_access
31
+ rescue JSON::ParserError
32
+ raise NZBN::DataError, "NZBN API returned bad data"
40
33
  end
41
-
42
-
43
-
44
- private
45
-
46
-
47
- def self.access_token
48
- c = Curl::Easy.http_post("https://api.business.govt.nz/services/token", "grant_type=client_credentials") do |curl|
49
- curl.headers['grant_type'] = 'client_credentials'
50
- curl.headers['Authorization'] = 'Basic ' + Base64.strict_encode64(ENV["NZBN_ID"] + ":" + ENV["NZBN_SECRET"])
51
- curl.http_auth_types = :basic
52
- curl.verbose = true
53
- end
54
- c.perform
55
- return JSON.parse(c.body_str)["access_token"]
34
+ end
35
+
36
+ def self.filings(nzbn)
37
+ response = RestClient.get("https://api.business.govt.nz/gateway/nzbn/#{NZBN_API_VERSION}/entities/#{nzbn}/filings",
38
+ { "Ocp-Apim-Subscription-Key": ENV["NZBN_KEY"], accept: 'application/json' })
39
+ begin
40
+ JSON.parse(response.body).with_indifferent_access
41
+ rescue JSON::ParserError
42
+ raise NZBN::DataError, "NZBN API returned bad data"
56
43
  end
57
-
44
+ end
58
45
 
59
46
  end
data/nzbn-0.1.4.gem ADDED
Binary file
data/nzbn.gemspec CHANGED
@@ -6,8 +6,8 @@ require "nzbn/version"
6
6
  Gem::Specification.new do |spec|
7
7
  spec.name = "nzbn"
8
8
  spec.version = Nzbn::VERSION
9
- spec.authors = ["T Pearse"]
10
- spec.email = ["t.pearse@gmail.com"]
9
+ spec.authors = ["T Pearse", "Theo Morra"]
10
+ spec.email = ["t.pearse@gmail.com", "git@theom.nz"]
11
11
 
12
12
  spec.summary = %q{Simple and fast authenticating ruby API wrapper for the NZBN API}
13
13
  spec.description = %q{Search, update details and manage New Zealand companies through the NZBN register.}
@@ -30,8 +30,8 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_development_dependency "bundler", "~> 1.15"
33
+ spec.add_development_dependency "bundler", ">= 2.2.33"
34
34
  spec.add_development_dependency "rake", "~> 10.0"
35
- spec.add_development_dependency "curb", "~> 0.96"
35
+ spec.add_runtime_dependency "rest-client", "~> 2.1.0"
36
36
 
37
37
  end
metadata CHANGED
@@ -1,29 +1,30 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nzbn
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - T Pearse
8
+ - Theo Morra
8
9
  autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2018-07-30 00:00:00.000000000 Z
12
+ date: 2023-07-10 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: bundler
15
16
  requirement: !ruby/object:Gem::Requirement
16
17
  requirements:
17
- - - "~>"
18
+ - - ">="
18
19
  - !ruby/object:Gem::Version
19
- version: '1.15'
20
+ version: 2.2.33
20
21
  type: :development
21
22
  prerelease: false
22
23
  version_requirements: !ruby/object:Gem::Requirement
23
24
  requirements:
24
- - - "~>"
25
+ - - ">="
25
26
  - !ruby/object:Gem::Version
26
- version: '1.15'
27
+ version: 2.2.33
27
28
  - !ruby/object:Gem::Dependency
28
29
  name: rake
29
30
  requirement: !ruby/object:Gem::Requirement
@@ -39,23 +40,24 @@ dependencies:
39
40
  - !ruby/object:Gem::Version
40
41
  version: '10.0'
41
42
  - !ruby/object:Gem::Dependency
42
- name: curb
43
+ name: rest-client
43
44
  requirement: !ruby/object:Gem::Requirement
44
45
  requirements:
45
46
  - - "~>"
46
47
  - !ruby/object:Gem::Version
47
- version: '0.96'
48
- type: :development
48
+ version: 2.1.0
49
+ type: :runtime
49
50
  prerelease: false
50
51
  version_requirements: !ruby/object:Gem::Requirement
51
52
  requirements:
52
53
  - - "~>"
53
54
  - !ruby/object:Gem::Version
54
- version: '0.96'
55
+ version: 2.1.0
55
56
  description: Search, update details and manage New Zealand companies through the NZBN
56
57
  register.
57
58
  email:
58
59
  - t.pearse@gmail.com
60
+ - git@theom.nz
59
61
  executables: []
60
62
  extensions: []
61
63
  extra_rdoc_files: []
@@ -69,6 +71,7 @@ files:
69
71
  - bin/setup
70
72
  - lib/nzbn.rb
71
73
  - lib/nzbn/version.rb
74
+ - nzbn-0.1.4.gem
72
75
  - nzbn.gemspec
73
76
  homepage: https://github.com/t-pearse/nzbn
74
77
  licenses:
@@ -91,7 +94,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
94
  version: '0'
92
95
  requirements: []
93
96
  rubyforge_project:
94
- rubygems_version: 2.6.12
97
+ rubygems_version: 2.4.6
95
98
  signing_key:
96
99
  specification_version: 4
97
100
  summary: Simple and fast authenticating ruby API wrapper for the NZBN API