sigep_web 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12df3b443d893a1363a805d9d34c1fe16996dc9cf6cb9f6f46535d9191b9db22
4
- data.tar.gz: e56fc299f3c1d6107cc3d751fc01be3101d6b123e0deb36ddf7e7befcbd27651
3
+ metadata.gz: b15f2b5e8823b2fa0e3ddcd82f81f69bc851aedf5e185fbfd1acc23d8889ed20
4
+ data.tar.gz: d5a55f1d63603da8d81f454f1b6bd740aff804e0206687b58b14fab68c19907a
5
5
  SHA512:
6
- metadata.gz: 39397b656be869fd3e79209ac688ba567543c26075db8f9bbfd03c202e8ae07e48b7c6ba487ae874685c4a7ec29e3cc553a6778e87b625c4a7c20e654b8d9b0b
7
- data.tar.gz: 6ca1802855b3cb22b562f7586258416580b1aaa63e914382e088205e3d768c04025dfe42be33098b3b0c01ed706e575fb4c1cae12c121de70347d524bb059b33
6
+ metadata.gz: ccd0a77f6254a8d9adc8987f88fe2c65fe4c35d77fa5ac882d409f2aadb7a9a29d47a73594497cb26d75a0b0ede4150c1442f492d35ee2c4e4fd6f8108872649
7
+ data.tar.gz: 1ba66ee5c968725d9e90e320de07f98db2e34fb9d6a8dfb4e3ab0d38508d1fdbde9b23767ffc9853f268d48272df57cb93b0fc24e58e50471cf92c43e50a9a1d
@@ -0,0 +1,44 @@
1
+ name: gha-workflow-test
2
+ on: [push, pull_request]
3
+
4
+ jobs:
5
+ gha-job-lint:
6
+ name: Lint
7
+ runs-on: ubuntu-18.04
8
+ steps:
9
+ - name: Checkout source
10
+ uses: actions/checkout@v2
11
+ - name: Setup ruby
12
+ uses: ruby/setup-ruby@v1
13
+ with:
14
+ ruby-version: '2.6'
15
+ - name: Bundle
16
+ run: |
17
+ gem install bundler
18
+ bundle install --jobs 4 --retry 3
19
+ - name: Lint
20
+ run: bundle exec standardrb
21
+
22
+ # The test job is a matrix of ruby/rails versions.
23
+ gha-job-test:
24
+ name: Ruby ${{ matrix.ruby }}
25
+ runs-on: ubuntu-18.04
26
+ strategy:
27
+ matrix:
28
+ ruby: [ '2.6', '2.7', '3.0', '3.1' ]
29
+ steps:
30
+ - name: Checkout source
31
+ uses: actions/checkout@v2
32
+ - name: Setup ruby
33
+ uses: ruby/setup-ruby@v1
34
+ with:
35
+ ruby-version: ${{ matrix.ruby }}
36
+ bundler-cache: true
37
+
38
+ - name: Test
39
+ run: bundle exec rspec
40
+
41
+ - name: Coverage
42
+ uses: coverallsapp/github-action@master
43
+ with:
44
+ github-token: ${{ secrets.GITHUB_TOKEN }}
data/Gemfile CHANGED
@@ -1,3 +1,3 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
2
 
3
3
  gemspec
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  ## About
9
9
 
10
- This gem provide a easy way to integrate an application to Correios Sigep Web API, all features is based on this [API documentation](http://www.corporativo.correios.com.br/encomendas/sigepweb/doc/Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf)
10
+ This gem provide a easy way to integrate an application to Correios Sigep Web API, all features is based on this [API documentation](https://www2.correios.com.br/sistemas/encomendas/sigepweb/doc/Manual_de_Implementacao_do_Web_Service_SIGEP_WEB.pdf)
11
11
 
12
12
  ## Getting started
13
13
 
data/Rakefile CHANGED
@@ -1,8 +1,8 @@
1
1
  require "bundler/gem_tasks"
2
2
  require "rspec/core/rake_task"
3
3
 
4
- #RSpec::Core::RakeTask.new(:spec)
4
+ # RSpec::Core::RakeTask.new(:spec)
5
5
  RSpec::Core::RakeTask.new
6
6
 
7
- task :default => :spec
8
- task :test => :spec
7
+ task default: :spec
8
+ task test: :spec
@@ -11,20 +11,21 @@ module SigepWeb
11
11
  def request
12
12
  authenticate = SigepWeb.configuration.authenticate
13
13
 
14
- response = process(:calcular_digito_verificador,
14
+ response = process(
15
+ :calcular_digito_verificador,
15
16
  usuario: authenticate.user,
16
17
  senha: authenticate.password,
17
18
  codAdministrativo: authenticate.administrative_code,
18
19
  numero: number
19
20
  ).to_hash[:calcular_digito_verificador_response][:return]
20
21
 
21
- if response[:cod_erro] == '0'
22
- { success: true, response: response }
22
+ if response[:cod_erro] == "0"
23
+ {success: true, response: response}
23
24
  else
24
- { success: false, error: response }
25
+ {success: false, error: response}
25
26
  end
26
27
  rescue Savon::SOAPFault => exception
27
- { success: false, error: exception.message }
28
+ {success: false, error: exception.message}
28
29
  end
29
30
 
30
31
  private
@@ -5,9 +5,11 @@ module SigepWeb
5
5
 
6
6
  def authenticate
7
7
  @authenticate ||=
8
- Authenticate.new(user: user, password: password,
9
- administrative_code: administrative_code,
10
- contract: contract, card: card)
8
+ Authenticate.new(
9
+ user: user, password: password,
10
+ administrative_code: administrative_code,
11
+ contract: contract, card: card
12
+ )
11
13
  end
12
14
  end
13
15
  end
@@ -11,15 +11,16 @@ module SigepWeb
11
11
  def request
12
12
  authenticate = SigepWeb.configuration.authenticate
13
13
 
14
- response = process(:gera_digito_verificador_etiquetas,
14
+ response = process(
15
+ :gera_digito_verificador_etiquetas,
15
16
  etiquetas: labels,
16
17
  usuario: authenticate.user,
17
18
  senha: authenticate.password
18
19
  ).to_hash[:gera_digito_verificador_etiquetas_response][:return]
19
20
 
20
- { success: true, response: response }
21
+ {success: true, response: response}
21
22
  rescue Savon::SOAPFault => e
22
- { success: false, error: e.message }
23
+ {success: false, error: e.message}
23
24
  end
24
25
 
25
26
  private
@@ -27,4 +28,3 @@ module SigepWeb
27
28
  attr_reader :labels
28
29
  end
29
30
  end
30
-
@@ -6,7 +6,7 @@ module SigepWeb
6
6
  attr_accessor :codes, :declareted_value
7
7
 
8
8
  def initialize(codes:, declareted_value:)
9
- @codes = codes
9
+ @codes = codes
10
10
  @declareted_value = declareted_value
11
11
  end
12
12
  end
@@ -7,12 +7,11 @@ module SigepWeb
7
7
 
8
8
  def initialize(object_type:, height:, width:, length:, diameter:)
9
9
  @object_type = object_type
10
- @height = height
11
- @width = width
12
- @length = length
13
- @diameter = diameter
10
+ @height = height
11
+ @width = width
12
+ @length = length
13
+ @diameter = diameter
14
14
  end
15
15
  end
16
16
  end
17
17
  end
18
-
@@ -8,20 +8,19 @@ module SigepWeb
8
8
  :additional_service_codes, :additional_services_declared_value
9
9
 
10
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
11
+ receiver:, dimension_object:, processing_status:,
12
+ additional_service_codes: nil, additional_services_declared_value: nil)
13
+
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
22
  @additional_services_declared_value = additional_services_declared_value
23
23
  end
24
24
  end
25
25
  end
26
26
  end
27
-
@@ -10,27 +10,26 @@ module SigepWeb
10
10
  :description_object, :amount
11
11
 
12
12
  def initialize(options = {})
13
- @name = options[:name]
14
- @phone = options[:phone]
15
- @cellphone = options[:cellphone]
16
- @email = options[:email]
17
- @address = options[:address]
18
- @complement = options[:complement]
19
- @number = options[:number]
20
- @neighborhood = options[:neighborhood]
21
- @city = options[:city]
22
- @uf = options[:uf]
23
- @cep = options[:cep]
24
- @user_postal_code = options[:user_postal_code]
13
+ @name = options[:name]
14
+ @phone = options[:phone]
15
+ @cellphone = options[:cellphone]
16
+ @email = options[:email]
17
+ @address = options[:address]
18
+ @complement = options[:complement]
19
+ @number = options[:number]
20
+ @neighborhood = options[:neighborhood]
21
+ @city = options[:city]
22
+ @uf = options[:uf]
23
+ @cep = options[:cep]
24
+ @user_postal_code = options[:user_postal_code]
25
25
  @cost_center_client = options[:cost_center_client]
26
- @invoice_number = options[:invoice_number]
27
- @invoice_serie = options[:invoice_serie]
28
- @invoice_value = options[:invoice_value]
29
- @invoice_nature = options[:invoice_nature]
26
+ @invoice_number = options[:invoice_number]
27
+ @invoice_serie = options[:invoice_serie]
28
+ @invoice_value = options[:invoice_value]
29
+ @invoice_nature = options[:invoice_nature]
30
30
  @description_object = options[:description_object]
31
- @amount = options[:amount]
31
+ @amount = options[:amount]
32
32
  end
33
33
  end
34
34
  end
35
35
  end
36
-
@@ -26,10 +26,10 @@ module SigepWeb
26
26
  end
27
27
 
28
28
  def to_xml
29
- builder = Nokogiri::XML::Builder.new(encoding: 'ISO-8859-1') do |xml|
29
+ builder = Nokogiri::XML::Builder.new(encoding: "ISO-8859-1") do |xml|
30
30
  xml.correioslog do
31
- xml.tipo_arquivo 'Postagem'
32
- xml.versao_arquivo '2.3'
31
+ xml.tipo_arquivo "Postagem"
32
+ xml.versao_arquivo "2.3"
33
33
  plp_xml(xml)
34
34
  receiver_xml(xml)
35
35
  xml.forma_pagamento @payment_form
@@ -74,4 +74,3 @@ module SigepWeb
74
74
  end
75
75
  end
76
76
  end
77
-
@@ -11,16 +11,16 @@ module SigepWeb
11
11
  def request
12
12
  authenticate = SigepWeb.configuration.authenticate
13
13
 
14
- response = process(:get_status_cartao_postagem,
14
+ response = process(
15
+ :get_status_cartao_postagem,
15
16
  numeroCartaoPostagem: @postage_number_card,
16
17
  usuario: authenticate.user,
17
18
  senha: authenticate.password
18
19
  ).to_hash[:get_status_cartao_postagem_response][:return]
19
20
 
20
- { success: true, response: response }
21
+ {success: true, response: response}
21
22
  rescue Savon::SOAPFault => e
22
- { success: false, error: e.message }
23
+ {success: false, error: e.message}
23
24
  end
24
25
  end
25
26
  end
26
-
@@ -4,9 +4,9 @@ module SigepWeb
4
4
  class RequestLabels < WebServiceInterfaceApi
5
5
  def initialize(receiver_type:, identifier:, id_service:, qt_labels:)
6
6
  @receiver_type = receiver_type
7
- @identifier = identifier
8
- @id_service = id_service
9
- @qt_labels = qt_labels
7
+ @identifier = identifier
8
+ @id_service = id_service
9
+ @qt_labels = qt_labels
10
10
 
11
11
  super()
12
12
  end
@@ -14,7 +14,8 @@ module SigepWeb
14
14
  def request
15
15
  authenticate = SigepWeb.configuration.authenticate
16
16
 
17
- response = process(:solicita_etiquetas,
17
+ response = process(
18
+ :solicita_etiquetas,
18
19
  tipoDestinatario: receiver_type,
19
20
  identificador: identifier,
20
21
  idServico: id_service,
@@ -23,9 +24,9 @@ module SigepWeb
23
24
  senha: authenticate.password
24
25
  ).to_hash[:solicita_etiquetas_response][:return]
25
26
 
26
- { success: true, response: build_label_array(response) }
27
+ {success: true, response: build_label_array(response)}
27
28
  rescue Savon::SOAPFault => e
28
- { success: false, error: e.message }
29
+ {success: false, error: e.message}
29
30
  end
30
31
 
31
32
  private
@@ -34,20 +35,20 @@ module SigepWeb
34
35
 
35
36
  def build_label_array(label_range)
36
37
  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
38
+ start_label, end_label = label_range.split(",")
39
+ prefix = start_label[0, 2]
40
+ suffix = start_label[11, 12]
41
+ number = start_label[2, 8].to_i
42
+ end_number = end_label[2, 8].to_i
42
43
 
43
- while number <= end_number do
44
+ while number <= end_number
44
45
  use_number = number.to_s
45
46
 
46
47
  if use_number.size < 8
47
- use_number = ('0' * (8 - use_number.size)) + use_number
48
+ use_number = ("0" * (8 - use_number.size)) + use_number
48
49
  end
49
50
 
50
- label_array.push prefix + use_number + ' ' + suffix
51
+ label_array.push prefix + use_number + " " + suffix
51
52
  number += 1
52
53
  end
53
54
 
@@ -55,4 +56,3 @@ module SigepWeb
55
56
  end
56
57
  end
57
58
  end
58
-
@@ -13,7 +13,8 @@ module SigepWeb
13
13
  def request
14
14
  authenticate = SigepWeb.configuration.authenticate
15
15
 
16
- response = process(:fecha_plp_varios_servicos,
16
+ response = process(
17
+ :fecha_plp_varios_servicos,
17
18
  xml: plp.to_xml,
18
19
  idPlpCliente: id_plp_client,
19
20
  cartaoPostagem: authenticate.card,
@@ -22,9 +23,9 @@ module SigepWeb
22
23
  senha: authenticate.password
23
24
  ).to_hash[:fecha_plp_varios_servicos_response][:return].to_s
24
25
 
25
- { success: true, response: response }
26
+ {success: true, response: response}
26
27
  rescue Savon::SOAPFault => e
27
- { success: false, error: e.message }
28
+ {success: false, error: e.message}
28
29
  end
29
30
 
30
31
  private
@@ -32,4 +33,3 @@ module SigepWeb
32
33
  attr_reader :plp, :id_plp_client, :labels
33
34
  end
34
35
  end
35
-
@@ -13,7 +13,8 @@ module SigepWeb
13
13
  def request
14
14
  authenticate = SigepWeb.configuration.authenticate
15
15
 
16
- response = process(:solicitar_range,
16
+ response = process(
17
+ :solicitar_range,
17
18
  usuario: authenticate.user,
18
19
  senha: authenticate.password,
19
20
  codAdministrativo: authenticate.administrative_code,
@@ -23,13 +24,13 @@ module SigepWeb
23
24
  quantidade: quantity
24
25
  ).to_hash[:solicitar_range_response][:return]
25
26
 
26
- if response[:cod_erro] == '0'
27
- { success: true, response: response }
27
+ if response[:cod_erro] == "0"
28
+ {success: true, response: response}
28
29
  else
29
- { success: false, error: response[:msg_erro] }
30
+ {success: false, error: response[:msg_erro]}
30
31
  end
31
32
  rescue Savon::SOAPFault => e
32
- { success: false, error: e.message }
33
+ {success: false, error: e.message}
33
34
  end
34
35
 
35
36
  private
@@ -37,4 +38,3 @@ module SigepWeb
37
38
  attr_reader :type, :service, :quantity
38
39
  end
39
40
  end
40
-
@@ -11,15 +11,16 @@ module SigepWeb
11
11
  def request
12
12
  authenticate = SigepWeb.configuration.authenticate
13
13
 
14
- response = process(:solicita_xml_plp,
14
+ response = process(
15
+ :solicita_xml_plp,
15
16
  idPlpMaster: id_plp,
16
17
  usuario: authenticate.user,
17
18
  senha: authenticate.password
18
19
  ).to_hash[:solicita_xml_plp_response][:return]
19
20
 
20
- { success: true, response: response }
21
+ {success: true, response: response}
21
22
  rescue Savon::SOAPFault => e
22
- { success: false, error: e.message }
23
+ {success: false, error: e.message}
23
24
  end
24
25
 
25
26
  private
@@ -27,4 +28,3 @@ module SigepWeb
27
28
  attr_reader :id_plp
28
29
  end
29
30
  end
30
-
@@ -3,7 +3,7 @@
3
3
  module SigepWeb
4
4
  class SearchClient < WebServiceInterfaceApi
5
5
  def initialize(id_contract:, id_post_card:)
6
- @id_contract = id_contract
6
+ @id_contract = id_contract
7
7
  @id_post_card = id_post_card
8
8
 
9
9
  super()
@@ -12,16 +12,17 @@ module SigepWeb
12
12
  def request
13
13
  authenticate = SigepWeb.configuration.authenticate
14
14
 
15
- response = process(:busca_cliente,
15
+ response = process(
16
+ :busca_cliente,
16
17
  idContrato: id_contract,
17
18
  idCartaoPostagem: id_post_card,
18
19
  usuario: authenticate.user,
19
20
  senha: authenticate.password
20
21
  ).to_hash[:busca_cliente_response][:return]
21
22
 
22
- { success: true, response: response }
23
+ {success: true, response: response}
23
24
  rescue Savon::SOAPFault => e
24
- { success: false, error: e.message }
25
+ {success: false, error: e.message}
25
26
  end
26
27
 
27
28
  private
@@ -4,8 +4,8 @@ module SigepWeb
4
4
  class ServiceAvailability < WebServiceInterfaceApi
5
5
  def initialize(service_number:, source_zip:, target_zip:)
6
6
  @service_number = service_number
7
- @source_zip = source_zip
8
- @target_zip = target_zip
7
+ @source_zip = source_zip
8
+ @target_zip = target_zip
9
9
 
10
10
  super()
11
11
  end
@@ -13,7 +13,8 @@ module SigepWeb
13
13
  def request
14
14
  authenticate = SigepWeb.configuration.authenticate
15
15
 
16
- response = process(:verifica_disponibilidade_servico,
16
+ response = process(
17
+ :verifica_disponibilidade_servico,
17
18
  codAdministrativo: authenticate.administrative_code,
18
19
  numeroServico: service_number,
19
20
  cepOrigem: source_zip,
@@ -22,9 +23,9 @@ module SigepWeb
22
23
  senha: authenticate.password
23
24
  ).to_hash[:verifica_disponibilidade_servico_response][:return]
24
25
 
25
- { success: true, response: response }
26
+ {success: true, response: response}
26
27
  rescue Savon::SOAPFault => e
27
- { success: false, error: e.message }
28
+ {success: false, error: e.message}
28
29
  end
29
30
 
30
31
  private
@@ -32,4 +33,3 @@ module SigepWeb
32
33
  attr_reader :service_number, :source_zip, :target_zip
33
34
  end
34
35
  end
35
-
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module SigepWeb
4
- VERSION = '1.0.0'
4
+ VERSION = "1.0.1"
5
5
  end
@@ -7,21 +7,21 @@ module SigepWeb
7
7
  end
8
8
 
9
9
  def process(method, message)
10
- @client.call(method, soap_action: '', message: message)
10
+ @client.call(method, soap_action: "", message: message)
11
11
  end
12
12
 
13
13
  private
14
14
 
15
15
  def url
16
16
  if test_env?
17
- 'https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl'
17
+ "https://apphom.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl"
18
18
  else
19
- 'https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl'
19
+ "https://apps.correios.com.br/SigepMasterJPA/AtendeClienteService/AtendeCliente?wsdl"
20
20
  end
21
21
  end
22
22
 
23
23
  def test_env?
24
- (defined?(Rails) && ENV['RAILS_ENV'] == 'test') || ENV['GEM_ENV'] == 'test'
24
+ (defined?(Rails) && ENV["RAILS_ENV"] == "test") || ENV["GEM_ENV"] == "test"
25
25
  end
26
26
  end
27
27
  end
@@ -10,16 +10,17 @@ module SigepWeb
10
10
  end
11
11
 
12
12
  def process(method, message)
13
- @client.call(method, soap_action: '', message: message)
13
+ @client.call(method, soap_action: "", message: message)
14
14
  end
15
15
 
16
16
  private
17
- def url
18
- if ENV['GEM_ENV'] == 'test'
19
- 'http://webservicescolhomologacao.correios.com.br/ScolWeb/WebServiceScol?wsdl'
20
- else
21
- 'http://webservicescol.correios.com.br/ScolWeb/WebServiceScol?wsdl'
22
- end
17
+
18
+ def url
19
+ if ENV["GEM_ENV"] == "test"
20
+ "http://webservicescolhomologacao.correios.com.br/ScolWeb/WebServiceScol?wsdl"
21
+ else
22
+ "http://webservicescol.correios.com.br/ScolWeb/WebServiceScol?wsdl"
23
23
  end
24
+ end
24
25
  end
25
26
  end
@@ -4,7 +4,7 @@ module SigepWeb
4
4
  module XML
5
5
  class AdditionalService
6
6
  def initialize(builder, additional_service)
7
- @builder = builder
7
+ @builder = builder
8
8
  @additional_service = additional_service
9
9
  end
10
10
 
@@ -24,4 +24,3 @@ module SigepWeb
24
24
  end
25
25
  end
26
26
  end
27
-
@@ -4,7 +4,7 @@ module SigepWeb
4
4
  module XML
5
5
  class DimensionObject
6
6
  def initialize(builder, dimension_object)
7
- @builder = builder
7
+ @builder = builder
8
8
  @dimension_object = dimension_object
9
9
  end
10
10
 
@@ -20,4 +20,3 @@ module SigepWeb
20
20
  end
21
21
  end
22
22
  end
23
-
@@ -32,10 +32,8 @@ module SigepWeb
32
32
  @builder.servico_adicional do
33
33
  @builder.codigo_servico_adicional "025"
34
34
 
35
- if postal_object.additional_service_codes
36
- postal_object.additional_service_codes.each do |code|
37
- @builder.codigo_servico_adicional code
38
- end
35
+ postal_object.additional_service_codes&.each do |code|
36
+ @builder.codigo_servico_adicional code
39
37
  end
40
38
 
41
39
  @builder.valor_declarado postal_object.additional_services_declared_value
@@ -51,4 +49,3 @@ module SigepWeb
51
49
  end
52
50
  end
53
51
  end
54
-
@@ -37,4 +37,3 @@ module SigepWeb
37
37
  end
38
38
  end
39
39
  end
40
-
@@ -13,9 +13,9 @@ module SigepWeb
13
13
  :consulta_cep, cep: zip
14
14
  ).to_hash[:consulta_cep_response][:return]
15
15
 
16
- { success: true, response: response }
16
+ {success: true, response: response}
17
17
  rescue Savon::SOAPFault => e
18
- { success: false, error: e.message }
18
+ {success: false, error: e.message}
19
19
  end
20
20
 
21
21
  private