gus_bir1 1.0.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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: fa75fae9eb4869e39cbd5f7ada55f9c3ef8ef0e1
4
+ data.tar.gz: fc3b62c2312732c762fb33064700a38ec996f299
5
+ SHA512:
6
+ metadata.gz: 5165c6fbefb4fdaaa70797cf73d571b57657689b7f327ad872c3cae0cd857bf3a6637dd73ccd358d83486c0d4be43e22d052af83abdaf046fc9fb2a47ac88e13
7
+ data.tar.gz: fbd74765df4b606d123c5750f0c6b4c85b6761440e739c2894f2d3b9a625bf691c0d0c61d8ea718be13582778960150d8a4ee114a0c2e6f6594b696cb814372e
data/.gitignore ADDED
@@ -0,0 +1,11 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
10
+ .ruby-gemset
11
+ .ruby-version
data/.travis.yml ADDED
@@ -0,0 +1,18 @@
1
+ env:
2
+ global:
3
+ - CC_TEST_REPORTER_ID=4061d1f19a14b3a8cf7a721701a4c96426861c793f1709e445256fa37bcb255f
4
+ -
5
+ sudo: false
6
+ language: ruby
7
+ rvm:
8
+ - 2.4
9
+ before_install: gem install bundler -v 1.14.6
10
+
11
+ before_script:
12
+ - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
13
+ - chmod +x ./cc-test-reporter
14
+ - ./cc-test-reporter before-build
15
+ script:
16
+ - COVERAGE=1 rake test
17
+ after_script:
18
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ # Specify your gem's dependencies in gus_bir1.gemspec
6
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Wacław Łuczak
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,185 @@
1
+ # GusBir1
2
+ [![Build Status](https://travis-ci.org/espago/gus_bir1.png?branch=master)](https://travis-ci.org/espago/gus_bir1)
3
+ [![Gem Version](https://badge.fury.io/rb/gus_bir1.svg)](https://badge.fury.io/rb/gus_bir1)
4
+ [![Code Climate](https://codeclimate.com/github/espago/gus_bir1/badges/gpa.svg)](https://codeclimate.com/github/espago/gus_bir1)
5
+ [![Test Coverage](https://codeclimate.com/github/espago/gus_bir1/badges/coverage.svg)](https://codeclimate.com/github/espago/gus_bir1)
6
+
7
+ Simple, ruby wrapper for REGON database (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/
9
+
10
+
11
+ ## Installation
12
+
13
+ Add this line to your application's Gemfile:
14
+
15
+ ```ruby
16
+ gem 'gus_bir1'
17
+ ```
18
+
19
+ And then execute:
20
+
21
+ $ bundle
22
+
23
+ Or install it yourself as:
24
+
25
+ $ gem install gus_bir1
26
+
27
+ ## Usage
28
+
29
+ ### Settings
30
+
31
+ ```ruby
32
+ # /config/initializers/gus_bir1.rb
33
+ # TEST CONF
34
+ GusBir1.production = false
35
+ GusBir1.client_key = 'abcde12345abcde12345'
36
+ ```
37
+
38
+ ### General info
39
+
40
+ #### To check service status:
41
+
42
+ ```ruby
43
+ GusBir1.service_status.to_i
44
+ => 1
45
+ GusBir1.service_status.humanize
46
+ => "usługa dostępna"
47
+ ```
48
+
49
+ #### To check data status
50
+ ```ruby
51
+ GusBir1.status_date_state
52
+ => "18-05-2016"
53
+ ```
54
+
55
+ #### To get session status
56
+ ```ruby
57
+ GusBir1.session_status.to_i
58
+ => 1
59
+ GusBir1.session_status.humanize
60
+ => "sesja istnieje"
61
+ ```
62
+
63
+ ### Get data
64
+ To start querying the GUS database, You can use three methods `GusBir1.find_by`, `GusBir1.get_full_data` and (the best option) - `GusBir1.find_and_get_full_data` with one of the following parameters:
65
+ * regon - single REGON number (either 9 or 14 digits long)
66
+ * krs - single 10 digit KRS number
67
+ * nip - single NIP (10 digits string)
68
+ * regons14 - a collection of REGONs 14 digits long
69
+ * regons9 - a collection of REGONs 9 digits long
70
+ * krss - a collection of KRSs
71
+ * nips - a collection of NIPs
72
+
73
+ #### find_by
74
+ with `regon`
75
+ ```ruby
76
+ response = GusBir1.find_by(regon: '00033150100000')
77
+ => [#<OpenStruct name="GŁÓWNY URZĄD STATYSTYCZNY", regon="00033150100000", province="MAZOWIECKIE", district="m. st. Warszawa", community="Śródmieście", city="Warszawa", zip_code="00-925", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">]
78
+ response.class
79
+ => Array
80
+ response.first
81
+ => #<OpenStruct name="GŁÓWNY URZĄD STATYSTYCZNY", regon="00033150100000", province="MAZOWIECKIE", district="m. st. Warszawa", community="Śródmieście", city="Warszawa", zip_code="00-925", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">
82
+ ```
83
+
84
+ with `nip`
85
+ ```ruby
86
+ response = GusBir1.find_by(nip: '8992689516')
87
+ => [#<OpenStruct name="\"PSP POLSKA\" SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ", regon="02121583300000", province="DOLNOŚLĄSKIE", district="m. Wrocław", community="Wrocław-Stare Miasto", city="Wrocław", zip_code="53-505", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">]
88
+ ```
89
+
90
+ with `krs`
91
+ ```ruby
92
+ response = GusBir1.find_by(krs: '0000352235')
93
+ => [#<OpenStruct name="\"PSP POLSKA\" SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ", regon="02121583300000", province="DOLNOŚLĄSKIE", district="m. Wrocław", community="Wrocław-Stare Miasto", city="Wrocław", zip_code="53-505", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">]
94
+ ```
95
+
96
+ with `regons14` (up to 20 regons)
97
+ ```ruby
98
+ response = GusBir1.find_by(regons14: '00033150100000,02121583300000')
99
+ => [#<OpenStruct name="GŁÓWNY URZĄD STATYSTYCZNY", regon="00033150100000", province="MAZOWIECKIE", district="m. st. Warszawa", community="Śródmieście", city="Warszawa", zip_code="00-925", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">, #<OpenStruct name="\"PSP POLSKA\" SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ", regon="02121583300000", province="DOLNOŚLĄSKIE", district="m. Wrocław", community="Wrocław-Stare Miasto", city="Wrocław", zip_code="53-505", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">]
100
+ ```
101
+
102
+ with `regons9` (up to 20 regons)
103
+ ```ruby
104
+ response = GusBir1.find_by(regons9: '000331501,021215833')
105
+ => [#<OpenStruct name="GŁÓWNY URZĄD STATYSTYCZNY", regon="00033150100000", province="MAZOWIECKIE", district="m. st. Warszawa", community="Śródmieście", city="Warszawa", zip_code="00-925", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">, #<OpenStruct name="\"PSP POLSKA\" SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ", regon="02121583300000", province="DOLNOŚLĄSKIE", district="m. Wrocław", community="Wrocław-Stare Miasto", city="Wrocław", zip_code="53-505", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">]
106
+ ```
107
+
108
+ with `nips` (up to 20 nips)
109
+ ```ruby
110
+ response = GusBir1.find_by(nips: '8992689516,5261040828')
111
+ => [#<OpenStruct name="GŁÓWNY URZĄD STATYSTYCZNY", regon="00033150100000", province="MAZOWIECKIE", district="m. st. Warszawa", community="Śródmieście", city="Warszawa", zip_code="00-925", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">, #<OpenStruct name="\"PSP POLSKA\" SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ", regon="02121583300000", province="DOLNOŚLĄSKIE", district="m. Wrocław", community="Wrocław-Stare Miasto", city="Wrocław", zip_code="53-505", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">]
112
+ ```
113
+
114
+ with `krss` (up to 20 krss)
115
+ ```ruby
116
+ response = GusBir1.find_by(krss: '0000352235')
117
+ => [#<OpenStruct name="\"PSP POLSKA\" SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ", regon="02121583300000", province="DOLNOŚLĄSKIE", district="m. Wrocław", community="Wrocław-Stare Miasto", city="Wrocław", zip_code="53-505", street="ul. Test-Krucza", type="P", silos_id="6", type_desc="Typ jednostki – jednostka prawna", silos_desc="Miejsce prowadzenia działalności jednostki prawnej", report="PublDaneRaportPrawna">]
118
+ ```
119
+
120
+ #### get_full_data
121
+
122
+ If one knows the REGON of a business entity and an detailed report name, a full report can be fetched directly:
123
+ ```ruby
124
+ response = GusBir1.get_full_data('000331501', 'PublDaneRaportPrawna')
125
+ => #<GusBir1::Response::FullData:0x00007f9c180a52d8 @body="<root>\r\n <dane>\r\n <praw_regon14>00033150100000</praw_regon14>\r\n <praw_nip>5261040828</praw_nip>\r\n <praw_nazwa>GŁÓWNY URZĄD STATYSTYCZNY</praw_nazwa>\r\n <praw_nazwaSkrocona>GUS</praw_nazwaSkrocona>\r\n <praw_numerWrejestrzeEwidencji />\r\n <praw_dataPowstania>1975-12-15</praw_dataPowstania>\r\n <praw_dataRozpoczeciaDzialalnosci>1975-12-15</praw_dataRozpoczeciaDzialalnosci>\r\n <praw_dataWpisuDoREGON />\r\n <praw_dataZawieszeniaDzialalnosci />\r\n <praw_dataWznowieniaDzialalnosci />\r\n <praw_dataZaistnieniaZmiany>2009-02-20</praw_dataZaistnieniaZmiany>\r\n <praw_dataZakonczeniaDzialalnosci />\r\n <praw_dataSkresleniazRegon />\r\n <praw_adSiedzKraj_Symbol>PL</praw_adSiedzKraj_Symbol>\r\n <praw_adSiedzWojewodztwo_Symbol>14</praw_adSiedzWojewodztwo_Symbol>\r\n <praw_adSiedzPowiat_Symbol>65</praw_adSiedzPowiat_Symbol>\r\n <praw_adSiedzGmina_Symbol>108</praw_adSiedzGmina_Symbol>\r\n <praw_adSiedzKodPocztowy>00925</praw_adSiedzKodPocztowy>\r\n <praw_adSiedzMiejscowoscPoczty_Symbol>0919810</praw_adSiedzMiejscowoscPoczty_Symbol>\r\n <praw_adSiedzMiejscowosc_Symbol>0919810</praw_adSiedzMiejscowosc_Symbol>\r\n <praw_adSiedzUlica_Symbol>10013</praw_adSiedzUlica_Symbol>\r\n <praw_adSiedzNumerNieruchomosci>208</praw_adSiedzNumerNieruchomosci>\r\n <praw_adSiedzNumerLokalu />\r\n <praw_adSiedzNietypoweMiejsceLokalizacji />\r\n <praw_numerTelefonu>6083000</praw_numerTelefonu>\r\n <praw_numerWewnetrznyTelefonu />\r\n <praw_numerFaksu>0226083863</praw_numerFaksu>\r\n <praw_adresEmail>dgsek@stat.gov.pl</praw_adresEmail>\r\n <praw_adresStronyinternetowej>www.stat.gov.pl</praw_adresStronyinternetowej>\r\n <praw_adresEmail2 />\r\n <praw_adKorKraj_Symbol>PL</praw_adKorKraj_Symbol>\r\n <praw_adKorWojewodztwo_Symbol>14</praw_adKorWojewodztwo_Symbol>\r\n <praw_adKorPowiat_Symbol>65</praw_adKorPowiat_Symbol>\r\n <praw_adKorGmina_Symbol>108</praw_adKorGmina_Symbol>\r\n <praw_adKorKodPocztowy>00925</praw_adKorKodPocztowy>\r\n <praw_adKorMiejscowoscPoczty_Symbol>0919810</praw_adKorMiejscowoscPoczty_Symbol>\r\n <praw_adKorMiejscowosc_Symbol>0919810</praw_adKorMiejscowosc_Symbol>\r\n <praw_adKorUlica_Symbol>14199</praw_adKorUlica_Symbol>\r\n <praw_adKorNumerNieruchomosci>208</praw_adKorNumerNieruchomosci>\r\n <praw_adKorNumerLokalu />\r\n <praw_adKorNietypoweMiejsceLokalizacji />\r\n <praw_adKorNazwaPodmiotuDoKorespondencji />\r\n <praw_adSiedzKraj_Nazwa>POLSKA</praw_adSiedzKraj_Nazwa>\r\n <praw_adSiedzWojewodztwo_Nazwa>MAZOWIECKIE</praw_adSiedzWojewodztwo_Nazwa>\r\n <praw_adSiedzPowiat_Nazwa>m. st. Warszawa</praw_adSiedzPowiat_Nazwa>\r\n <praw_adSiedzGmina_Nazwa>Śródmieście</praw_adSiedzGmina_Nazwa>\r\n <praw_adSiedzMiejscowosc_Nazwa>Warszawa</praw_adSiedzMiejscowosc_Nazwa>\r\n <praw_adSiedzMiejscowoscPoczty_Nazwa>Warszawa</praw_adSiedzMiejscowoscPoczty_Nazwa>\r\n <praw_adSiedzUlica_Nazwa>ul. Test-Krucza</praw_adSiedzUlica_Nazwa>\r\n <praw_adKorKraj_Nazwa />\r\n <praw_adKorWojewodztwo_Nazwa />\r\n <praw_adKorPowiat_Nazwa />\r\n <praw_adKorGmina_Nazwa />\r\n <praw_adKorMiejscowosc_Nazwa />\r\n <praw_adKorMiejscowoscPoczty_Nazwa />\r\n <praw_adKorUlica_Nazwa />\r\n <praw_podstawowaFormaPrawna_Symbol>2</praw_podstawowaFormaPrawna_Symbol>\r\n <praw_szczegolnaFormaPrawna_Symbol>01</praw_szczegolnaFormaPrawna_Symbol>\r\n <praw_formaFinansowania_Symbol>2</praw_formaFinansowania_Symbol>\r\n <praw_formaWlasnosci_Symbol>111</praw_formaWlasnosci_Symbol>\r\n <praw_organZalozycielski_Symbol>050000000</praw_organZalozycielski_Symbol>\r\n <praw_organRejestrowy_Symbol />\r\n <praw_rodzajRejestruEwidencji_Symbol>000</praw_rodzajRejestruEwidencji_Symbol>\r\n <praw_podstawowaFormaPrawna_Nazwa>JEDNOSTKA ORGANIZACYJNA NIEMAJĄCA OSOBOWOŚCI PRAWNEJ</praw_podstawowaFormaPrawna_Nazwa>\r\n <praw_szczegolnaFormaPrawna_Nazwa>ORGANY WŁADZY,ADMINISTRACJI RZĄDOWEJ</praw_szczegolnaFormaPrawna_Nazwa>\r\n <praw_formaFinansowania_Nazwa>JEDNOSTKA BUDŻETOWA</praw_formaFinansowania_Nazwa>\r\n <praw_formaWlasnosci_Nazwa>WŁASNOŚĆ SKARBU PAŃSTWA</praw_formaWlasnosci_Nazwa>\r\n <praw_organZalozycielski_Nazwa>PREZES GŁÓWNEGO URZĘDU STATYSTYCZNEGO</praw_organZalozycielski_Nazwa>\r\n <praw_organRejestrowy_Nazwa />\r\n <praw_rodzajRejestruEwidencji_Nazwa>PODMIOTY UTWORZONE Z MOCY USTAWY</praw_rodzajRejestruEwidencji_Nazwa>\r\n <praw_jednostekLokalnych>0</praw_jednostekLokalnych>\r\n </dane>\r\n</root>">
126
+ ```
127
+
128
+ #### find_and_get_full_data
129
+ ```ruby
130
+ response = GusBir1.find_and_get_full_data(nips: '8992689516,5261040828')
131
+ => [#<GusBir1::Response::FullData:0x00007f9c19087ae8 @body="<root>\r\n <dane>\r\n <praw_regon14>00033150100000</praw_regon14>\r\n <praw_nip>5261040828</praw_nip>\r\n <praw_nazwa>GŁÓWNY URZĄD STATYSTYCZNY</praw_nazwa>\r\n <praw_nazwaSkrocona>GUS</praw_nazwaSkrocona>\r\n <praw_numerWrejestrzeEwidencji />\r\n <praw_dataPowstania>1975-12-15</praw_dataPowstania>\r\n <praw_dataRozpoczeciaDzialalnosci>1975-12-15</praw_dataRozpoczeciaDzialalnosci>\r\n <praw_dataWpisuDoREGON />\r\n <praw_dataZawieszeniaDzialalnosci />\r\n <praw_dataWznowieniaDzialalnosci />\r\n <praw_dataZaistnieniaZmiany>2009-02-20</praw_dataZaistnieniaZmiany>\r\n <praw_dataZxaaakonczeniaDzialalnosci />\r\n <praw_dataSkresleniazRegon />\r\n <praw_adSiedzKraj_Symbol>PL</praw_adSiedzKraj_Symbol>\r\n <praw_adSiedzWojewodztwo_Symbol>14</praw_adSiedzWojewodztwo_Symbol>\r\n <praw_adSiedzPowiat_Symbol>65</praw_adSiedzPowiat_Symbol>\r\n <praw_adSiedzGmina_Symbol>108</praw_adSiedzGmina_Symbol>\r\n <praw_adSiedzKodPocztowy>00925</praw_adSiedzKodPocztowy>\r\n <praw_adSiedzMiejscowoscPoczty_Symbol>0919810</praw_adSiedzMiejscowoscPoczty_Symbol>\r\n <praw_adSiedzMiejscowosc_Symbol>0919810</praw_adSiedzMiejscowosc_Symbol>\r\n <praw_adSiedzUlica_Symbol>10013</praw_adSiedzUlica_Symbol>\r\n <praw_adSiedzNumerNieruchomosci>208</praw_adSiedzNumerNieruchomosci>\r\n <praw_adSiedzNumerLokalu />\r\n <praw_adSiedzNietypoweMiejsceLokalizacji />\r\n <praw_numerTelefonu>6083000</praw_numerTelefonu>\r\n <praw_numerWewnetrznyTelefonu />\r\n <praw_numerFaksu>0226083863</praw_numerFaksu>\r\n <praw_adresEmail>dgsek@stat.gov.pl</praw_adresEmail>\r\n <praw_adresStronyinternetowej>www.stat.gov.pl</praw_adresStronyinternetowej>\r\n <praw_adresEmail2 />\r\n <praw_adKorKraj_Symbol>PL</praw_adKorKraj_Symbol>\r\n <praw_adKorWojewodztwo_Symbol>14</praw_adKorWojewodztwo_Symbol>\r\n <praw_adKorPowiat_Symbol>65</praw_adKorPowiat_Symbol>\r\n <praw_adKorGmina_Symbol>108</praw_adKorGmina_Symbol>\r\n <praw_adKorKodPocztowy>00925</praw_adKorKodPocztowy>\r\n <praw_adKorMiejscowoscPoczty_Symbol>0919810</praw_adKorMiejscowoscPoczty_Symbol>\r\n <praw_adKorMiejscowosc_Symbol>0919810</praw_adKorMiejscowosc_Symbol>\r\n <praw_adKorUlica_Symbol>14199</praw_adKorUlica_Symbol>\r\n <praw_adKorNumerNieruchomosci>208</praw_adKorNumerNieruchomosci>\r\n <praw_adKorNumerLokalu />\r\n <praw_adKorNietypoweMiejsceLokalizacji />\r\n <praw_adKorNazwaPodmiotuDoKorespondencji />\r\n <praw_adSiedzKraj_Nazwa>POLSKA</praw_adSiedzKraj_Nazwa>\r\n <praw_adSiedzWojewodztwo_Nazwa>MAZOWIECKIE</praw_adSiedzWojewodztwo_Nazwa>\r\n <praw_adSiedzPowiat_Nazwa>m. st. Warszawa</praw_adSiedzPowiat_Nazwa>\r\n <praw_adSiedzGmina_Nazwa>Śródmieście</praw_adSiedzGmina_Nazwa>\r\n <praw_adSiedzMiejscowosc_Nazwa>Warszawa</praw_adSiedzMiejscowosc_Nazwa>\r\n <praw_adSiedzMiejscowoscPoczty_Nazwa>Warszawa</praw_adSiedzMiejscowoscPoczty_Nazwa>\r\n <praw_adSiedzUlica_Nazwa>ul. Test-Krucza</praw_adSiedzUlica_Nazwa>\r\n <praw_adKorKraj_Nazwa />\r\n <praw_adKorWojewodztwo_Nazwa />\r\n <praw_adKorPowiat_Nazwa />\r\n <praw_adKorGmina_Nazwa />\r\n <praw_adKorMiejscowosc_Nazwa />\r\n <praw_adKorMiejscowoscPoczty_Nazwa />\r\n <praw_adKorUlica_Nazwa />\r\n <praw_podstawowaFormaPrawna_Symbol>2</praw_podstawowaFormaPrawna_Symbol>\r\n <praw_szczegolnaFormaPrawna_Symbol>01</praw_szczegolnaFormaPrawna_Symbol>\r\n <praw_formaFinansowania_Symbol>2</praw_formaFinansowania_Symbol>\r\n <praw_formaWlasnosci_Symbol>111</praw_formaWlasnosci_Symbol>\r\n <praw_organZalozycielski_Symbol>050000000</praw_organZalozycielski_Symbol>\r\n <praw_organRejestrowy_Symbol />\r\n <praw_rodzajRejestruEwidencji_Symbol>000</praw_rodzajRejestruEwidencji_Symbol>\r\n <praw_podstawowaFormaPrawna_Nazwa>JEDNOSTKA ORGANIZACYJNA NIEMAJĄCA OSOBOWOŚCI PRAWNEJ</praw_podstawowaFormaPrawna_Nazwa>\r\n <praw_szczegolnaFormaPrawna_Nazwa>ORGANY WŁADZY,ADMINISTRACJI RZĄDOWEJ</praw_szczegolnaFormaPrawna_Nazwa>\r\n <praw_formaFinansowania_Nazwa>JEDNOSTKA BUDŻETOWA</praw_formaFinansowania_Nazwa>\r\n <praw_formaWlasnosci_Nazwa>WŁASNOŚĆ SKARBU PAŃSTWA</praw_formaWlasnosci_Nazwa>\r\n <praw_organZalozycielski_Nazwa>PREZES GŁÓWNEGO URZĘDU STATYSTYCZNEGO</praw_organZalozycielski_Nazwa>\r\n <praw_organRejestrowy_Nazwa />\r\n <praw_rodzajRejestruEwidencji_Nazwa>PODMIOTY UTWORZONE Z MOCY USTAWY</praw_rodzajRejestruEwidencji_Nazwa>\r\n <praw_jednostekLokalnych>0</praw_jednostekLokalnych>\r\n </dane>\r\n</root>">, #<GusBir1::Response::FullData:0x00007f9c1833c708 @body="<root>\r\n <dane>\r\n <praw_regon14>02121583300000</praw_regon14>\r\n <praw_nip>8992689516</praw_nip>\r\n <praw_nazwa>\"PSP POLSKA\" SPÓŁKA Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ</praw_nazwa>\r\n <praw_nazwaSkrocona>PSP POLSKA SP. Z O.O.,WROCŁAW</praw_nazwaSkrocona>\r\n <praw_numerWrejestrzeEwidencji>0000352235</praw_numerWrejestrzeEwidencji>\r\n <praw_dataPowstania>2010-03-24</praw_dataPowstania>\r\n <praw_dataRozpoczeciaDzialalnosci>2010-03-24</praw_dataRozpoczeciaDzialalnosci>\r\n <praw_dataWpisuDoREGON>2010-04-01</praw_dataWpisuDoREGON>\r\n <praw_dataZawieszeniaDzialalnosci />\r\n <praw_dataWznowieniaDzialalnosci />\r\n <praw_dataZaistnieniaZmiany>2010-12-15</praw_dataZaistnieniaZmiany>\r\n <praw_dataZakonczeniaDzialalnosci />\r\n <praw_dataSkresleniazRegon />\r\n <praw_adSiedzKraj_Symbol>PL</praw_adSiedzKraj_Symbol>\r\n <praw_adSiedzWojewodztwo_Symbol>02</praw_adSiedzWojewodztwo_Symbol>\r\n <praw_adSiedzPowiat_Symbol>64</praw_adSiedzPowiat_Symbol>\r\n <praw_adSiedzGmina_Symbol>059</praw_adSiedzGmina_Symbol>\r\n <praw_adSiedzKodPocztowy>53505</praw_adSiedzKodPocztowy>\r\n <praw_adSiedzMiejscowoscPoczty_Symbol>0986946</praw_adSiedzMiejscowoscPoczty_Symbol>\r\n <praw_adSiedzMiejscowosc_Symbol>0986946</praw_adSiedzMiejscowosc_Symbol>\r\n <praw_adSiedzUlica_Symbol>10013</praw_adSiedzUlica_Symbol>\r\n <praw_adSiedzNumerNieruchomosci>15</praw_adSiedzNumerNieruchomosci>\r\n <praw_adSiedzNumerLokalu />\r\n <praw_adSiedzNietypoweMiejsceLokalizacji />\r\n <praw_numerTelefonu>791834782</praw_numerTelefonu>\r\n <praw_numerWewnetrznyTelefonu />\r\n <praw_numerFaksu>717351551</praw_numerFaksu>\r\n <praw_adresEmail>psp.polska@gmail.com</praw_adresEmail>\r\n <praw_adresStronyinternetowej />\r\n <praw_adresEmail2 />\r\n <praw_adKorKraj_Symbol>PL</praw_adKorKraj_Symbol>\r\n <praw_adKorWojewodztwo_Symbol>02</praw_adKorWojewodztwo_Symbol>\r\n <praw_adKorPowiat_Symbol>64</praw_adKorPowiat_Symbol>\r\n <praw_adKorGmina_Symbol>059</praw_adKorGmina_Symbol>\r\n <praw_adKorKodPocztowy>53505</praw_adKorKodPocztowy>\r\n <praw_adKorMiejscowoscPoczty_Symbol>0986946</praw_adKorMiejscowoscPoczty_Symbol>\r\n <praw_adKorMiejscowosc_Symbol>0986946</praw_adKorMiejscowosc_Symbol>\r\n <praw_adKorUlica_Symbol>10793</praw_adKorUlica_Symbol>\r\n <praw_adKorNumerNieruchomosci>15</praw_adKorNumerNieruchomosci>\r\n <praw_adKorNumerLokalu />\r\n <praw_adKorNietypoweMiejsceLokalizacji />\r\n <praw_adKorNazwaPodmiotuDoKorespondencji />\r\n <praw_adSiedzKraj_Nazwa>POLSKA</praw_adSiedzKraj_Nazwa>\r\n <praw_adSiedzWojewodztwo_Nazwa>DOLNOŚLĄSKIE</praw_adSiedzWojewodztwo_Nazwa>\r\n <praw_adSiedzPowiat_Nazwa>m. Wrocław</praw_adSiedzPowiat_Nazwa>\r\n <praw_adSiedzGmina_Nazwa>Wrocław-Stare Miasto</praw_adSiedzGmina_Nazwa>\r\n <praw_adSiedzMiejscowosc_Nazwa>Wrocław</praw_adSiedzMiejscowosc_Nazwa>\r\n <praw_adSiedzMiejscowoscPoczty_Nazwa>Wrocław</praw_adSiedzMiejscowoscPoczty_Nazwa>\r\n <praw_adSiedzUlica_Nazwa>ul. Test-Krucza</praw_adSiedzUlica_Nazwa>\r\n <praw_adKorKraj_Nazwa />\r\n <praw_adKorWojewodztwo_Nazwa />\r\n <praw_adKorPowiat_Nazwa />\r\n <praw_adKorGmina_Nazwa />\r\n <praw_adKorMiejscowosc_Nazwa />\r\n <praw_adKorMiejscowoscPoczty_Nazwa />\r\n <praw_adKorUlica_Nazwa />\r\n <praw_podstawowaFormaPrawna_Symbol>1</praw_podstawowaFormaPrawna_Symbol>\r\n <praw_szczegolnaFormaPrawna_Symbol>17</praw_szczegolnaFormaPrawna_Symbol>\r\n <praw_formaFinansowania_Symbol>1</praw_formaFinansowania_Symbol>\r\n <praw_formaWlasnosci_Symbol>214</praw_formaWlasnosci_Symbol>\r\n <praw_organZalozycielski_Symbol />\r\n <praw_organRejestrowy_Symbol>071930010</praw_organRejestrowy_Symbol>\r\n <praw_rodzajRejestruEwidencji_Symbol>138</praw_rodzajRejestruEwidencji_Symbol>\r\n <praw_podstawowaFormaPrawna_Nazwa>OSOBA PRAWNA</praw_podstawowaFormaPrawna_Nazwa>\r\n <praw_szczegolnaFormaPrawna_Nazwa>SPÓŁKI Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ</praw_szczegolnaFormaPrawna_Nazwa>\r\n <praw_formaFinansowania_Nazwa>JEDNOSTKA SAMOFINANSUJĄCA NIE BĘDĄCA JEDNOSTKĄ BUDŻETOWĄ LUB SAMORZĄDOWYM ZAKŁADEM BUDŻETOWYM</praw_formaFinansowania_Nazwa>\r\n <praw_formaWlasnosci_Nazwa>WŁASNOŚĆ KRAJOWYCH OSÓB FIZYCZNYCH</praw_formaWlasnosci_Nazwa>\r\n <praw_organZalozycielski_Nazwa />\r\n <praw_organRejestrowy_Nazwa>SĄD REJONOWY DLA WROCŁAWIA FABRYCZNEJ WE WROCŁAWIU, VI WYDZIAŁ GOSPODARCZY KRAJOWEGO REJESTRU SĄDOWEGO</praw_organRejestrowy_Nazwa>\r\n <praw_rodzajRejestruEwidencji_Nazwa>REJESTR PRZEDSIĘBIORCÓW</praw_rodzajRejestruEwidencji_Nazwa>\r\n <praw_jednostekLokalnych>0</praw_jednostekLokalnych>\r\n </dane>\r\n</root>">]
132
+ response.size
133
+ => 2
134
+ response.class
135
+ => Array
136
+ response.first.class
137
+ => GusBir1::Response::FullData
138
+ response.first.to_h
139
+ => {"praw_regon14"=>"00033150100000", "praw_nip"=>"5261040828", "praw_nazwa"=>"GŁÓWNY URZĄD STATYSTYCZNY", "praw_nazwaSkrocona"=>"GUS", "praw_numerWrejestrzeEwidencji"=>nil, "praw_dataPowstania"=>#<Date: 1975-12-15 ((2442762j,0s,0n),+0s,2299161j)>, "praw_dataRozpoczeciaDzialalnosci"=>#<Date: 1975-12-15 ((2442762j,0s,0n),+0s,2299161j)>, "praw_dataWpisuDoREGON"=>nil, "praw_dataZawieszeniaDzialalnosci"=>nil, "praw_dataWznowieniaDzialalnosci"=>nil, "praw_dataZaistnieniaZmiany"=>#<Date: 2009-02-20 ((2454883j,0s,0n),+0s,2299161j)>, "praw_dataZakonczeniaDzialalnosci"=>nil, "praw_dataSkresleniazRegon"=>nil, "praw_adSiedzKraj_Symbol"=>"PL", "praw_adSiedzWojewodztwo_Symbol"=>"14", "praw_adSiedzPowiat_Symbol"=>"65", "praw_adSiedzGmina_Symbol"=>"108", "praw_adSiedzKodPocztowy"=>"00925", "praw_adSiedzMiejscowoscPoczty_Symbol"=>"0919810", "praw_adSiedzMiejscowosc_Symbol"=>"0919810", "praw_adSiedzUlica_Symbol"=>"10013", "praw_adSiedzNumerNieruchomosci"=>"208", "praw_adSiedzNumerLokalu"=>nil, "praw_adSiedzNietypoweMiejsceLokalizacji"=>nil, "praw_numerTelefonu"=>"6083000", "praw_numerWewnetrznyTelefonu"=>nil, "praw_numerFaksu"=>"0226083863", "praw_adresEmail"=>"dgsek@stat.gov.pl", "praw_adresStronyinternetowej"=>"www.stat.gov.pl", "praw_adresEmail2"=>nil, "praw_adKorKraj_Symbol"=>"PL", "praw_adKorWojewodztwo_Symbol"=>"14", "praw_adKorPowiat_Symbol"=>"65", "praw_adKorGmina_Symbol"=>"108", "praw_adKorKodPocztowy"=>"00925", "praw_adKorMiejscowoscPoczty_Symbol"=>"0919810", "praw_adKorMiejscowosc_Symbol"=>"0919810", "praw_adKorUlica_Symbol"=>"14199", "praw_adKorNumerNieruchomosci"=>"208", "praw_adKorNumerLokalu"=>nil, "praw_adKorNietypoweMiejsceLokalizacji"=>nil, "praw_adKorNazwaPodmiotuDoKorespondencji"=>nil, "praw_adSiedzKraj_Nazwa"=>"POLSKA", "praw_adSiedzWojewodztwo_Nazwa"=>"MAZOWIECKIE", "praw_adSiedzPowiat_Nazwa"=>"m. st. Warszawa", "praw_adSiedzGmina_Nazwa"=>"Śródmieście", "praw_adSiedzMiejscowosc_Nazwa"=>"Warszawa", "praw_adSiedzMiejscowoscPoczty_Nazwa"=>"Warszawa", "praw_adSiedzUlica_Nazwa"=>"ul. Test-Krucza", "praw_adKorKraj_Nazwa"=>nil, "praw_adKorWojewodztwo_Nazwa"=>nil, "praw_adKorPowiat_Nazwa"=>nil, "praw_adKorGmina_Nazwa"=>nil, "praw_adKorMiejscowosc_Nazwa"=>nil, "praw_adKorMiejscowoscPoczty_Nazwa"=>nil, "praw_adKorUlica_Nazwa"=>nil, "praw_podstawowaFormaPrawna_Symbol"=>"2", "praw_szczegolnaFormaPrawna_Symbol"=>"01", "praw_formaFinansowania_Symbol"=>"2", "praw_formaWlasnosci_Symbol"=>"111", "praw_organZalozycielski_Symbol"=>"050000000", "praw_organRejestrowy_Symbol"=>nil, "praw_rodzajRejestruEwidencji_Symbol"=>"000", "praw_podstawowaFormaPrawna_Nazwa"=>"JEDNOSTKA ORGANIZACYJNA NIEMAJĄCA OSOBOWOŚCI PRAWNEJ", "praw_szczegolnaFormaPrawna_Nazwa"=>"ORGANY WŁADZY,ADMINISTRACJI RZĄDOWEJ", "praw_formaFinansowania_Nazwa"=>"JEDNOSTKA BUDŻETOWA", "praw_formaWlasnosci_Nazwa"=>"WŁASNOŚĆ SKARBU PAŃSTWA", "praw_organZalozycielski_Nazwa"=>"PREZES GŁÓWNEGO URZĘDU STATYSTYCZNEGO", "praw_organRejestrowy_Nazwa"=>nil, "praw_rodzajRejestruEwidencji_Nazwa"=>"PODMIOTY UTWORZONE Z MOCY USTAWY", "praw_jednostekLokalnych"=>"0"}
140
+ response.first.body
141
+ => "<root>\r\n <dane>\r\n <praw_regon14>00033150100000</praw_regon14>\r\n <praw_nip>5261040828</praw_nip>\r\n <praw_nazwa>GŁÓWNY URZĄD STATYSTYCZNY</praw_nazwa>\r\n <praw_nazwaSkrocona>GUS</praw_nazwaSkrocona>\r\n <praw_numerWrejestrzeEwidencji />\r\n <praw_dataPowstania>1975-12-15</praw_dataPowstania>\r\n <praw_dataRozpoczeciaDzialalnosci>1975-12-15</praw_dataRozpoczeciaDzialalnosci>\r\n <praw_dataWpisuDoREGON />\r\n <praw_dataZawieszeniaDzialalnosci />\r\n <praw_dataWznowieniaDzialalnosci />\r\n <praw_dataZaistnieniaZmiany>2009-02-20</praw_dataZaistnieniaZmiany>\r\n <praw_dataZakonczeniaDzialalnosci />\r\n <praw_dataSkresleniazRegon />\r\n <praw_adSiedzKraj_Symbol>PL</praw_adSiedzKraj_Symbol>\r\n <praw_adSiedzWojewodztwo_Symbol>14</praw_adSiedzWojewodztwo_Symbol>\r\n <praw_adSiedzPowiat_Symbol>65</praw_adSiedzPowiat_Symbol>\r\n <praw_adSiedzGmina_Symbol>108</praw_adSiedzGmina_Symbol>\r\n <praw_adSiedzKodPocztowy>00925</praw_adSiedzKodPocztowy>\r\n <praw_adSiedzMiejscowoscPoczty_Symbol>0919810</praw_adSiedzMiejscowoscPoczty_Symbol>\r\n <praw_adSiedzMiejscowosc_Symbol>0919810</praw_adSiedzMiejscowosc_Symbol>\r\n <praw_adSiedzUlica_Symbol>10013</praw_adSiedzUlica_Symbol>\r\n <praw_adSiedzNumerNieruchomosci>208</praw_adSiedzNumerNieruchomosci>\r\n <praw_adSiedzNumerLokalu />\r\n <praw_adSiedzNietypoweMiejsceLokalizacji />\r\n <praw_numerTelefonu>6083000</praw_numerTelefonu>\r\n <praw_numerWewnetrznyTelefonu />\r\n <praw_numerFaksu>0226083863</praw_numerFaksu>\r\n <praw_adresEmail>dgsek@stat.gov.pl</praw_adresEmail>\r\n <praw_adresStronyinternetowej>www.stat.gov.pl</praw_adresStronyinternetowej>\r\n <praw_adresEmail2 />\r\n <praw_adKorKraj_Symbol>PL</praw_adKorKraj_Symbol>\r\n <praw_adKorWojewodztwo_Symbol>14</praw_adKorWojewodztwo_Symbol>\r\n <praw_adKorPowiat_Symbol>65</praw_adKorPowiat_Symbol>\r\n <praw_adKorGmina_Symbol>108</praw_adKorGmina_Symbol>\r\n <praw_adKorKodPocztowy>00925</praw_adKorKodPocztowy>\r\n <praw_adKorMiejscowoscPoczty_Symbol>0919810</praw_adKorMiejscowoscPoczty_Symbol>\r\n <praw_adKorMiejscowosc_Symbol>0919810</praw_adKorMiejscowosc_Symbol>\r\n <praw_adKorUlica_Symbol>14199</praw_adKorUlica_Symbol>\r\n <praw_adKorNumerNieruchomosci>208</praw_adKorNumerNieruchomosci>\r\n <praw_adKorNumerLokalu />\r\n <praw_adKorNietypoweMiejsceLokalizacji />\r\n <praw_adKorNazwaPodmiotuDoKorespondencji />\r\n <praw_adSiedzKraj_Nazwa>POLSKA</praw_adSiedzKraj_Nazwa>\r\n <praw_adSiedzWojewodztwo_Nazwa>MAZOWIECKIE</praw_adSiedzWojewodztwo_Nazwa>\r\n <praw_adSiedzPowiat_Nazwa>m. st. Warszawa</praw_adSiedzPowiat_Nazwa>\r\n <praw_adSiedzGmina_Nazwa>Śródmieście</praw_adSiedzGmina_Nazwa>\r\n <praw_adSiedzMiejscowosc_Nazwa>Warszawa</praw_adSiedzMiejscowosc_Nazwa>\r\n <praw_adSiedzMiejscowoscPoczty_Nazwa>Warszawa</praw_adSiedzMiejscowoscPoczty_Nazwa>\r\n <praw_adSiedzUlica_Nazwa>ul. Test-Krucza</praw_adSiedzUlica_Nazwa>\r\n <praw_adKorKraj_Nazwa />\r\n <praw_adKorWojewodztwo_Nazwa />\r\n <praw_adKorPowiat_Nazwa />\r\n <praw_adKorGmina_Nazwa />\r\n <praw_adKorMiejscowosc_Nazwa />\r\n <praw_adKorMiejscowoscPoczty_Nazwa />\r\n <praw_adKorUlica_Nazwa />\r\n <praw_podstawowaFormaPrawna_Symbol>2</praw_podstawowaFormaPrawna_Symbol>\r\n <praw_szczegolnaFormaPrawna_Symbol>01</praw_szczegolnaFormaPrawna_Symbol>\r\n <praw_formaFinansowania_Symbol>2</praw_formaFinansowania_Symbol>\r\n <praw_formaWlasnosci_Symbol>111</praw_formaWlasnosci_Symbol>\r\n <praw_organZalozycielski_Symbol>050000000</praw_organZalozycielski_Symbol>\r\n <praw_organRejestrowy_Symbol />\r\n <praw_rodzajRejestruEwidencji_Symbol>000</praw_rodzajRejestruEwidencji_Symbol>\r\n <praw_podstawowaFormaPrawna_Nazwa>JEDNOSTKA ORGANIZACYJNA NIEMAJĄCA OSOBOWOŚCI PRAWNEJ</praw_podstawowaFormaPrawna_Nazwa>\r\n <praw_szczegolnaFormaPrawna_Nazwa>ORGANY WŁADZY,ADMINISTRACJI RZĄDOWEJ</praw_szczegolnaFormaPrawna_Nazwa>\r\n <praw_formaFinansowania_Nazwa>JEDNOSTKA BUDŻETOWA</praw_formaFinansowania_Nazwa>\r\n <praw_formaWlasnosci_Nazwa>WŁASNOŚĆ SKARBU PAŃSTWA</praw_formaWlasnosci_Nazwa>\r\n <praw_organZalozycielski_Nazwa>PREZES GŁÓWNEGO URZĘDU STATYSTYCZNEGO</praw_organZalozycielski_Nazwa>\r\n <praw_organRejestrowy_Nazwa />\r\n <praw_rodzajRejestruEwidencji_Nazwa>PODMIOTY UTWORZONE Z MOCY USTAWY</praw_rodzajRejestruEwidencji_Nazwa>\r\n <praw_jednostekLokalnych>0</praw_jednostekLokalnych>\r\n </dane>\r\n</root>"
142
+ ```
143
+
144
+ ## Example
145
+
146
+ ```ruby
147
+ company = OpenStruct.new
148
+
149
+ gus_response = GusBir1.find_and_get_full_data(nip: 5261040828)
150
+ if gus_response.first
151
+ gus_data = gus_response.first.to_h
152
+ prefix = gus_data.first.first.split('_').first
153
+ company.name = gus_data["#{prefix}_nazwaSkrocona"]
154
+ company.name = gus_data["#{prefix}_nazwa"] if company.name.empty?
155
+ company.address = gus_data["#{prefix}_adSiedzUlica_Nazwa"]
156
+ company.address += " " + gus_data["#{prefix}_adSiedzNumerNieruchomosci"] if gus_data["#{prefix}_adSiedzNumerNieruchomosci"]
157
+ company.address += "/#{gus_data["#{prefix}_adSiedzNumerLokalu"]}" if gus_data["#{prefix}_adSiedzNumerLokalu"]
158
+ company.zip = gus_data["#{prefix}_adSiedzKodPocztowy"].insert(2,'-')
159
+ company.city = gus_data["#{prefix}_adSiedzMiejscowoscPoczty_Nazwa"]
160
+ company.country = gus_data["#{prefix}_adSiedzKraj_Nazwa"]
161
+ company.regon = gus_data["#{prefix}_regon14"] if gus_data["#{prefix}_regon14"]
162
+ company.regon = gus_data["#{prefix}_regon9"] if gus_data["#{prefix}_regon9"]
163
+ company.nip = gus_data["#{prefix}_nip"] if gus_data["#{prefix}_nip"]
164
+ end
165
+
166
+ company
167
+ => #<OpenStruct name="GUS", address="ul. Test-Krucza 208", zip="00-925", city="Warszawa", country="POLSKA", regon="00033150100000", nip="5261040828">
168
+ ```
169
+
170
+
171
+ ## Development
172
+
173
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `COVERAGE=1 rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
174
+
175
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
176
+
177
+ ## Contributing
178
+
179
+ Bug reports and pull requests are welcome on GitHub at https://github.com/espago/gus_bir1.
180
+
181
+
182
+ ## License
183
+
184
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
185
+
data/Rakefile ADDED
@@ -0,0 +1,12 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'bundler/gem_tasks'
4
+ require 'rake/testtask'
5
+
6
+ Rake::TestTask.new(:test) do |t|
7
+ t.libs << 'test'
8
+ t.libs << 'lib'
9
+ t.test_files = FileList['test/**/*_test.rb']
10
+ end
11
+
12
+ task default: :test
data/bin/console ADDED
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require 'bundler/setup'
5
+ require 'gus_bir1'
6
+
7
+ # You can add fixtures and/or initialization code here to make experimenting
8
+ # with your gem easier. You can also use a different console, if you like.
9
+
10
+ # (If you use this, don't forget to add pry to your Gemfile!)
11
+ # require "pry"
12
+ # Pry.start
13
+
14
+ require 'irb'
15
+ IRB.start(__FILE__)
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/gus_bir1.gemspec ADDED
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('../lib', __FILE__)
4
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
+ require 'gus_bir1/version'
6
+
7
+ Gem::Specification.new do |spec|
8
+ spec.name = 'gus_bir1'
9
+ spec.version = GusBir1::VERSION
10
+ spec.authors = ['Wacław Łuczak']
11
+ spec.email = ['waclaw@luczak.it']
12
+
13
+ spec.summary = 'Rails GUS API library based on official REGON SOAP api.'
14
+ spec.homepage = 'https://github.com/espago/gus_bir1'
15
+ spec.license = 'MIT'
16
+
17
+ spec.files = `git ls-files -z`.split("\x0").reject do |f|
18
+ f.match(%r{^(test|spec|features)/})
19
+ end
20
+ spec.bindir = 'exe'
21
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
22
+ spec.require_paths = ['lib']
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'
29
+
30
+ spec.add_dependency 'savon', '~> 2'
31
+ spec.add_dependency 'savon-multipart', '~> 2'
32
+ end
data/lib/gus_bir1.rb ADDED
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'gus_bir1/version'
4
+ require 'gus_bir1/constants'
5
+ require 'gus_bir1/client'
6
+ require 'gus_bir1/dictionary'
7
+ require 'gus_bir1/response/simple'
8
+ require 'gus_bir1/response/search'
9
+ require 'gus_bir1/response/full_data'
10
+ require 'gus_bir1/report/types'
11
+ require 'gus_bir1/report/type_mapper'
12
+ require 'gus_bir1/errors'
13
+ require 'forwardable'
14
+ require 'ostruct'
15
+
16
+ module GusBir1
17
+ class << self
18
+ extend Forwardable
19
+
20
+ def_delegators :client, :production, :client_key, :service_status,
21
+ :session_status, :status_date_state, :find_by, :find_and_get_full_data,
22
+ :get_full_data
23
+ def_delegators :client, :production=, :client_key=
24
+
25
+ def service_available?
26
+ client.service_status.to_i == 1
27
+ end
28
+
29
+ private
30
+
31
+ def client
32
+ @client ||= GusBir1::Client.new
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,167 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ class Client
5
+ SESSION_TIMEOUT = 3600
6
+ attr_accessor :production, :client_key
7
+
8
+ def service_status
9
+ v = get_value(Constants::PARAM_PARAM_NAME => Constants::PARAM_SERVICE_STATUS)
10
+ Response::Simple.new(v, Constants::PARAM_SERVICE_STATUS)
11
+ end
12
+
13
+ def session_status
14
+ v = get_value(Constants::PARAM_PARAM_NAME => Constants::PARAM_SESSION_STATUS)
15
+ Response::Simple.new(v, Constants::PARAM_SESSION_STATUS)
16
+ end
17
+
18
+ def status_date_state
19
+ set_session_id
20
+ get_value(Constants::PARAM_PARAM_NAME => Constants::PARAM_STATUS_DATE_STATE)
21
+ end
22
+
23
+ def find_by(nip: nil, regon: nil, krs: nil, nips: nil, krss: nil, regons14: nil, regons9: nil)
24
+ types = [nip, regon, krs, nips, krss, regons14, regons9].compact
25
+ raise TooMuchTypesSelected if types.size > 1
26
+ raise NoOneTypeSelected if types.empty?
27
+ if nip
28
+ search_by Constants::SEARCH_TYPE_NIP, nip
29
+ elsif regon
30
+ search_by Constants::SEARCH_TYPE_REGON, regon
31
+ elsif krs
32
+ search_by Constants::SEARCH_TYPE_KRS, krs
33
+ elsif nips
34
+ search_by Constants::SEARCH_TYPE_NIPS, nips
35
+ elsif regons9
36
+ search_by Constants::SEARCH_TYPE_REGONS_9, regons9
37
+ elsif regons14
38
+ search_by Constants::SEARCH_TYPE_REGONS_14, regons14
39
+ elsif krss
40
+ search_by Constants::SEARCH_TYPE_KRSS, krss
41
+ end
42
+ end
43
+
44
+ def get_full_data(regon, report = 'PublDaneRaportPrawna')
45
+ set_session_id
46
+ Response::FullData.new dane_pobierz_pelny_raport(
47
+ Constants::PARAM_REGON => regon,
48
+ Constants::PARAM_REPORT_NAME => report
49
+ )
50
+ end
51
+
52
+ def get_full_data_from_response(hash)
53
+ get_full_data(
54
+ hash.regon,
55
+ Report::TypeMapper.get_report_type(hash)
56
+ )
57
+ end
58
+
59
+ def find_and_get_full_data(hash)
60
+ r = find_by(hash)
61
+ r.map { |h| get_full_data_from_response(h) }
62
+ end
63
+
64
+ private
65
+
66
+ def search_by(search_by, search)
67
+ set_session_id
68
+ Response::Search.new(
69
+ dane_szukaj(Constants::PARAM_SEARCH => { search_by => search })
70
+ ).array
71
+ end
72
+
73
+ def namespaces(publ: true)
74
+ {
75
+ 'xmlns:ns' => publ ? Constants::WSDL_NS_PUBL : Constants::WSDL_NS,
76
+ 'xmlns:dat' => Constants::WSDL_NS_DATA_CONTRACT
77
+ }
78
+ end
79
+
80
+ def endpoint
81
+ return Constants::WSDL_ADDRESS if @production
82
+ Constants::WSDL_ADDRESS_TEST
83
+ end
84
+
85
+ def method_missing(method, *args)
86
+ if savon_client.operations.include? method
87
+ response_hash = call(method, args[0]).hash
88
+ response_hash.dig(:envelope, :body, "#{method}_response".to_sym, "#{method}_result".to_sym)
89
+ else
90
+ super
91
+ end
92
+ end
93
+
94
+ def call(method, message)
95
+ case method
96
+ when
97
+ :zaloguj,
98
+ :wyloguj,
99
+ :dane_szukaj,
100
+ :dane_pobierz_pelny_raport,
101
+ :dane_komunikat
102
+ savon_client_publ.call(method, message: message)
103
+ else
104
+ savon_client.call(method, message: message)
105
+ end
106
+ end
107
+
108
+ def set_session_id
109
+ return @sid if sid_active
110
+ @sid_exp = Time.now + SESSION_TIMEOUT
111
+ @sid = zaloguj(Constants::PARAM_USER_KEY => @client_key)
112
+ clear_savon_clients
113
+ end
114
+
115
+ def sid_active
116
+ @sid && Time.now < @sid_exp
117
+ end
118
+
119
+ def clear_session
120
+ logout if sid_active
121
+ @sid = nil
122
+ @sid_exp = nil
123
+ clear_savon_clients
124
+ end
125
+
126
+ def logout
127
+ return unless sid_active
128
+ wyloguj(Constants::PARAM_SESSION_ID => @sid)
129
+ end
130
+
131
+ def savon_client_publ
132
+ @savon_client_publ ||= Savon.client(savon_options(publ: true))
133
+ end
134
+
135
+ def savon_client
136
+ @savon_client ||= Savon.client(savon_options)
137
+ end
138
+
139
+ def savon_options(publ: false)
140
+ {
141
+ wsdl: Constants::WSDL_URL,
142
+ namespaces: namespaces(publ: publ),
143
+ endpoint: endpoint,
144
+ env_namespace: :soap,
145
+ use_wsa_headers: true,
146
+ soap_version: 2,
147
+ namespace_identifier: :ns,
148
+ element_form_default: :qualified,
149
+ multipart: true,
150
+ log_level: :debug,
151
+ log: false,
152
+ headers: { sid: @sid }
153
+ }
154
+ end
155
+
156
+ def clear_savon_clients
157
+ @savon_client = nil
158
+ @savon_client_publ = nil
159
+ end
160
+
161
+ def savon_api_client
162
+ @savon_api_client ||= GusBir1::SavonApiClient.new
163
+ end
164
+ end
165
+ end
166
+ require 'savon'
167
+ require 'savon-multipart'
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
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'
8
+
9
+ WSDL_NS_PUBL = 'http://CIS/BIR/PUBL/2014/07'
10
+ WSDL_NS = 'http://CIS/BIR/2014/07'
11
+ WSDL_NS_DATA_CONTRACT = 'http://CIS/BIR/PUBL/2014/07/DataContract'
12
+
13
+ PARAM_USER_KEY = 'pKluczUzytkownika'
14
+ PARAM_SESSION_ID = 'pIdentyfikatorSesji'
15
+ PARAM_CAPTCHA = 'pCaptcha'
16
+ PARAM_SEARCH = 'pParametryWyszukiwania'
17
+ PARAM_REGON = 'pRegon'
18
+ PARAM_REPORT_NAME = 'pNazwaRaportu'
19
+ PARAM_PARAM_NAME = 'pNazwaParametru'
20
+
21
+ SEARCH_TYPE_NIP = 'dat:Nip'
22
+ SEARCH_TYPE_KRS = 'dat:Krs'
23
+ SEARCH_TYPE_REGON = 'dat:Regon'
24
+ SEARCH_TYPE_NIPS = 'dat:Nipy'
25
+ SEARCH_TYPE_KRSS = 'dat:Krsy'
26
+ SEARCH_TYPE_REGONS_9 = 'dat:Regony9zn'
27
+ SEARCH_TYPE_REGONS_14 = 'dat:Regony14zn'
28
+
29
+ PARAM_STATUS_DATE_STATE = 'StanDanych'
30
+ PARAM_MESSAGE_CODE = 'KomunikatKod'
31
+ PARAM_MESSAGE = 'KomunikatTresc'
32
+ PARAM_SESSION_STATUS = 'StatusSesji'
33
+ PARAM_SERVICE_STATUS = 'StatusUslugi'
34
+ PARAM_SERVICE_MESSAGE = 'KomunikatUslugi'
35
+
36
+ SERVICE_UNAVAILABLE = 0
37
+ SERVICE_AVAILABLE = 1
38
+ SERVICE_TECHNICAL_BREAK = 2
39
+
40
+ NEED_TO_CHECK_CAPTCHA = 1
41
+ TO_FEW_IDENTIFIERS = 2
42
+ NOT_FOUND = 4
43
+ NO_ACCESS_TO_REPORT = 5
44
+ SESSION_ERROR = 7
45
+ end
46
+ end
@@ -0,0 +1,271 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ class Dictionary
5
+ class << self
6
+ def status_uslugi
7
+ {
8
+ '0': 'usługa niedostępna',
9
+ '1': 'usługa dostępna',
10
+ '2': 'przerwa techniczna'
11
+ }
12
+ end
13
+ alias StatusUslugi status_uslugi
14
+
15
+ def status_sesji
16
+ {
17
+ '1': 'sesja istnieje',
18
+ '0': 'sesja nie istnieje'
19
+ }
20
+ end
21
+ alias StatusSesji status_sesji
22
+
23
+ def szukaj_typ
24
+ {
25
+ P: 'Typ jednostki – jednostka prawna',
26
+ F: 'Typ jednostki – jednostka fizyczna (os. fizyczna prowadząca działalność gospodarczą)',
27
+ LP: 'Typ jednostki – jednostka lokalna jednostki prawnej',
28
+ LF: 'Typ jednostki – jednostka lokalna jednostki fizycznej'
29
+ }
30
+ end
31
+
32
+ def szukaj_silos_id
33
+ {
34
+ '1': 'Miejsce prowadzenia działalności zarejestrowanej w CEIDG',
35
+ '2': 'Miejsce prowadzenia działalności Rolniczej',
36
+ '3': 'Miejsce prowadzenia działalności pozostałej',
37
+ '4': 'Miejsce prowadzenia działalności zlikwidowanej w starym systemie KRUPGN',
38
+ '6': 'Miejsce prowadzenia działalności jednostki prawnej'
39
+ }
40
+ end
41
+
42
+ def podstawowa_forma_prawna
43
+ {
44
+ 1 => 'OSOBA PRAWNA',
45
+ 2 => 'JEDNOSTKA ORGANIZACYJNA NIEMAJĄCA OSOBOWOŚCI PRAWNEJ',
46
+ 9 => 'OSOBA FIZYCZNA PROWADZĄCA DZIAŁALNOŚĆ GOSPODARCZĄ'
47
+ }
48
+ end
49
+
50
+ # def szczegolna_forma_prawna
51
+ # {
52
+ # 01 => 'ORGANY WŁADZY,ADMINISTRACJI RZĄDOWEJ',
53
+ # 02 => 'ORGANY KONTROLI PAŃSTWOWEJ I OCHRONY PRAWA',
54
+ # 03 => 'WSPÓLNOTY SAMORZĄDOWE',
55
+ # 06 => 'SĄDY I TRYBUNAŁY',
56
+ # 09 => 'SKARB PAŃSTWA',
57
+ # 14 => 'EUROPEJSKIE ZGRUPOWANIA INTERESÓW GOSPODARCZYCH',
58
+ # 15 => 'SPÓŁKI PARTNERSKIE',
59
+ # 16 => 'SPÓŁKI AKCYJNE',
60
+ # 17 => 'SPÓŁKI Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ',
61
+ # 18 => 'SPÓŁKI JAWNE',
62
+ # 19 => 'SPÓŁKI CYWILNE PROWADZĄCE DZIAŁALNOŚĆ W OPARCIU O UMOWĘ ZAWARTĄ NA PODSTAWIE KODEKSU CYWILNEGO',
63
+ # 20 => 'SPÓŁKI KOMANDYTOWE',
64
+ # 21 => 'SPÓŁKI KOMANDYTOWO - AKCYJNE',
65
+ # 22 => 'SPÓŁKI EUROPEJSKIE',
66
+ # 23 => 'SPÓŁKI PRZEWIDZIANE W PRZEPISACH INNYCH USTAW NIŻ KODEKS SPÓŁEK HANDLOWYCH I KODEKS CYWILNY LUB FORMY PRAWNE, DO KTÓRYCH STOSUJE SIĘ PRZEPISY O SPÓŁKACH',
67
+ # 24 => 'PRZEDSIĘBIORSTWA PAŃSTWOWE',
68
+ # 25 => 'PRZEDSIĘBIORSTWA KOMUNALNE',
69
+ # 26 => 'TOWARZYSTWA UBEZPIECZEŃ WZAJEMNYCH',
70
+ # 28 => 'PAŃSTWOWE JEDNOSTKI ORGANIZACYJNE',
71
+ # 29 => 'GMINNE SAMORZĄDOWE JEDNOSTKI ORGANIZACYJNE',
72
+ # 30 => 'POWIATOWE SAMORZĄDOWE JEDNOSTKI ORGANIZACYJNE',
73
+ # 31 => 'WOJEWÓDZKIE SAMORZĄDOWE JEDNOSTKI ORGANIZACYJNE',
74
+ # 32 => 'INSTYTUCJE GOSPODARKI BUDŻETOWEJ',
75
+ # 34 => 'TOWARZYSTWA REASEKURACJI WZAJEMNEJ',
76
+ # 35 => 'GŁÓWNE ODDZIAŁY ZAGRANICZNYCH ZAKŁADÓW REASEKURACJI WZAJEMNEJ',
77
+ # 40 => 'SPÓŁDZIELNIE',
78
+ # 42 => 'SPÓŁDZIELNIE EUROPEJSKIE',
79
+ # 44 => 'UCZELNIE',
80
+ # 46 => 'SAMODZIELNE PUBLICZNE ZAKŁADY OPIEKI ZDROWOTNEJ',
81
+ # 48 => 'FUNDACJE',
82
+ # 49 => 'FUNDUSZE',
83
+ # 50 => 'KOŚCIÓŁ KATOLICKI',
84
+ # 51 => 'INNE KOŚCIOŁY I ZWIĄZKI WYZNANIOWE',
85
+ # 53 => 'EUROPEJSKIE UGRUPOWANIA WSPÓŁPRACY TERYTORIALNEJ',
86
+ # 55 => 'STOWARZYSZENIA',
87
+ # 60 => 'ORGANIZACJE SPOŁECZNE ODDZIELNIE NIEWYMIENIONE',
88
+ # 65 => 'INSTYTUTY BADAWCZE',
89
+ # 70 => 'PARTIE POLITYCZNE',
90
+ # 72 => 'ZWIĄZKI ZAWODOWE',
91
+ # 73 => 'ORGANIZACJE PRACODAWCÓW',
92
+ # 76 => 'SAMORZĄD GOSPODARCZY I ZAWODOWY',
93
+ # 79 => 'ODDZIAŁY PRZEDSIĘBIORCÓW ZAGRANICZNYCH',
94
+ # 80 => 'PRZEDSTAWICIELSTWA ZAGRANICZNE',
95
+ # 81 => 'PRZEDSZKOLA PUBLICZNE',
96
+ # 82 => 'PRZEDSZKOLA NIEPUBLICZNE',
97
+ # 83 => 'SZKOŁY PUBLICZNE PODSTAWOWE',
98
+ # 84 => 'SZKOŁY PUBLICZNE GIMNAZJA',
99
+ # 85 => 'WSPÓLNOTY MIESZKANIOWE',
100
+ # 86 => 'SZKOŁY PUBLICZNE PONADGIMNAZJALNE',
101
+ # 87 => 'SZKOŁY PUBLICZNE ARTYSTYCZNE',
102
+ # 88 => 'SZKOŁY NIEPUBLICZNE PODSTAWOWE',
103
+ # 89 => 'SZKOŁY NIEPUBLICZNE GIMNAZJA',
104
+ # 90 => 'ZWIĄZKI GRUP PRODUCENTÓW ROLNYCH',
105
+ # 91 => 'SZKOŁY NIEPUBLICZNE PONADGIMNAZJALNE',
106
+ # 92 => 'SZKOŁY NIEPUBLICZNE ARTYSTYCZNE',
107
+ # 93 => 'PLACÓWKI SYSTEMU OŚWIATOWEGO PUBLICZNE',
108
+ # 94 => 'PLACÓWKI SYSTEMU OŚWIATOWEGO NIEPUBLICZNE',
109
+ # 95 => 'INNE JEDNOSTKI ORGANIZACYJNE SYSTEMU OŚWIATY PUBLICZNE',
110
+ # 96 => 'INNE JEDNOSTKI ORGANIZACYJNE SYSTEMU OŚWIATY NIEPUBLICZNE',
111
+ # 97 => 'ZESPOŁY SZKÓŁ I PLACÓWEK SYSTEMU OŚWIATY PUBLICZNE',
112
+ # 98 => 'ZESPOŁY SZKÓŁ I PLACÓWEK SYSTEMU OŚWIATY NIEPUBLICZNE',
113
+ # 99 => 'BEZ SZCZEGÓLNEJ FORMY PRAWNEJ',
114
+ # 019 => 'SPÓŁKI CYWILNE PROWADZĄCE DZIAŁALNOŚĆ NA PODSTAWIE UMOWY ZAWARTEJ ZGODNIE Z KODEKSEM CYWILNYM',
115
+ # 023 => 'SPÓŁKI PRZEWIDZIANE W PRZEPISACH INNYCH USTAW NIŻ KODEKS SPÓŁEK HANDLOWYCH I KODEKS CYWILNY LUB FORMY PRAWNE, DO KTÓRYCH STOSUJE SIĘ PRZEPISY O SPÓŁKACH',
116
+ # 044 => 'UCZELNIE',
117
+ # 049 => 'FUNDUSZE',
118
+ # 050 => 'KOŚCIÓŁ KATOLICKI',
119
+ # 051 => 'INNE KOŚCIOŁY I ZWIĄZKI WYZNANIOWE',
120
+ # 053 => 'EUROPEJSKIE UGRUPOWANIA WSPÓŁPRACY TERYTORIALNEJ',
121
+ # 055 => 'STOWARZYSZENIA NIEWPISANE DO KRS',
122
+ # 060 => 'ORGANIZACJE SPOŁECZNE ODDZIELNIE NIEWYMIENIONE NIEWPISANE DO KRS',
123
+ # 070 => 'PARTIE POLITYCZNE',
124
+ # 076 => 'SAMORZĄDY GOSPODARCZE I ZAWODOWE NIEWPISANE DO KRS',
125
+ # 080 => 'PRZEDSTAWICIELSTWA ZAGRANICZNE',
126
+ # 085 => 'WSPÓLNOTY MIESZKANIOWE',
127
+ # 099 => 'OSOBY FIZYCZNE PROWADZĄCE DZIAŁALNOŚĆ GOSPODARCZĄ',
128
+ # 114 => 'EUROPEJSKIE ZGRUPOWANIA INTERESÓW GOSPODARCZYCH',
129
+ # 116 => 'SPÓŁKI AKCYJNE',
130
+ # 117 => 'SPÓŁKI Z OGRANICZONĄ ODPOWIEDZIALNOŚCIĄ',
131
+ # 118 => 'SPÓŁKI JAWNE',
132
+ # 115 => 'SPÓŁKI PARTNERSKIE',
133
+ # 120 => 'SPÓŁKI KOMANDYTOWE',
134
+ # 121 => 'SPÓŁKI KOMANDYTOWO - AKCYJNE',
135
+ # 122 => 'SPÓŁKI EUROPEJSKIE',
136
+ # 124 => 'PRZEDSIĘBIORSTWA PAŃSTWOWE',
137
+ # 126 => 'TOWARZYSTWA UBEZPIECZEŃ WZAJEMNYCH',
138
+ # 132 => 'INSTYTUCJE GOSPODARKI BUDŻETOWEJ',
139
+ # 133 => 'ZWIĄZKI ZAWODOWE ROLNIKÓW INDYWIDUALNYCH',
140
+ # 134 => 'TOWARZYSTWA REASEKURACJI WZAJEMNEJ',
141
+ # 135 => 'GŁÓWNE ODDZIAŁY ZAGRANICZNYCH ZAKŁADÓW REASEKURACJI',
142
+ # 136 => 'GŁÓWNE ODDZIAŁY ZAGRANICZNYCH ODDZIAŁÓW UBEZPIECZEŃ',
143
+ # 136 => 'GŁÓWNE ODDZIAŁY ZAGRANICZNYCH ZAKŁADÓW UBEZPIECZEŃ',
144
+ # 137 => 'OGÓLNOKRAJOWE ZRZESZENIA MIĘDZYBRANŻOWE',
145
+ # 138 => 'OGÓLNOKRAJOWE ZWIĄZKI MIĘDZYBRANŻOWE',
146
+ # 140 => 'SPÓŁDZIELNIE',
147
+ # 142 => 'SPÓŁDZIELNIE EUROPEJSKIE',
148
+ # 143 => 'ZWIĄZKI ROLNIKÓW, KÓŁEK I ORGANIZACJI ROLNICZYCH',
149
+ # 145 => 'ZWIĄZKI ROLNICZYCH ZRZESZEŃ BRANŻOWYCH',
150
+ # 146 => 'SAMODZIELNE PUBLICZNE ZAKŁADY OPIEKI ZDROWOTNEJ',
151
+ # 147 => 'CECHY RZEMIEŚLNICZE',
152
+ # 148 => 'FUNDACJE',
153
+ # 152 => 'IZBY RZEMIEŚLNICZE',
154
+ # 154 => 'ZWIĄZEK RZEMIOSŁA POLSKIEGO',
155
+ # 155 => 'STOWARZYSZENIA',
156
+ # 156 => 'ZWIĄZKI STOWARZYSZEŃ',
157
+ # 157 => 'STOWARZYSZENIA KULTURY FIZYCZNEJ',
158
+ # 158 => 'ZWIĄZKI SPORTOWE',
159
+ # 159 => 'POLSKIE ZWIĄZKI SPORTOWE',
160
+ # 160 => 'INNE ORGANIZACJE SPOŁECZNE LUB ZAWODOWE',
161
+ # 161 => 'KOLUMNY TRANSPORTU SANITARNEGO',
162
+ # 162 => 'STOWARZYSZENIA KULTURY FIZYCZNEJ O ZASIĘGU OGÓLNOKRAJOWYM',
163
+ # 163 => 'ZRZESZENIA HANDLU I USŁUG',
164
+ # 164 => 'ZRZESZENIA TRANSPORTU',
165
+ # 165 => 'INSTYTUTY BADAWCZE',
166
+ # 141 => 'JEDNOSTKI BADAWCZO-ROZWOJOWE',
167
+ # 166 => 'OGÓLNOKRAJOWE REPREZENTACJE ZRZESZEŃ HANDLU I USŁUG',
168
+ # 167 => 'OGÓLNOKRAJOWE REPREZENTACJE ZRZESZEŃ TRANSPORTU',
169
+ # 168 => 'INNE ORGANIZACJE PODMIOTÓW GOSPODARCZYCH',
170
+ # 169 => 'IZBY GOSPODARCZE',
171
+ # 171 => 'PRZEDSIĘBIORSTWA ZAGRANICZNE',
172
+ # 172 => 'ZWIĄZKI ZAWODOWE',
173
+ # 174 => 'ZWIĄZKI PRACODAWCÓW',
174
+ # 175 => 'FEDERACJE/KONFEDERACJE ZWIĄZKÓW PRACODAWCÓW',
175
+ # 177 => 'KÓŁKA ROLNICZE',
176
+ # 178 => 'ROLNICZE ZRZESZENIA BRANŻOWE',
177
+ # 179 => 'ODDZIAŁY ZAGRANICZNYCH PRZEDSIĘBIORCÓW',
178
+ # 180 => 'SPÓŁDZIELCZE KASY OSZCZĘDNOŚCIOWO-KREDYTOWE',
179
+ # 181 => 'STOWARZYSZENIA OGRODOWE',
180
+ # 182 => 'ZWIĄZKI STOWARZYSZEŃ OGRODOWYCH',
181
+ # 183 => 'JEDNOSTKI TERENOWE STOWARZYSZEŃ POSIADAJĄCYCH OSOBOWOŚĆ PRAWNĄ',
182
+ # 184 => 'JEDNOSTKI ORGANIZACYJNE ZWIĄZKÓW ZAWODOWYCH POSIADAJĄCE OSOBOWOŚĆ PRAWNĄ',
183
+ # 381 => 'PRZEDSZKOLA PUBLICZNE',
184
+ # 382 => 'PRZEDSZKOLA NIEPUBLICZNE',
185
+ # 383 => 'PUBLICZNE SZKOŁY PODSTAWOWE',
186
+ # 384 => 'PUBLICZNE GIMNAZJA',
187
+ # 386 => 'PUBLICZNE SZKOŁY PONADGIMNAZJALNE',
188
+ # 387 => 'PUBLICZNE SZKOŁY ARTYSTYCZNE',
189
+ # 388 => 'NIEPUBLICZNE SZKOŁY PODSTAWOWE',
190
+ # 389 => 'NIEPUBLICZNE GIMNAZJA',
191
+ # 391 => 'NIEPUBLICZNE SZKOŁY PONADGIMNAZJALNE',
192
+ # 392 => 'NIEPUBLICZNE SZKOŁY ARTYSTYCZNE',
193
+ # 393 => 'PUBLICZNE PLACÓWKI SYSTEMU OŚWIATY',
194
+ # 394 => 'NIEPUBLICZNE PLACÓWKI SYSTEMU OŚWIATY',
195
+ # 395 => 'INNE PUBLICZNE JEDNOSTKI ORGANIZACYJNE SYSTEMU OŚWIATY',
196
+ # 396 => 'INNE NIEPUBLICZNE JEDNOSTKI ORGANIZACYJNE SYSTEMU OŚWIATY',
197
+ # 397 => 'PUBLICZNE ZESPOŁY SZKÓŁ I PLACÓWEK SYSTEMU OŚWIATY',
198
+ # 398 => 'NIEPUBLICZNE ZESPOŁY SZKÓŁ I PLACÓWEK SYSTEMU OŚWIATY',
199
+ # 401 => 'ORGANY WŁADZY, ADMINISTRACJI RZĄDOWEJ',
200
+ # 402 => 'ORGANY KONTROLI PAŃSTWOWEJ I OCHRONY PRAWA',
201
+ # 403 => 'WSPÓLNOTY SAMORZĄDOWE',
202
+ # 406 => 'SĄDY I TRYBUNAŁY',
203
+ # 409 => 'SKARB PAŃSTWA',
204
+ # 428 => 'PAŃSTWOWE JEDNOSTKI ORGANIZACYJNE',
205
+ # 429 => 'GMINNE SAMORZĄDOWE JEDNOSTKI ORGANIZACYJNE',
206
+ # 430 => 'POWIATOWE SAMORZĄDOWE JEDNOSTKI ORGANIZACYJNE',
207
+ # 431 => 'WOJEWÓDZKIE SAMORZĄDOWE JEDNOSTKI ORGANIZACYJNE',
208
+ # 439 => 'INNE PAŃSTWOWE LUB SAMORZĄDOWE OSOBY PRAWNE W ROZUMIENIU ART. 9 PKT 14 USTAWY Z DNIA 27 SIERPNIA 2009 R. O FINANSACH PUBLICZNYCH (DZ. U. Z 2013 R. POZ. 885, Z PÓŹ. ZM.)',
209
+ # 999 => 'BEZ SZCZEGÓLNEJ FORMY PRAWNEJ',
210
+ # }
211
+ # end
212
+
213
+ # def forma_finansowania
214
+ # {
215
+ # 0 => 'JEDNOSTKA LOKALNA NIE BILANSUJĄCA SAMODZIELNIE',
216
+ # 1 => 'JEDNOSTKA SAMOFINANSUJĄCA NIE BĘDĄCA JEDNOSTKĄ BUDŻETOWĄ LUB SAMORZĄDOWYM ZAKŁADEM BUDŻETOWYM',
217
+ # 2 => 'JEDNOSTKA BUDŻETOWA',
218
+ # 3 => 'SAMORZĄDOWY ZAKŁAD BUDŻETOWY',
219
+ # 4 => 'GOSPODARSTWO POMOCNICZE JEDNOSTKI BUDŻETOWEJ',
220
+ # 5 => 'JEDNOSTKA LOKALNA SAMODZIELNIE BILANSUJĄCA',
221
+ # }
222
+ # end
223
+
224
+ # def forma_wlasnosci
225
+ # {
226
+ # 111 => 'WŁASNOŚĆ SKARBU PAŃSTWA',
227
+ # 112 => 'WŁASNOŚĆ PAŃSTWOWYCH OSÓB PRAWNYCH',
228
+ # 113 => 'WŁASNOŚĆ JEDNOSTEK SAMORZĄDU TERYTORIALNEGO LUB SAMORZĄDOWYCH OSÓB PRAWNYCH',
229
+ # 121 => 'WŁASNOŚĆ MIESZANA W SEKTORZE PUBLICZNYM Z PRZEWAGĄ WŁASNOŚCI SKARBU PAŃSTWA',
230
+ # 122 => 'WŁASNOŚĆ MIESZANA W SEKTORZE PUBLICZNYM Z PRZEWAGĄ WŁASNOŚCI PAŃSTWOWYCH OSÓB PRAWNYCH',
231
+ # 123 => 'WŁASNOŚĆ MIESZANA W SEKTORZE PUBLICZNYM Z PRZEWAGĄ WŁASNOŚCI JEDNOSTEK SAMORZĄDU TERYTORIALNEGO LUB SAMORZĄDOWYCH OSÓB PRAWNYCH',
232
+ # 127 => 'WŁASNOŚĆ MIESZANA W SEKTORZE PUBLICZNYM Z BRAKIEM PRZEWAGI KTÓREGOKOLWIEK RODZAJU WŁASNOŚCI PUBLICZNEJ',
233
+ # 131 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z PRZEWAGĄ WŁASNOŚCI SEKTORA PUBLICZNEGO, W TYM Z PRZEWAGĄ WŁASNOŚCI SKARBU PAŃSTWA',
234
+ # 132 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z PRZEWAGĄ WŁASNOŚCI SEKTORA PUBLICZNEGO, W TYM Z PRZEWAGĄ WŁASNOŚCI PAŃSTWOWYCH OSÓB PRAWNYCH',
235
+ # 133 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z PRZEWAGĄ WŁASNOŚCI SEKTORA PUBLICZNEGO, W TYM Z PRZEWAGĄ WŁASNOŚCI JEDNOSTEK SAMORZĄDU TERYTORIALNEGO LUB SAMORZĄDOWYCH OSÓB PRAWNYCH',
236
+ # 137 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z PRZEWAGĄ WŁASNOŚCI SEKTORA PUBLICZNEGO Z BRAKIEM PRZEWAGI KTÓREGOKOLWIEK RODZAJU WŁASNOŚCI PUBLICZNEJ',
237
+ # 214 => 'WŁASNOŚĆ KRAJOWYCH OSÓB FIZYCZNYCH',
238
+ # 215 => 'WŁASNOŚĆ PRYWATNA KRAJOWA POZOSTAŁA',
239
+ # 216 => 'WŁASNOŚĆ ZAGRANICZNA',
240
+ # 224 => 'WŁASNOŚĆ MIESZANA W SEKTORZE PRYWATNYM Z PRZEWAGĄ WŁASNOŚCI KRAJOWYCH OSÓB FIZYCZNYCH',
241
+ # 225 => 'WŁASNOŚĆ MIESZANA W SEKTORZE PRYWATNYM Z PRZEWAGĄ WŁASNOŚCI PRYWATNEJ KRAJOWEJ POZOSTAŁEJ',
242
+ # 226 => 'WŁASNOŚĆ MIESZANA W SEKTORZE PRYWATNYM Z PRZEWAGĄ WŁASNOŚCI ZAGRANICZNEJ',
243
+ # 227 => 'WŁASNOŚĆ MIESZANA W SEKTORZE PRYWATNYM Z BRAKIEM PRZEWAGI KTÓREGOKOLWIEK RODZAJU WŁASNOŚCI PRYWATNEJ',
244
+ # 234 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z PRZEWAGĄ WŁASNOŚCI SEKTORA PRYWATNEGO, W TYM Z PRZEWAGĄ WŁASNOŚCI KRAJOWYCH OSÓB FIZYCZNYCH',
245
+ # 235 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z PRZEWAGĄ WŁASNOŚCI SEKTORA PRYWATNEGO, W TYM Z PRZEWAGĄ WŁASNOŚCI PRYWATNEJ KRAJOWEJ POZOSTAŁEJ',
246
+ # 236 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z PRZEWAGĄ WŁASNOŚCI SEKTORA PRYWATNEGO, W TYM Z PRZEWAGĄ WŁASNOŚCI ZAGRANICZNEJ',
247
+ # 237 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z PRZEWAGĄ WŁASNOŚCI SEKTORA PRYWATNEGO Z BRAKIEM PRZEWAGI KTÓREGOKOLWIEK RODZAJU WŁASNOŚCI PRYWATNEJ',
248
+ # 331 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z TAKIM SAMYM UDZIAŁEM WŁASNOŚCI SEKTORA PUBLICZNEGO I PRYWATNEGO Z NAJWYŻSZYM UDZIAŁEM WŁASNOŚCI SKARBU PAŃSTWA W KAPITALE OGÓŁEM',
249
+ # 332 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z TAKIM SAMYM UDZIAŁEM WŁASNOŚCI SEKTORA PUBLICZNEGO I PRYWATNEGO Z NAJWYŻSZYM UDZIAŁEM WŁASNOŚCI PAŃSTWOWYCH OSÓB PRAWNYCH W KAPITALE OGÓŁEM',
250
+ # 333 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z TAKIM SAMYM UDZIAŁEM WŁASNOŚCI SEKTORA PUBLICZNEGO I PRYWATNEGO Z NAJWYŻSZYM UDZIAŁEM WŁASNOŚCI JEDNOSTEK SAMORZĄDU TERYTORIALNEGO LUB SAMORZĄDOWYCH OSÓB PRAWNYCH',
251
+ # 334 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z TAKIM SAMYM UDZIAŁEM WŁASNOŚCI SEKTORA PUBLICZNEGO I PRYWATNEGO Z NAJWYŻSZYM UDZIAŁEM WŁASNOŚCI KRAJOWYCH OSÓB FIZYCZNYCH W KAPITALE OGÓŁEM',
252
+ # 335 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z TAKIM SAMYM UDZIAŁEM WŁASNOŚCI SEKTORA PUBLICZNEGO I PRYWATNEGO Z NAJWYŻSZYM UDZIAŁEM WŁASNOŚCI POZOSTAŁYCH KRAJOWYCH JEDNOSTEK PRYWATNYCH W KAPITALE OGÓŁEM',
253
+ # 336 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z TAKIM SAMYM UDZIAŁEM WŁASNOŚCI SEKTORA PUBLICZNEGO I PRYWATNEGO Z NAJWYŻSZYM UDZIAŁEM WŁASNOŚCI OSÓB ZAGRANICZNYCH W KAPITALE OGÓŁEM',
254
+ # 338 => 'WŁASNOŚĆ MIESZANA MIĘDZY SEKTORAMI Z TAKIM SAMYM UDZIAŁEM WŁASNOŚCI SEKTORA PUBLICZNEGO I PRYWATNEGO Z BRAKIEM PRZEWAGI KTÓREGOKOLWIEK RODZAJU WŁASNOŚCI W KAPITALE OGÓŁEM',
255
+ # }
256
+ # end
257
+
258
+ def organ_zalozycielski
259
+ # TODO
260
+ end
261
+
262
+ def organ_rejestrowy
263
+ # TODO
264
+ end
265
+
266
+ def rejestr_ewidencji
267
+ # TODO
268
+ end
269
+ end
270
+ end
271
+ end
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ class Errors
5
+ TooMuchTypesSelected = Class.new(StandardError)
6
+ NoOneTypeSelected = Class.new(StandardError)
7
+ end
8
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ module Report
5
+ class TypeMapper
6
+ InvalidReportType = Class.new(StandardError)
7
+ class << self
8
+ def get_report_type(search_report)
9
+ typ = search_report.type
10
+ silos_id = search_report.silos_id
11
+ method = "type_#{typ.to_s.downcase}"
12
+ send(method, silos_id)
13
+ end
14
+
15
+ def method_missing(method, *_args)
16
+ raise InvalidReportType, "Invalid method-report: #{method}"
17
+ end
18
+
19
+ def type_p(_silos_id)
20
+ 'PublDaneRaportPrawna'
21
+ end
22
+
23
+ def type_lp(_silos_id)
24
+ 'PublDaneRaportLokalnaPrawnej'
25
+ end
26
+
27
+ def type_lf(_silos_id)
28
+ 'PublDaneRaportLokalnaFizycznej'
29
+ end
30
+
31
+ def type_f(silos_id)
32
+ case silos_id.to_i
33
+ when 1
34
+ 'PublDaneRaportDzialalnoscFizycznejCeidg'
35
+ when 2
36
+ 'PublDaneRaportDzialalnoscFizycznejRolnicza'
37
+ when 3
38
+ 'PublDaneRaportDzialalnoscFizycznejPozostala'
39
+ when 4
40
+ 'PublDaneRaportDzialalnoscFizycznejWKrupgn'
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ module Report
5
+ class Types
6
+ REPORT_ACTIVITY_PHYSIC_PERSON = 'PublDaneRaportFizycznaOsoba'
7
+ REPORT_ACTIVITY_PHYSIC_CEIDG = 'PublDaneRaportDzialalnoscFizycznejCeidg'
8
+ REPORT_ACTIVITY_PHYSIC_AGRO = 'PublDaneRaportDzialalnoscFizycznejRolnicza'
9
+ REPORT_ACTIVITY_PHYSIC_OTHER_PUBLIC = 'PublDaneRaportDzialalnoscFizycznejPozostala'
10
+ REPORT_ACTIVITY_LOCAL_PHYSIC_WKR_PUBLIC = 'PublDaneRaportDzialalnoscFizycznejWKrupgn'
11
+ REPORT_LOCALS_PHYSIC_PUBLIC = 'PublDaneRaportLokalneFizycznej'
12
+ REPORT_LOCAL_PHYSIC_PUBLIC = 'PublDaneRaportLokalnaFizycznej'
13
+ REPORT_ACTIVITY_PHYSIC_PUBLIC = 'PublDaneRaportDzialalnosciFizycznej'
14
+ REPORT_ACTIVITY_LOCAL_PHYSIC_PUBLIC = 'PublDaneRaportDzialalnosciLokalnejFizycznej'
15
+ REPORT_PUBLIC_LAW = 'PublDaneRaportPrawna'
16
+ REPORT_ACTIVITY_LAW_PUBLIC = 'PublDaneRaportDzialalnosciPrawnej'
17
+ REPORT_LOCALS_LAW_PUBLIC = 'PublDaneRaportLokalnePrawnej'
18
+ REPORT_LOCAL_LAW_PUBLIC = 'PublDaneRaportLokalnaPrawnej'
19
+ REPORT_ACTIVITY_LOCAL_LAW_PUBLIC = 'PublDaneRaportDzialalnosciLokalnejPrawnej'
20
+ REPORT_COMMON_LAW_PUBLIC = 'PublDaneRaportWspolnicyPrawnej'
21
+ REPORT_UNIT_TYPE_PUBLIC = 'PublDaneRaportTypJednostki'
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ module Response
5
+ class FullData
6
+ def initialize(body)
7
+ @body = body
8
+ end
9
+
10
+ attr_reader :body
11
+
12
+ def to_h
13
+ n = Nokogiri.XML body
14
+ Nori.new.parse(n.xpath('//dane').to_s)['dane']
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ module Response
5
+ class Search
6
+ def initialize(body)
7
+ @body = body
8
+ end
9
+
10
+ attr_reader :body
11
+
12
+ def array
13
+ n = Nokogiri.XML body
14
+ n.xpath('//dane').map { |o| parse_dane(Nori.new.parse(o.to_s)['dane']) }
15
+ end
16
+
17
+ private
18
+
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)
34
+ search_result
35
+ end
36
+
37
+ def type_info(search_result)
38
+ Dictionary.szukaj_typ[search_result.type.to_sym]
39
+ end
40
+
41
+ def silos_info(search_result)
42
+ Dictionary.szukaj_silos_id[search_result.silos_id.to_sym]
43
+ end
44
+
45
+ def report_info(search_result)
46
+ Report::TypeMapper.get_report_type(search_result)
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ module Response
5
+ class Simple
6
+ def initialize(value, key)
7
+ @value = value
8
+ @key = key
9
+ end
10
+
11
+ def to_s
12
+ @value.to_s
13
+ end
14
+
15
+ def to_i
16
+ @value.to_i
17
+ end
18
+
19
+ def humanize
20
+ Dictionary.send(@key)[@value.to_sym]
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,5 @@
1
+ # frozen_string_literal: true
2
+
3
+ module GusBir1
4
+ VERSION = '1.0.0'
5
+ end
metadata ADDED
@@ -0,0 +1,162 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gus_bir1
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Wacław Łuczak
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2018-01-15 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.14'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.14'
27
+ - !ruby/object:Gem::Dependency
28
+ name: minitest
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '5.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '5.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '10.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '10.0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rubocop
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '0.52'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '0.52'
69
+ - !ruby/object:Gem::Dependency
70
+ name: simplecov
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: savon
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '2'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '2'
97
+ - !ruby/object:Gem::Dependency
98
+ name: savon-multipart
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '2'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '2'
111
+ description:
112
+ email:
113
+ - waclaw@luczak.it
114
+ executables: []
115
+ extensions: []
116
+ extra_rdoc_files: []
117
+ files:
118
+ - ".gitignore"
119
+ - ".travis.yml"
120
+ - Gemfile
121
+ - LICENSE.txt
122
+ - README.md
123
+ - Rakefile
124
+ - bin/console
125
+ - bin/setup
126
+ - gus_bir1.gemspec
127
+ - lib/gus_bir1.rb
128
+ - lib/gus_bir1/client.rb
129
+ - lib/gus_bir1/constants.rb
130
+ - lib/gus_bir1/dictionary.rb
131
+ - lib/gus_bir1/errors.rb
132
+ - lib/gus_bir1/report/type_mapper.rb
133
+ - lib/gus_bir1/report/types.rb
134
+ - lib/gus_bir1/response/full_data.rb
135
+ - lib/gus_bir1/response/search.rb
136
+ - lib/gus_bir1/response/simple.rb
137
+ - lib/gus_bir1/version.rb
138
+ homepage: https://github.com/espago/gus_bir1
139
+ licenses:
140
+ - MIT
141
+ metadata: {}
142
+ post_install_message:
143
+ rdoc_options: []
144
+ require_paths:
145
+ - lib
146
+ required_ruby_version: !ruby/object:Gem::Requirement
147
+ requirements:
148
+ - - ">="
149
+ - !ruby/object:Gem::Version
150
+ version: '0'
151
+ required_rubygems_version: !ruby/object:Gem::Requirement
152
+ requirements:
153
+ - - ">="
154
+ - !ruby/object:Gem::Version
155
+ version: '0'
156
+ requirements: []
157
+ rubyforge_project:
158
+ rubygems_version: 2.6.13
159
+ signing_key:
160
+ specification_version: 4
161
+ summary: Rails GUS API library based on official REGON SOAP api.
162
+ test_files: []