sigep_web 0.2.7 → 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 +5 -5
- data/.github/workflows/ruby.yml +31 -0
- data/.gitignore +4 -3
- data/README.md +1 -2
- data/lib/sigep_web.rb +9 -9
- data/lib/sigep_web/calculate_digit_checker.rb +21 -18
- data/lib/sigep_web/generate_labels_digit_verifier.rb +20 -19
- data/lib/sigep_web/models/additional_service.rb +14 -0
- data/lib/sigep_web/models/dimension_object.rb +18 -0
- data/lib/sigep_web/models/postal_object.rb +27 -0
- data/lib/sigep_web/{Models → models}/receiver.rb +3 -0
- data/lib/sigep_web/{Models → models}/sender.rb +3 -0
- data/lib/sigep_web/postage_card_status.rb +15 -18
- data/lib/sigep_web/request_labels.rb +43 -43
- data/lib/sigep_web/request_plp_services.rb +25 -25
- data/lib/sigep_web/request_range.rb +28 -24
- data/lib/sigep_web/request_xml_plp.rb +18 -19
- data/lib/sigep_web/search_client.rb +20 -20
- data/lib/sigep_web/service_availability.rb +26 -25
- data/lib/sigep_web/version.rb +3 -1
- data/lib/sigep_web/web_service_interface_api.rb +4 -5
- data/lib/sigep_web/web_service_reverse_logistic_api.rb +5 -3
- data/lib/sigep_web/xml/additional_service.rb +27 -0
- data/lib/sigep_web/{XML → xml}/dimension_object.rb +3 -0
- data/lib/sigep_web/xml/postal_object.rb +54 -0
- data/lib/sigep_web/{XML → xml}/receiver.rb +3 -0
- data/lib/sigep_web/zip_query.rb +15 -16
- data/sigep_web.gemspec +19 -10
- metadata +130 -69
- data/.codeclimate.yml +0 -28
- data/.travis.yml +0 -4
- data/Gemfile.lock +0 -98
- data/lib/sigep_web/Models/additional_service.rb +0 -12
- data/lib/sigep_web/Models/dimension_object.rb +0 -15
- data/lib/sigep_web/Models/postal_object.rb +0 -21
- data/lib/sigep_web/XML/additional_service.rb +0 -24
- data/lib/sigep_web/XML/postal_object.rb +0 -50
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 12df3b443d893a1363a805d9d34c1fe16996dc9cf6cb9f6f46535d9191b9db22
|
4
|
+
data.tar.gz: e56fc299f3c1d6107cc3d751fc01be3101d6b123e0deb36ddf7e7befcbd27651
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39397b656be869fd3e79209ac688ba567543c26075db8f9bbfd03c202e8ae07e48b7c6ba487ae874685c4a7ec29e3cc553a6778e87b625c4a7c20e654b8d9b0b
|
7
|
+
data.tar.gz: 6ca1802855b3cb22b562f7586258416580b1aaa63e914382e088205e3d768c04025dfe42be33098b3b0c01ed706e575fb4c1cae12c121de70347d524bb059b33
|
@@ -0,0 +1,31 @@
|
|
1
|
+
name: Ruby
|
2
|
+
|
3
|
+
on: [push, pull_request]
|
4
|
+
|
5
|
+
jobs:
|
6
|
+
build:
|
7
|
+
runs-on: ubuntu-latest
|
8
|
+
|
9
|
+
steps:
|
10
|
+
|
11
|
+
- uses: actions/checkout@v2
|
12
|
+
|
13
|
+
- name: Set up Ruby 2.6
|
14
|
+
uses: actions/setup-ruby@v1
|
15
|
+
with:
|
16
|
+
ruby-version: 2.6.x
|
17
|
+
|
18
|
+
- name: Build and test
|
19
|
+
env:
|
20
|
+
GEM_ENV: test
|
21
|
+
COVERALLS_REPO_TOKEN: <%= ENV['COVERALLS_REPO_TOKEN'] %>
|
22
|
+
run: |
|
23
|
+
gem install bundler
|
24
|
+
bundle install --jobs 4 --retry 3
|
25
|
+
bundle exec rspec
|
26
|
+
|
27
|
+
- name: Coveralls
|
28
|
+
uses: coverallsapp/github-action@master
|
29
|
+
with:
|
30
|
+
github-token: ${{ secrets.GITHUB_TOKEN }}
|
31
|
+
|
data/.gitignore
CHANGED
@@ -27,9 +27,10 @@ build/
|
|
27
27
|
|
28
28
|
# for a library or gem, you might want to ignore these files since the code is
|
29
29
|
# intended to run in multiple environments; otherwise, check them in:
|
30
|
-
|
31
|
-
|
32
|
-
|
30
|
+
Gemfile.lock
|
31
|
+
.ruby-version
|
32
|
+
.ruby-gemset
|
33
|
+
.tool-versions
|
33
34
|
|
34
35
|
# unless supporting rvm < 1.11.0 or doing something fancy, ignore this:
|
35
36
|
.rvmrc
|
data/README.md
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
# Sigep Web
|
2
2
|
|
3
|
-
|
3
|
+

|
4
4
|
[](https://badge.fury.io/rb/sigep_web)
|
5
|
-
[](https://codeclimate.com/github/Sidoniuns/sigep_web)
|
6
5
|
[](https://coveralls.io/github/marceloperini/sigep_web?branch=master)
|
7
6
|
[](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=DWFWT6N2YCZTG)
|
8
7
|
|
data/lib/sigep_web.rb
CHANGED
@@ -3,15 +3,15 @@ require 'sigep_web/configuration'
|
|
3
3
|
require 'sigep_web/web_service_interface_api'
|
4
4
|
require 'sigep_web/web_service_reverse_logistic_api'
|
5
5
|
require 'sigep_web/authenticate'
|
6
|
-
require 'sigep_web/
|
7
|
-
require 'sigep_web/
|
8
|
-
require 'sigep_web/
|
9
|
-
require 'sigep_web/
|
10
|
-
require 'sigep_web/
|
11
|
-
require 'sigep_web/
|
12
|
-
require 'sigep_web/
|
13
|
-
require 'sigep_web/
|
14
|
-
require 'sigep_web/
|
6
|
+
require 'sigep_web/xml/postal_object'
|
7
|
+
require 'sigep_web/xml/receiver'
|
8
|
+
require 'sigep_web/xml/additional_service'
|
9
|
+
require 'sigep_web/xml/dimension_object'
|
10
|
+
require 'sigep_web/models/sender'
|
11
|
+
require 'sigep_web/models/postal_object'
|
12
|
+
require 'sigep_web/models/receiver'
|
13
|
+
require 'sigep_web/models/additional_service'
|
14
|
+
require 'sigep_web/models/dimension_object'
|
15
15
|
require 'sigep_web/service_availability'
|
16
16
|
require 'sigep_web/search_client'
|
17
17
|
require 'sigep_web/zip_query'
|
@@ -1,31 +1,34 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SigepWeb
|
2
4
|
class CalculateDigitChecker < WebServiceReverseLogisticApi
|
3
|
-
def initialize(
|
4
|
-
@number =
|
5
|
+
def initialize(number:)
|
6
|
+
@number = number
|
7
|
+
|
5
8
|
super()
|
6
9
|
end
|
7
10
|
|
8
11
|
def request
|
9
12
|
authenticate = SigepWeb.configuration.authenticate
|
10
13
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
}).to_hash[:calcular_digito_verificador_response][:return]
|
14
|
+
response = process(:calcular_digito_verificador,
|
15
|
+
usuario: authenticate.user,
|
16
|
+
senha: authenticate.password,
|
17
|
+
codAdministrativo: authenticate.administrative_code,
|
18
|
+
numero: number
|
19
|
+
).to_hash[:calcular_digito_verificador_response][:return]
|
18
20
|
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
}
|
23
|
-
rescue Savon::SOAPFault => msg
|
24
|
-
{
|
25
|
-
success: false,
|
26
|
-
error: msg
|
27
|
-
}
|
21
|
+
if response[:cod_erro] == '0'
|
22
|
+
{ success: true, response: response }
|
23
|
+
else
|
24
|
+
{ success: false, error: response }
|
28
25
|
end
|
26
|
+
rescue Savon::SOAPFault => exception
|
27
|
+
{ success: false, error: exception.message }
|
29
28
|
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
attr_reader :number
|
30
33
|
end
|
31
34
|
end
|
@@ -1,29 +1,30 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SigepWeb
|
2
4
|
class GenerateLabelsDigitVerifier < WebServiceInterfaceApi
|
3
|
-
def initialize(
|
4
|
-
@labels =
|
5
|
+
def initialize(labels:)
|
6
|
+
@labels = labels
|
7
|
+
|
5
8
|
super()
|
6
9
|
end
|
7
10
|
|
8
11
|
def request
|
9
12
|
authenticate = SigepWeb.configuration.authenticate
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
}
|
21
|
-
rescue Savon::SOAPFault => msg
|
22
|
-
{
|
23
|
-
success: false,
|
24
|
-
error: msg
|
25
|
-
}
|
26
|
-
end
|
13
|
+
|
14
|
+
response = process(:gera_digito_verificador_etiquetas,
|
15
|
+
etiquetas: labels,
|
16
|
+
usuario: authenticate.user,
|
17
|
+
senha: authenticate.password
|
18
|
+
).to_hash[:gera_digito_verificador_etiquetas_response][:return]
|
19
|
+
|
20
|
+
{ success: true, response: response }
|
21
|
+
rescue Savon::SOAPFault => e
|
22
|
+
{ success: false, error: e.message }
|
27
23
|
end
|
24
|
+
|
25
|
+
private
|
26
|
+
|
27
|
+
attr_reader :labels
|
28
28
|
end
|
29
29
|
end
|
30
|
+
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SigepWeb
|
4
|
+
module Models
|
5
|
+
class AdditionalService
|
6
|
+
attr_accessor :codes, :declareted_value
|
7
|
+
|
8
|
+
def initialize(codes:, declareted_value:)
|
9
|
+
@codes = codes
|
10
|
+
@declareted_value = declareted_value
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SigepWeb
|
4
|
+
module Models
|
5
|
+
class DimensionObject
|
6
|
+
attr_accessor :object_type, :height, :width, :length, :diameter
|
7
|
+
|
8
|
+
def initialize(object_type:, height:, width:, length:, diameter:)
|
9
|
+
@object_type = object_type
|
10
|
+
@height = height
|
11
|
+
@width = width
|
12
|
+
@length = length
|
13
|
+
@diameter = diameter
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module SigepWeb
|
4
|
+
module Models
|
5
|
+
class PostalObject
|
6
|
+
attr_accessor :label_number, :postage_code_service, :cubage,
|
7
|
+
:weight, :receiver, :dimension_object, :processing_status,
|
8
|
+
:additional_service_codes, :additional_services_declared_value
|
9
|
+
|
10
|
+
def initialize(label_number:, postage_code_service:, cubage:, weight:,
|
11
|
+
receiver:, dimension_object:, processing_status:,
|
12
|
+
additional_service_codes: nil,
|
13
|
+
additional_services_declared_value: nil)
|
14
|
+
@label_number = label_number
|
15
|
+
@postage_code_service = postage_code_service
|
16
|
+
@cubage = cubage
|
17
|
+
@weight = weight
|
18
|
+
@receiver = receiver
|
19
|
+
@dimension_object = dimension_object
|
20
|
+
@processing_status = processing_status
|
21
|
+
@additional_service_codes = additional_service_codes
|
22
|
+
@additional_services_declared_value = additional_services_declared_value
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
@@ -1,29 +1,26 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SigepWeb
|
2
4
|
class PostageCardStatus < WebServiceInterfaceApi
|
3
|
-
def initialize(
|
4
|
-
@postage_number_card =
|
5
|
+
def initialize(postage_number_card:)
|
6
|
+
@postage_number_card = postage_number_card
|
7
|
+
|
5
8
|
super()
|
6
9
|
end
|
7
10
|
|
8
11
|
def request
|
9
12
|
authenticate = SigepWeb.configuration.authenticate
|
10
|
-
begin
|
11
|
-
response = process(:get_status_cartao_postagem, {
|
12
|
-
numeroCartaoPostagem: @postage_number_card,
|
13
|
-
usuario: authenticate.user,
|
14
|
-
senha: authenticate.password
|
15
|
-
}).to_hash[:get_status_cartao_postagem_response][:return]
|
16
13
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
end
|
14
|
+
response = process(:get_status_cartao_postagem,
|
15
|
+
numeroCartaoPostagem: @postage_number_card,
|
16
|
+
usuario: authenticate.user,
|
17
|
+
senha: authenticate.password
|
18
|
+
).to_hash[:get_status_cartao_postagem_response][:return]
|
19
|
+
|
20
|
+
{ success: true, response: response }
|
21
|
+
rescue Savon::SOAPFault => e
|
22
|
+
{ success: false, error: e.message }
|
27
23
|
end
|
28
24
|
end
|
29
25
|
end
|
26
|
+
|
@@ -1,58 +1,58 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SigepWeb
|
2
4
|
class RequestLabels < WebServiceInterfaceApi
|
3
|
-
def initialize(
|
4
|
-
@receiver_type =
|
5
|
-
@identifier =
|
6
|
-
@id_service =
|
7
|
-
@qt_labels =
|
5
|
+
def initialize(receiver_type:, identifier:, id_service:, qt_labels:)
|
6
|
+
@receiver_type = receiver_type
|
7
|
+
@identifier = identifier
|
8
|
+
@id_service = id_service
|
9
|
+
@qt_labels = qt_labels
|
10
|
+
|
8
11
|
super()
|
9
12
|
end
|
10
13
|
|
11
14
|
def request
|
12
15
|
authenticate = SigepWeb.configuration.authenticate
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
}
|
27
|
-
rescue Savon::SOAPFault => msg
|
28
|
-
{
|
29
|
-
success: false,
|
30
|
-
error: msg
|
31
|
-
}
|
32
|
-
end
|
16
|
+
|
17
|
+
response = process(:solicita_etiquetas,
|
18
|
+
tipoDestinatario: receiver_type,
|
19
|
+
identificador: identifier,
|
20
|
+
idServico: id_service,
|
21
|
+
qtdEtiquetas: qt_labels,
|
22
|
+
usuario: authenticate.user,
|
23
|
+
senha: authenticate.password
|
24
|
+
).to_hash[:solicita_etiquetas_response][:return]
|
25
|
+
|
26
|
+
{ success: true, response: build_label_array(response) }
|
27
|
+
rescue Savon::SOAPFault => e
|
28
|
+
{ success: false, error: e.message }
|
33
29
|
end
|
34
30
|
|
35
31
|
private
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
number += 1
|
32
|
+
|
33
|
+
attr_reader :receiver_type, :identifier, :id_service, :qt_labels
|
34
|
+
|
35
|
+
def build_label_array(label_range)
|
36
|
+
label_array = []
|
37
|
+
start_label, end_label = label_range.split(',')
|
38
|
+
prefix = start_label[0,2]
|
39
|
+
suffix = start_label[11,12]
|
40
|
+
number = start_label[2,8].to_i
|
41
|
+
end_number = end_label[2,8].to_i
|
42
|
+
|
43
|
+
while number <= end_number do
|
44
|
+
use_number = number.to_s
|
45
|
+
|
46
|
+
if use_number.size < 8
|
47
|
+
use_number = ('0' * (8 - use_number.size)) + use_number
|
53
48
|
end
|
54
49
|
|
55
|
-
label_array
|
50
|
+
label_array.push prefix + use_number + ' ' + suffix
|
51
|
+
number += 1
|
56
52
|
end
|
53
|
+
|
54
|
+
label_array
|
55
|
+
end
|
57
56
|
end
|
58
57
|
end
|
58
|
+
|
@@ -1,35 +1,35 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
module SigepWeb
|
2
4
|
class RequestPlpServices < WebServiceInterfaceApi
|
3
|
-
def initialize(
|
4
|
-
@plp =
|
5
|
-
@id_plp_client =
|
6
|
-
|
7
|
-
|
5
|
+
def initialize(plp:, id_plp_client:, labels:)
|
6
|
+
@plp = plp
|
7
|
+
@id_plp_client = id_plp_client
|
8
|
+
@labels = labels
|
9
|
+
|
8
10
|
super()
|
9
11
|
end
|
10
12
|
|
11
13
|
def request
|
12
14
|
authenticate = SigepWeb.configuration.authenticate
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
}
|
27
|
-
rescue Savon::SOAPFault => msg
|
28
|
-
{
|
29
|
-
success: false,
|
30
|
-
error: msg
|
31
|
-
}
|
32
|
-
end
|
15
|
+
|
16
|
+
response = process(:fecha_plp_varios_servicos,
|
17
|
+
xml: plp.to_xml,
|
18
|
+
idPlpCliente: id_plp_client,
|
19
|
+
cartaoPostagem: authenticate.card,
|
20
|
+
listaEtiquetas: labels,
|
21
|
+
usuario: authenticate.user,
|
22
|
+
senha: authenticate.password
|
23
|
+
).to_hash[:fecha_plp_varios_servicos_response][:return].to_s
|
24
|
+
|
25
|
+
{ success: true, response: response }
|
26
|
+
rescue Savon::SOAPFault => e
|
27
|
+
{ success: false, error: e.message }
|
33
28
|
end
|
29
|
+
|
30
|
+
private
|
31
|
+
|
32
|
+
attr_reader :plp, :id_plp_client, :labels
|
34
33
|
end
|
35
34
|
end
|
35
|
+
|