gus_bir1 1.0.1 → 1.2.0

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