gus_bir1 1.0.1 → 1.2.0

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
- SHA1:
3
- metadata.gz: 1dd6c529611bfd16350b95eb343a18c4f2ac8ac8
4
- data.tar.gz: '09271b1f6eaef3ed8a1a318bf3bc2f3d01504d49'
2
+ SHA256:
3
+ metadata.gz: 303c6dcab16075513fc7d7ec639eaa506eb80e71285fef8b947af71d56a2ee35
4
+ data.tar.gz: 2a2ef444e5cbd513ed4843bfd0aa54036fca276807f66695c75b524acea833f0
5
5
  SHA512:
6
- metadata.gz: 36ae1e77385e1c30e9317112170b9480edc5a1b43e5405e55089466933c567cb40557b95769a050cc3ed8b8ede4d709337d202fbdee893cc498286629aa68e3d
7
- data.tar.gz: fc72175a4a771bcddb76b8c94b79a8dcb938d028676906b4f2a0095f0ef765206b18cbc2b90b4876da40c068897b75cca261d276dc5cc8df188c2e5e5e2597e9
6
+ metadata.gz: 1e8d55e8934944df1de91e6ec513a30ae2973fbbe73157c112f92f5575a41daf37d7c06fe96435f9db8c899133971a03e3d5284ed81c4f72a0678147788bd8ea
7
+ data.tar.gz: fd3d7ffb44a5205bc36470d9a1cbfc517c9fd7861f89eff87069cf619b69df957ad317c1e9aee60afbfb12eded4b01a296aabea797cf1b736c9a1a8983945c53
data/.gitignore CHANGED
@@ -9,3 +9,4 @@
9
9
  /tmp/
10
10
  .ruby-gemset
11
11
  .ruby-version
12
+ .idea
data/.travis.yml CHANGED
@@ -5,8 +5,9 @@ env:
5
5
  sudo: false
6
6
  language: ruby
7
7
  rvm:
8
- - 2.4
9
- before_install: gem install bundler -v 1.14.6
8
+ - 2.7.7
9
+ -3.0.5
10
+ before_install: gem install bundler
10
11
 
11
12
  before_script:
12
13
  - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
data/README.md CHANGED
@@ -4,8 +4,8 @@
4
4
  [![Code Climate](https://codeclimate.com/github/espago/gus_bir1/badges/gpa.svg)](https://codeclimate.com/github/espago/gus_bir1)
5
5
  [![Test Coverage](https://codeclimate.com/github/espago/gus_bir1/badges/coverage.svg)](https://codeclimate.com/github/espago/gus_bir1)
6
6
 
7
- Simple, ruby wrapper for REGON database (Baza Internetowa Regon (BIR))(web frontend is reachable at https://wyszukiwarkaregon.stat.gov.pl/appBIR/index.aspx). To access its SOAP API, one needs an USER_KEY issued by REGON administrators available at Regon_Bir@stat.gov.pl.
8
- Official GUS docs http://bip.stat.gov.pl/dzialalnosc-statystyki-publicznej/rejestr-regon/interfejsyapi/jak-skorzystac-informacja-dla-podmiotow-komercyjnych/
7
+ Simple, ruby wrapper for REGON database (Baza Internetowa Regon (BIR))(web frontend is reachable at https://wyszukiwarkaregon.stat.gov.pl/appBIR/index.aspx). To access its SOAP API, one needs an USER_KEY issued by REGON administrators available at regon_bir@stat.gov.pl.
8
+ Official GUS docs https://api.stat.gov.pl/Home/RegonApi
9
9
 
10
10
 
11
11
  ## Installation
data/bin/test ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env bash
2
+
3
+ bundle exec rake test
data/gus_bir1.gemspec CHANGED
@@ -1,13 +1,13 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('../lib', __FILE__)
3
+ lib = File.expand_path('lib', __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require 'gus_bir1/version'
6
6
 
7
7
  Gem::Specification.new do |spec|
8
8
  spec.name = 'gus_bir1'
9
9
  spec.version = GusBir1::VERSION
10
- spec.authors = ['Wacław Łuczak']
10
+ spec.authors = ['Waclaw Luczak']
11
11
  spec.email = ['waclaw@luczak.it']
12
12
 
13
13
  spec.summary = 'Rails GUS API library based on official REGON SOAP api.'
@@ -21,12 +21,12 @@ Gem::Specification.new do |spec|
21
21
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
22
  spec.require_paths = ['lib']
23
23
 
24
- spec.add_development_dependency 'bundler', '~> 1.14'
25
- spec.add_development_dependency 'minitest', '~> 5.0'
26
- spec.add_development_dependency 'rake', '~> 10.0'
27
- spec.add_development_dependency 'rubocop', '~> 0.52'
28
- spec.add_development_dependency 'simplecov', '~> 0'
24
+ spec.add_development_dependency 'bundler'
25
+ spec.add_development_dependency 'minitest'
26
+ spec.add_development_dependency 'rake'
27
+ spec.add_development_dependency 'rubocop'
28
+ spec.add_development_dependency 'simplecov'
29
29
 
30
- spec.add_dependency 'savon', '~> 2.12'
31
- spec.add_dependency 'savon-multipart', '~> 2.1', '>= 2.1.1'
30
+ spec.add_dependency 'savon', '~> 2.14'
31
+ spec.add_dependency 'savon-multipart'
32
32
  end
@@ -42,7 +42,7 @@ module GusBir1
42
42
  end
43
43
  end
44
44
 
45
- def get_full_data(regon, report = 'PublDaneRaportPrawna')
45
+ def get_full_data(regon, report = 'BIR11OsPrawna')
46
46
  set_session_id
47
47
  Response::FullData.new dane_pobierz_pelny_raport(
48
48
  Constants::PARAM_REGON => regon,
@@ -58,7 +58,7 @@ module GusBir1
58
58
  end
59
59
 
60
60
  def find_and_get_full_data(hash)
61
- r = find_by(hash)
61
+ r = find_by(**hash)
62
62
  r.map { |h| get_full_data_from_response(h) }
63
63
  end
64
64
 
@@ -67,7 +67,7 @@ module GusBir1
67
67
  def search_by(search_by, search)
68
68
  set_session_id
69
69
  Response::Search.new(
70
- dane_szukaj(Constants::PARAM_SEARCH => { search_by => search })
70
+ dane_szukaj_podmioty(Constants::PARAM_SEARCH => { search_by => search })
71
71
  ).array
72
72
  end
73
73
 
@@ -85,7 +85,7 @@ module GusBir1
85
85
 
86
86
  def method_missing(method, *args)
87
87
  if savon_client.operations.include? method
88
- response_hash = call(method, args[0]).hash
88
+ response_hash = call(method, args[0]).full_hash
89
89
  response_hash.dig(:envelope, :body, "#{method}_response".to_sym, "#{method}_result".to_sym)
90
90
  else
91
91
  super
@@ -96,7 +96,7 @@ module GusBir1
96
96
  case method
97
97
  when
98
98
  :wyloguj,
99
- :dane_szukaj,
99
+ :dane_szukaj_podmioty,
100
100
  :dane_pobierz_pelny_raport,
101
101
  :dane_komunikat,
102
102
  :zaloguj
@@ -139,9 +139,8 @@ module GusBir1
139
139
 
140
140
  def savon_options(publ: false)
141
141
  params = {
142
- wsdl: Constants::WSDL_URL,
142
+ wsdl: endpoint,
143
143
  namespaces: namespaces(publ: publ),
144
- endpoint: endpoint,
145
144
  env_namespace: :soap,
146
145
  use_wsa_headers: true,
147
146
  soap_version: 2,
@@ -149,7 +148,8 @@ module GusBir1
149
148
  element_form_default: :qualified,
150
149
  multipart: true,
151
150
  log_level: @log_level,
152
- log: @logging
151
+ log: @logging,
152
+ proxy: ENV['GUS_BIR_PROXY_URL']
153
153
  }
154
154
  if defined?(@sid) && @sid.nil? == false
155
155
  params.merge!({headers: { sid: @sid } })
@@ -2,9 +2,8 @@
2
2
 
3
3
  module GusBir1
4
4
  class Constants
5
- WSDL_URL = 'https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl.xsd'
6
- WSDL_ADDRESS_TEST = 'https://Wyszukiwarkaregontest.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc'
7
- WSDL_ADDRESS = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/UslugaBIRzewnPubl.svc'
5
+ WSDL_ADDRESS_TEST = 'https://wyszukiwarkaregontest.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl-ver11-test.wsdl'
6
+ WSDL_ADDRESS = 'https://wyszukiwarkaregon.stat.gov.pl/wsBIR/wsdl/UslugaBIRzewnPubl-ver11-prod.wsdl'
8
7
 
9
8
  WSDL_NS_PUBL = 'http://CIS/BIR/PUBL/2014/07'
10
9
  WSDL_NS = 'http://CIS/BIR/2014/07'
@@ -9,6 +9,8 @@ module GusBir1
9
9
  typ = search_report.type
10
10
  silos_id = search_report.silos_id
11
11
  method = "type_#{typ.to_s.downcase}"
12
+ return unless typ
13
+
12
14
  send(method, silos_id)
13
15
  end
14
16
 
@@ -17,34 +17,43 @@ module GusBir1
17
17
  private
18
18
 
19
19
  def parse_dane(hash)
20
- search_result = OpenStruct.new
21
- search_result.name = hash['Nazwa']
22
- search_result.regon = hash['Regon']
23
- search_result.province = hash['Wojewodztwo']
24
- search_result.district = hash['Powiat']
25
- search_result.community = hash['Gmina']
26
- search_result.city = hash['Miejscowosc']
27
- search_result.zip_code = hash['KodPocztowy']
28
- search_result.street = hash['Ulica']
29
- search_result.type = hash['Typ']
30
- search_result.silos_id = hash['SilosID']
31
- search_result.type_desc = type_info(search_result)
32
- search_result.silos_desc = silos_info(search_result)
33
- search_result.report = report_info(search_result)
20
+ search_result = OpenStruct.new
21
+ search_result.name = hash['Nazwa']
22
+ search_result.regon = hash['Regon']
23
+ search_result.province = hash['Wojewodztwo']
24
+ search_result.district = hash['Powiat']
25
+ search_result.community = hash['Gmina']
26
+ search_result.city = hash['Miejscowosc']
27
+ search_result.zip_code = hash['KodPocztowy']
28
+ search_result.street = hash['Ulica']
29
+ search_result.street_number = hash['NrNieruchomosci']
30
+ search_result.house_number = hash['NrLokalu']
31
+ search_result.street_address = street_address_from(hash)
32
+ search_result.type = hash['Typ']
33
+ search_result.silos_id = hash['SilosID']
34
+ search_result.type_desc = type_info(search_result)
35
+ search_result.silos_desc = silos_info(search_result)
36
+ search_result.report = report_info(search_result)
34
37
  search_result
35
38
  end
36
39
 
37
40
  def type_info(search_result)
41
+ return unless search_result.type
38
42
  Dictionary.szukaj_typ[search_result.type.to_sym]
39
43
  end
40
44
 
41
45
  def silos_info(search_result)
46
+ return unless search_result.silos_id
42
47
  Dictionary.szukaj_silos_id[search_result.silos_id.to_sym]
43
48
  end
44
49
 
45
50
  def report_info(search_result)
46
51
  Report::TypeMapper.get_report_type(search_result)
47
52
  end
53
+
54
+ def street_address_from(data)
55
+ [data['Ulica'], [data['NrNieruchomosci'], data['NrLokalu']].compact.join('/')].join(' ')
56
+ end
48
57
  end
49
58
  end
50
59
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module GusBir1
4
- VERSION = '1.0.1'
4
+ VERSION = '1.2.0'
5
5
  end
metadata CHANGED
@@ -1,83 +1,83 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gus_bir1
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
- - Wacław Łuczak
7
+ - Waclaw Luczak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-07 00:00:00.000000000 Z
11
+ date: 2023-01-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '1.14'
19
+ version: '0'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - "~>"
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '1.14'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: minitest
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '5.0'
33
+ version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - "~>"
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '5.0'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rake
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '10.0'
47
+ version: '0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '10.0'
54
+ version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rubocop
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '0.52'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '0.52'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: simplecov
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
@@ -86,34 +86,28 @@ dependencies:
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.12'
89
+ version: '2.14'
90
90
  type: :runtime
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: '2.12'
96
+ version: '2.14'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: savon-multipart
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "~>"
102
- - !ruby/object:Gem::Version
103
- version: '2.1'
104
101
  - - ">="
105
102
  - !ruby/object:Gem::Version
106
- version: 2.1.1
103
+ version: '0'
107
104
  type: :runtime
108
105
  prerelease: false
109
106
  version_requirements: !ruby/object:Gem::Requirement
110
107
  requirements:
111
- - - "~>"
112
- - !ruby/object:Gem::Version
113
- version: '2.1'
114
108
  - - ">="
115
109
  - !ruby/object:Gem::Version
116
- version: 2.1.1
110
+ version: '0'
117
111
  description:
118
112
  email:
119
113
  - waclaw@luczak.it
@@ -129,6 +123,7 @@ files:
129
123
  - Rakefile
130
124
  - bin/console
131
125
  - bin/setup
126
+ - bin/test
132
127
  - gus_bir1.gemspec
133
128
  - lib/gus_bir1.rb
134
129
  - lib/gus_bir1/client.rb
@@ -160,8 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
160
155
  - !ruby/object:Gem::Version
161
156
  version: '0'
162
157
  requirements: []
163
- rubyforge_project:
164
- rubygems_version: 2.6.13
158
+ rubygems_version: 3.4.5
165
159
  signing_key:
166
160
  specification_version: 4
167
161
  summary: Rails GUS API library based on official REGON SOAP api.