qrcode_pix_ruby 0.1.0 → 0.3.3
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 +4 -4
- data/.github/workflows/ci.yml +4 -2
- data/.github/workflows/rubygems.yml +30 -0
- data/.gitignore +3 -1
- data/.rubocop.yml +28 -0
- data/CHANGELOG.md +16 -1
- data/Dockerfile +8 -0
- data/Gemfile +1 -0
- data/README.md +59 -5
- data/Rakefile +3 -1
- data/lib/qrcode_pix_ruby/payload.rb +56 -39
- data/lib/qrcode_pix_ruby/version.rb +1 -1
- data/pix_logo.png +0 -0
- data/qrcode_pix_ruby.gemspec +14 -11
- metadata +54 -17
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 52492ab7a9acf126608e98b81527ed1dace5f8acd90519b5caee3c555e43a9f0
|
|
4
|
+
data.tar.gz: 295667fb9a0927cb28d8969629b72d2ded040ed6d99d26009de22fa51c5b6508
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4fc1af95bea11a989799aa457fe2c54e8c782e4428dc1efc0f9911dd9e9e0ed0433bebcef29ee2cf76bd17f7a6cf9a54ac58e5e8a862ab3b0df30f31a88444eb
|
|
7
|
+
data.tar.gz: ce85d33b412995d7a8ef16b08a704c184cb7c73d57a35520d12d3957921172546dfe3dac5298cccaa5050fcf8a7151f688521f90366bf93b3d8c56b2b0400c73
|
data/.github/workflows/ci.yml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
name:
|
|
1
|
+
name: CI
|
|
2
2
|
|
|
3
3
|
on: [push, pull_request]
|
|
4
4
|
|
|
@@ -7,7 +7,9 @@ jobs:
|
|
|
7
7
|
runs-on: ubuntu-latest
|
|
8
8
|
strategy:
|
|
9
9
|
matrix:
|
|
10
|
-
ruby-version: [2.7, 3.0]
|
|
10
|
+
ruby-version: [2.3, 2.4, 2.5, 2.6, 2.7, 3.0]
|
|
11
|
+
env:
|
|
12
|
+
CODECOV_TOKEN: ${{secrets.CODECOV_TOKEN}}
|
|
11
13
|
steps:
|
|
12
14
|
- uses: actions/checkout@v2
|
|
13
15
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
name: Publish to Rubygems
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
release:
|
|
5
|
+
types: [created]
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
publish-to-rubygems:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v2
|
|
12
|
+
|
|
13
|
+
- name: Install Ruby
|
|
14
|
+
uses: ruby/setup-ruby@v1
|
|
15
|
+
with:
|
|
16
|
+
ruby-version: 3.0
|
|
17
|
+
|
|
18
|
+
- name: Install dependencies
|
|
19
|
+
run: bundle install
|
|
20
|
+
|
|
21
|
+
- name: Publish to Rubygems
|
|
22
|
+
run: |
|
|
23
|
+
mkdir -p $HOME/.gem
|
|
24
|
+
touch $HOME/.gem/credentials
|
|
25
|
+
chmod 0600 $HOME/.gem/credentials
|
|
26
|
+
printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
|
|
27
|
+
gem build *.gemspec
|
|
28
|
+
gem push *.gem
|
|
29
|
+
env:
|
|
30
|
+
GEM_HOST_API_KEY: "${{secrets.RUBYGEMS_AUTH_TOKEN}}"
|
data/.gitignore
CHANGED
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
NewCops: enable
|
|
3
|
+
SuggestExtensions: false
|
|
4
|
+
Exclude:
|
|
5
|
+
- spec/*
|
|
6
|
+
|
|
7
|
+
Layout/LineLength:
|
|
8
|
+
Max: 120
|
|
9
|
+
Exclude:
|
|
10
|
+
- qrcode_pix_ruby.gemspec
|
|
11
|
+
|
|
12
|
+
Metrics/MethodLength:
|
|
13
|
+
Max: 20
|
|
14
|
+
|
|
15
|
+
Gemspec/RequiredRubyVersion:
|
|
16
|
+
Enabled: false
|
|
17
|
+
|
|
18
|
+
Style/Documentation:
|
|
19
|
+
Enabled: false
|
|
20
|
+
|
|
21
|
+
Metrics/AbcSize:
|
|
22
|
+
Enabled: false
|
|
23
|
+
|
|
24
|
+
Metrics/BlockNesting:
|
|
25
|
+
Enabled: false
|
|
26
|
+
|
|
27
|
+
Style/IfUnlessModifier:
|
|
28
|
+
Enabled: false
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
## [Unreleased]
|
|
2
2
|
|
|
3
|
-
## [0.
|
|
3
|
+
## [0.3.3] - 2021-06-25
|
|
4
|
+
|
|
5
|
+
- Rubocop setup
|
|
6
|
+
- Add rubies 2.3, 2.4, 2.5 and 2.6 to support of gem
|
|
7
|
+
|
|
8
|
+
## [0.3.2] - 2021-06-24
|
|
9
|
+
|
|
10
|
+
- Setup for run tests/specs locally with Docker
|
|
11
|
+
|
|
12
|
+
## [0.3.1] - 2021-06-24
|
|
13
|
+
|
|
14
|
+
- More documentation
|
|
15
|
+
|
|
16
|
+
## [0.1.0...0.3.0] - 2021-06-24
|
|
4
17
|
|
|
5
18
|
- Initial release
|
|
19
|
+
- Setup of CI and integrations
|
|
20
|
+
- Skeleton of gem
|
data/Dockerfile
ADDED
data/Gemfile
CHANGED
data/README.md
CHANGED
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
#
|
|
1
|
+
# QRCode Pix Ruby
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://codeclimate.com/github/pedrofurtado/qrcode_pix_ruby/maintainability)
|
|
4
|
+
[](https://codecov.io/gh/pedrofurtado/qrcode_pix_ruby)
|
|
5
|
+
[](https://github.com/pedrofurtado/qrcode_pix_ruby/actions/workflows/ci.yml)
|
|
6
|
+
[](https://badge.fury.io/rb/qrcode_pix_ruby)
|
|
7
|
+
[]()
|
|
8
|
+
[]()
|
|
9
|
+
[](https://github.com/pedrofurtado/qrcode_pix_ruby)
|
|
10
|
+
[](https://github.com/rubocop/rubocop)
|
|
11
|
+
|
|
12
|
+
Ruby gem for Qrcode generation of Pix (Pagamento Instantâneo Brasileiro - Banco Central do Brasil).
|
|
13
|
+
|
|
14
|
+
<img src="https://github.com/pedrofurtado/qrcode_pix_ruby/blob/master/pix_logo.png?raw=true" height="100px" />
|
|
4
15
|
|
|
5
16
|
## Installation
|
|
6
17
|
|
|
@@ -25,17 +36,60 @@ require 'qrcode_pix_ruby'
|
|
|
25
36
|
|
|
26
37
|
pix = QrcodePixRuby::Payload.new
|
|
27
38
|
|
|
28
|
-
pix.pix_key = '
|
|
39
|
+
pix.pix_key = 'minhachavedopix'
|
|
29
40
|
pix.description = 'Pagamento do pedido 123456'
|
|
30
|
-
pix.merchant_name = '
|
|
41
|
+
pix.merchant_name = 'Fulano de Tal'
|
|
31
42
|
pix.merchant_city = 'SAO PAULO'
|
|
32
|
-
pix.transaction_id = '
|
|
43
|
+
pix.transaction_id = 'TID12345'
|
|
33
44
|
pix.amount = '100.00'
|
|
45
|
+
pix.currency = '986'
|
|
46
|
+
pix.country_code = 'BR'
|
|
47
|
+
pix.postal_code = '01131010'
|
|
48
|
+
pix.repeatable = false
|
|
34
49
|
|
|
50
|
+
# QRCode copia-e-cola
|
|
35
51
|
puts pix.payload
|
|
52
|
+
|
|
53
|
+
# QRCode estático
|
|
36
54
|
puts pix.base64
|
|
37
55
|
```
|
|
38
56
|
|
|
57
|
+
🚨 Important note: BACEN (Banco Central do Brasil) sets a variety of rules for each field in QRCode Payload (maximum number of characters, invalid values, mandatory and optional fields, and so on). So, pay attention that a QRCode payload+base64 generated by the gem can be valid, theorically, but may not be accepted in banking apps because of these restrictions (that are out of scope of gem).
|
|
58
|
+
|
|
59
|
+
## Useful links
|
|
60
|
+
|
|
61
|
+
* https://github.com/joseviniciusnunes/qrcode-pix
|
|
62
|
+
* https://www.bcb.gov.br/content/estabilidadefinanceira/forumpireunioes/AnexoI-PadroesParaIniciacaodoPix.pdf
|
|
63
|
+
* https://github.com/renatomb/php_qrcode_pix
|
|
64
|
+
* https://www.gerarpix.com.br
|
|
65
|
+
* https://github.com/fbbergamo/gerador-pix
|
|
66
|
+
* https://pix.ae
|
|
67
|
+
* https://pix.nascent.com.br/tools/pix-qr-decoder
|
|
68
|
+
* https://openpix.com.br/qrcode/scanner
|
|
69
|
+
* https://openpix.com.br/qrcode/debug
|
|
70
|
+
* https://github.com/william-costa/wdev-qrcode-pix-estatico-php
|
|
71
|
+
* https://www.youtube.com/watch?v=eO11iFgrdCA
|
|
72
|
+
* https://qrcodepix.dinheiro.tech
|
|
73
|
+
* http://decoder.qrcodepix.dinheiro.tech
|
|
74
|
+
* https://www.bcb.gov.br/estabilidadefinanceira/pix
|
|
75
|
+
* https://gerencianet.com.br/blog/qr-code-estatico-qr-code-dinamico-no-pix
|
|
76
|
+
* https://blog.juno.com.br/pix-qr-code-estatico-x-qr-code-dinamico
|
|
77
|
+
|
|
78
|
+
## Execute tests/specs
|
|
79
|
+
|
|
80
|
+
To execute gem tests locally, use Docker with the commands below:
|
|
81
|
+
|
|
82
|
+
```bash
|
|
83
|
+
git clone https://github.com/pedrofurtado/qrcode_pix_ruby
|
|
84
|
+
cd qrcode_pix_ruby/
|
|
85
|
+
docker build -t qrcode_pix_ruby_specs .
|
|
86
|
+
|
|
87
|
+
# Then, run this command how many times you want,
|
|
88
|
+
# after editing local files, and so on, to get
|
|
89
|
+
# feedback from test suite of gem.
|
|
90
|
+
docker run -v $(pwd):/app/ -it qrcode_pix_ruby_specs
|
|
91
|
+
```
|
|
92
|
+
|
|
39
93
|
## Contributing
|
|
40
94
|
|
|
41
95
|
Bug reports and pull requests are welcome on GitHub at https://github.com/pedrofurtado/qrcode_pix_ruby. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/pedrofurtado/qrcode_pix_ruby/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
CHANGED
|
@@ -1,47 +1,67 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require 'rqrcode'
|
|
4
|
+
|
|
3
5
|
module QrcodePixRuby
|
|
4
6
|
class Payload
|
|
5
|
-
ID_PAYLOAD_FORMAT_INDICATOR = '00'
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
7
|
+
ID_PAYLOAD_FORMAT_INDICATOR = '00'
|
|
8
|
+
ID_POINT_OF_INITIATION_METHOD = '01'
|
|
9
|
+
ID_MERCHANT_ACCOUNT_INFORMATION = '26'
|
|
10
|
+
ID_MERCHANT_ACCOUNT_INFORMATION_GUI = '00'
|
|
11
|
+
ID_MERCHANT_ACCOUNT_INFORMATION_KEY = '01'
|
|
12
|
+
ID_MERCHANT_ACCOUNT_INFORMATION_DESCRIPTION = '02'
|
|
13
|
+
ID_MERCHANT_CATEGORY_CODE = '52'
|
|
14
|
+
ID_TRANSACTION_CURRENCY = '53'
|
|
15
|
+
ID_TRANSACTION_AMOUNT = '54'
|
|
16
|
+
ID_COUNTRY_CODE = '58'
|
|
17
|
+
ID_MERCHANT_NAME = '59'
|
|
18
|
+
ID_MERCHANT_CITY = '60'
|
|
19
|
+
ID_POSTAL_CODE = '61'
|
|
20
|
+
ID_ADDITIONAL_DATA_FIELD_TEMPLATE = '62'
|
|
21
|
+
ID_ADDITIONAL_DATA_FIELD_TEMPLATE_TXID = '05'
|
|
22
|
+
ID_CRC16 = '63'
|
|
19
23
|
|
|
20
24
|
attr_accessor :pix_key,
|
|
25
|
+
:repeatable,
|
|
26
|
+
:currency,
|
|
27
|
+
:country_code,
|
|
21
28
|
:description,
|
|
29
|
+
:postal_code,
|
|
22
30
|
:merchant_name,
|
|
23
31
|
:merchant_city,
|
|
24
32
|
:transaction_id,
|
|
25
33
|
:amount
|
|
26
34
|
|
|
27
35
|
def payload
|
|
28
|
-
p
|
|
36
|
+
p = ''
|
|
29
37
|
|
|
30
38
|
p += emv(ID_PAYLOAD_FORMAT_INDICATOR, '01')
|
|
39
|
+
p += emv_repeatable
|
|
31
40
|
p += emv_merchant
|
|
32
41
|
p += emv(ID_MERCHANT_CATEGORY_CODE, '0000')
|
|
33
|
-
p += emv(ID_TRANSACTION_CURRENCY, '986')
|
|
34
|
-
p += emv(ID_TRANSACTION_AMOUNT, amount)
|
|
35
|
-
p += emv(ID_COUNTRY_CODE, 'BR')
|
|
42
|
+
p += emv(ID_TRANSACTION_CURRENCY, currency || '986')
|
|
43
|
+
p += emv(ID_TRANSACTION_AMOUNT, amount) if amount
|
|
44
|
+
p += emv(ID_COUNTRY_CODE, country_code || 'BR')
|
|
36
45
|
p += emv(ID_MERCHANT_NAME, merchant_name)
|
|
37
46
|
p += emv(ID_MERCHANT_CITY, merchant_city)
|
|
47
|
+
p += emv(ID_POSTAL_CODE, postal_code) if postal_code
|
|
38
48
|
p += emv_additional_data
|
|
39
49
|
|
|
40
50
|
p + crc16(p)
|
|
41
51
|
end
|
|
42
52
|
|
|
43
53
|
def base64
|
|
44
|
-
|
|
54
|
+
::RQRCode::QRCode.new(payload).as_png(
|
|
55
|
+
bit_depth: 1,
|
|
56
|
+
border_modules: 0,
|
|
57
|
+
color_mode: 0,
|
|
58
|
+
color: 'black',
|
|
59
|
+
file: nil,
|
|
60
|
+
fill: 'white',
|
|
61
|
+
module_px_size: 6,
|
|
62
|
+
resize_exactly_to: false,
|
|
63
|
+
resize_gte_to: false
|
|
64
|
+
).to_data_url
|
|
45
65
|
end
|
|
46
66
|
|
|
47
67
|
private
|
|
@@ -51,42 +71,39 @@ module QrcodePixRuby
|
|
|
51
71
|
"#{id}#{size}#{value}"
|
|
52
72
|
end
|
|
53
73
|
|
|
54
|
-
def
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
merchant_description = emv ID_MERCHANT_ACCOUNT_INFORMATION_DESCRIPTION, description
|
|
74
|
+
def emv_repeatable
|
|
75
|
+
emv(ID_POINT_OF_INITIATION_METHOD, repeatable ? '12' : '11')
|
|
76
|
+
end
|
|
58
77
|
|
|
59
|
-
|
|
78
|
+
def emv_merchant
|
|
79
|
+
merchant_gui = emv(ID_MERCHANT_ACCOUNT_INFORMATION_GUI, 'BR.GOV.BCB.PIX')
|
|
80
|
+
merchant_pix_key = emv(ID_MERCHANT_ACCOUNT_INFORMATION_KEY, pix_key)
|
|
81
|
+
merchant_description = emv(ID_MERCHANT_ACCOUNT_INFORMATION_DESCRIPTION, description) if description
|
|
82
|
+
emv(ID_MERCHANT_ACCOUNT_INFORMATION, "#{merchant_gui}#{merchant_pix_key}#{merchant_description}")
|
|
60
83
|
end
|
|
61
84
|
|
|
62
85
|
def emv_additional_data
|
|
63
|
-
txid = emv(ID_ADDITIONAL_DATA_FIELD_TEMPLATE_TXID, transaction_id)
|
|
64
|
-
emv
|
|
86
|
+
txid = emv(ID_ADDITIONAL_DATA_FIELD_TEMPLATE_TXID, transaction_id || '***')
|
|
87
|
+
emv(ID_ADDITIONAL_DATA_FIELD_TEMPLATE, txid)
|
|
65
88
|
end
|
|
66
89
|
|
|
67
|
-
def crc16(
|
|
68
|
-
extended_payload = "#{
|
|
90
|
+
def crc16(text)
|
|
91
|
+
extended_payload = "#{text}#{ID_CRC16}04"
|
|
69
92
|
extended_payload_length = extended_payload.length
|
|
70
93
|
polynomial = 0x1021
|
|
71
94
|
result = 0xFFFF
|
|
72
95
|
|
|
73
|
-
if extended_payload_length
|
|
96
|
+
if extended_payload_length.positive?
|
|
74
97
|
offset = 0
|
|
75
98
|
|
|
76
99
|
while offset < extended_payload_length
|
|
77
|
-
result
|
|
78
|
-
|
|
100
|
+
result ^= extended_payload[offset].bytes[0] << 8
|
|
79
101
|
bitwise = 0
|
|
80
102
|
|
|
81
103
|
while bitwise < 8
|
|
82
|
-
result
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
result = result ^ polynomial
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
result = result & 0xFFFF
|
|
89
|
-
|
|
104
|
+
result <<= 1
|
|
105
|
+
result ^= polynomial if result & 0x10000 != 0
|
|
106
|
+
result &= 0xFFFF
|
|
90
107
|
bitwise += 1
|
|
91
108
|
end
|
|
92
109
|
|
data/pix_logo.png
ADDED
|
Binary file
|
data/qrcode_pix_ruby.gemspec
CHANGED
|
@@ -5,15 +5,16 @@ require_relative 'lib/qrcode_pix_ruby/version'
|
|
|
5
5
|
Gem::Specification.new do |spec|
|
|
6
6
|
spec.name = 'qrcode_pix_ruby'
|
|
7
7
|
spec.version = QrcodePixRuby::VERSION
|
|
8
|
-
spec.authors = [
|
|
9
|
-
spec.email = [
|
|
10
|
-
spec.summary =
|
|
11
|
-
spec.description =
|
|
12
|
-
spec.homepage =
|
|
13
|
-
spec.license =
|
|
14
|
-
spec.metadata[
|
|
15
|
-
spec.metadata[
|
|
16
|
-
spec.metadata[
|
|
8
|
+
spec.authors = ['Pedro Furtado', 'Marcio de Jesus', 'William Radi', 'Leonardo Comar']
|
|
9
|
+
spec.email = ['pedro.felipe.azevedo.furtado@gmail.com', 'marciodejesusrj@gmail.com', 'williamw@lbv.org.br', 'lfcomar@lbv.org.br']
|
|
10
|
+
spec.summary = 'Ruby gem for Qrcode generation of Pix (Pagamento Instantâneo Brasileiro - Banco Central do Brasil)'
|
|
11
|
+
spec.description = 'Ruby gem for Qrcode generation of Pix (Pagamento Instantâneo Brasileiro - Banco Central do Brasil)'
|
|
12
|
+
spec.homepage = 'https://github.com/pedrofurtado/qrcode_pix_ruby'
|
|
13
|
+
spec.license = 'MIT'
|
|
14
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
15
|
+
spec.metadata['source_code_uri'] = spec.homepage
|
|
16
|
+
spec.metadata['changelog_uri'] = "#{spec.homepage}/CHANGELOG.md"
|
|
17
|
+
spec.required_ruby_version = '>= 2.3.0'
|
|
17
18
|
|
|
18
19
|
spec.files = Dir.chdir(File.expand_path(__dir__)) do
|
|
19
20
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{\A(?:test|spec|features)/}) }
|
|
@@ -23,6 +24,8 @@ Gem::Specification.new do |spec|
|
|
|
23
24
|
spec.executables = spec.files.grep(%r{\Aexe/}) { |f| File.basename(f) }
|
|
24
25
|
spec.require_paths = ['lib']
|
|
25
26
|
|
|
26
|
-
spec.add_dependency '
|
|
27
|
-
spec.
|
|
27
|
+
spec.add_dependency 'rqrcode'
|
|
28
|
+
spec.add_development_dependency 'rake'
|
|
29
|
+
spec.add_development_dependency 'rspec'
|
|
30
|
+
spec.add_development_dependency 'rubocop'
|
|
28
31
|
end
|
metadata
CHANGED
|
@@ -1,58 +1,94 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: qrcode_pix_ruby
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.3.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Pedro Furtado
|
|
8
|
-
|
|
8
|
+
- Marcio de Jesus
|
|
9
|
+
- William Radi
|
|
10
|
+
- Leonardo Comar
|
|
11
|
+
autorequire:
|
|
9
12
|
bindir: exe
|
|
10
13
|
cert_chain: []
|
|
11
|
-
date: 2021-06-
|
|
14
|
+
date: 2021-06-26 00:00:00.000000000 Z
|
|
12
15
|
dependencies:
|
|
13
16
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
17
|
+
name: rqrcode
|
|
15
18
|
requirement: !ruby/object:Gem::Requirement
|
|
16
19
|
requirements:
|
|
17
|
-
- - "
|
|
20
|
+
- - ">="
|
|
18
21
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
22
|
+
version: '0'
|
|
20
23
|
type: :runtime
|
|
21
24
|
prerelease: false
|
|
22
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
26
|
requirements:
|
|
24
|
-
- - "
|
|
27
|
+
- - ">="
|
|
28
|
+
- !ruby/object:Gem::Version
|
|
29
|
+
version: '0'
|
|
30
|
+
- !ruby/object:Gem::Dependency
|
|
31
|
+
name: rake
|
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
|
33
|
+
requirements:
|
|
34
|
+
- - ">="
|
|
35
|
+
- !ruby/object:Gem::Version
|
|
36
|
+
version: '0'
|
|
37
|
+
type: :development
|
|
38
|
+
prerelease: false
|
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
40
|
+
requirements:
|
|
41
|
+
- - ">="
|
|
25
42
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
43
|
+
version: '0'
|
|
27
44
|
- !ruby/object:Gem::Dependency
|
|
28
45
|
name: rspec
|
|
29
46
|
requirement: !ruby/object:Gem::Requirement
|
|
30
47
|
requirements:
|
|
31
|
-
- - "
|
|
48
|
+
- - ">="
|
|
32
49
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
34
|
-
type: :
|
|
50
|
+
version: '0'
|
|
51
|
+
type: :development
|
|
52
|
+
prerelease: false
|
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
54
|
+
requirements:
|
|
55
|
+
- - ">="
|
|
56
|
+
- !ruby/object:Gem::Version
|
|
57
|
+
version: '0'
|
|
58
|
+
- !ruby/object:Gem::Dependency
|
|
59
|
+
name: rubocop
|
|
60
|
+
requirement: !ruby/object:Gem::Requirement
|
|
61
|
+
requirements:
|
|
62
|
+
- - ">="
|
|
63
|
+
- !ruby/object:Gem::Version
|
|
64
|
+
version: '0'
|
|
65
|
+
type: :development
|
|
35
66
|
prerelease: false
|
|
36
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
68
|
requirements:
|
|
38
|
-
- - "
|
|
69
|
+
- - ">="
|
|
39
70
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
71
|
+
version: '0'
|
|
41
72
|
description: Ruby gem for Qrcode generation of Pix (Pagamento Instantâneo Brasileiro
|
|
42
73
|
- Banco Central do Brasil)
|
|
43
74
|
email:
|
|
44
75
|
- pedro.felipe.azevedo.furtado@gmail.com
|
|
76
|
+
- marciodejesusrj@gmail.com
|
|
77
|
+
- williamw@lbv.org.br
|
|
78
|
+
- lfcomar@lbv.org.br
|
|
45
79
|
executables: []
|
|
46
80
|
extensions: []
|
|
47
81
|
extra_rdoc_files: []
|
|
48
82
|
files:
|
|
49
83
|
- ".github/workflows/ci.yml"
|
|
84
|
+
- ".github/workflows/rubygems.yml"
|
|
50
85
|
- ".gitignore"
|
|
51
86
|
- ".rspec"
|
|
87
|
+
- ".rubocop.yml"
|
|
52
88
|
- CHANGELOG.md
|
|
53
89
|
- CODE_OF_CONDUCT.md
|
|
90
|
+
- Dockerfile
|
|
54
91
|
- Gemfile
|
|
55
|
-
- Gemfile.lock
|
|
56
92
|
- LICENSE.txt
|
|
57
93
|
- README.md
|
|
58
94
|
- Rakefile
|
|
@@ -61,6 +97,7 @@ files:
|
|
|
61
97
|
- lib/qrcode_pix_ruby.rb
|
|
62
98
|
- lib/qrcode_pix_ruby/payload.rb
|
|
63
99
|
- lib/qrcode_pix_ruby/version.rb
|
|
100
|
+
- pix_logo.png
|
|
64
101
|
- qrcode_pix_ruby.gemspec
|
|
65
102
|
homepage: https://github.com/pedrofurtado/qrcode_pix_ruby
|
|
66
103
|
licenses:
|
|
@@ -69,7 +106,7 @@ metadata:
|
|
|
69
106
|
homepage_uri: https://github.com/pedrofurtado/qrcode_pix_ruby
|
|
70
107
|
source_code_uri: https://github.com/pedrofurtado/qrcode_pix_ruby
|
|
71
108
|
changelog_uri: https://github.com/pedrofurtado/qrcode_pix_ruby/CHANGELOG.md
|
|
72
|
-
post_install_message:
|
|
109
|
+
post_install_message:
|
|
73
110
|
rdoc_options: []
|
|
74
111
|
require_paths:
|
|
75
112
|
- lib
|
|
@@ -77,7 +114,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
77
114
|
requirements:
|
|
78
115
|
- - ">="
|
|
79
116
|
- !ruby/object:Gem::Version
|
|
80
|
-
version:
|
|
117
|
+
version: 2.3.0
|
|
81
118
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
82
119
|
requirements:
|
|
83
120
|
- - ">="
|
|
@@ -85,7 +122,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
85
122
|
version: '0'
|
|
86
123
|
requirements: []
|
|
87
124
|
rubygems_version: 3.2.15
|
|
88
|
-
signing_key:
|
|
125
|
+
signing_key:
|
|
89
126
|
specification_version: 4
|
|
90
127
|
summary: Ruby gem for Qrcode generation of Pix (Pagamento Instantâneo Brasileiro -
|
|
91
128
|
Banco Central do Brasil)
|