nzbn 0.1.2 → 0.1.5

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
  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