sigep_web 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
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