valvat 1.4.1 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/lib/valvat/version.rb +1 -1
- data.tar.gz.sig +0 -0
- metadata +34 -82
- metadata.gz.sig +0 -0
- data/.editorconfig +0 -15
- data/.github/workflows/rubocop.yml +0 -17
- data/.github/workflows/specs.yml +0 -47
- data/.gitignore +0 -9
- data/.rubocop.yml +0 -24
- data/CHANGES.md +0 -419
- data/Gemfile +0 -14
- data/Guardfile +0 -7
- data/MIT-LICENSE +0 -20
- data/README.md +0 -350
- data/Rakefile +0 -10
- data/certs/mite.pem +0 -26
- data/gemfiles/activemodel-5 +0 -8
- data/gemfiles/activemodel-6 +0 -8
- data/gemfiles/activemodel-7 +0 -8
- data/gemfiles/standalone +0 -7
- data/spec/active_model/validations/valvat_validator_spec.rb +0 -274
- data/spec/spec_helper.rb +0 -37
- data/spec/valvat/checksum/at_spec.rb +0 -17
- data/spec/valvat/checksum/be_spec.rb +0 -17
- data/spec/valvat/checksum/bg_spec.rb +0 -18
- data/spec/valvat/checksum/cy_spec.rb +0 -17
- data/spec/valvat/checksum/de_spec.rb +0 -17
- data/spec/valvat/checksum/dk_spec.rb +0 -17
- data/spec/valvat/checksum/ee_spec.rb +0 -17
- data/spec/valvat/checksum/es_spec.rb +0 -65
- data/spec/valvat/checksum/fi_spec.rb +0 -17
- data/spec/valvat/checksum/fr_spec.rb +0 -17
- data/spec/valvat/checksum/gb_spec.rb +0 -34
- data/spec/valvat/checksum/gr_spec.rb +0 -17
- data/spec/valvat/checksum/hr_spec.rb +0 -17
- data/spec/valvat/checksum/hu_spec.rb +0 -17
- data/spec/valvat/checksum/ie_spec.rb +0 -24
- data/spec/valvat/checksum/it_spec.rb +0 -25
- data/spec/valvat/checksum/lt_spec.rb +0 -17
- data/spec/valvat/checksum/lu_spec.rb +0 -17
- data/spec/valvat/checksum/mt_spec.rb +0 -17
- data/spec/valvat/checksum/nl_spec.rb +0 -17
- data/spec/valvat/checksum/pl_spec.rb +0 -21
- data/spec/valvat/checksum/pt_spec.rb +0 -30
- data/spec/valvat/checksum/ro_spec.rb +0 -17
- data/spec/valvat/checksum/se_spec.rb +0 -21
- data/spec/valvat/checksum/si_spec.rb +0 -25
- data/spec/valvat/checksum_spec.rb +0 -40
- data/spec/valvat/lookup/hmrc_spec.rb +0 -58
- data/spec/valvat/lookup/vies_spec.rb +0 -25
- data/spec/valvat/lookup_spec.rb +0 -493
- data/spec/valvat/options_spec.rb +0 -23
- data/spec/valvat/syntax_spec.rb +0 -68
- data/spec/valvat/utils_spec.rb +0 -125
- data/spec/valvat_spec.rb +0 -276
- data/valvat.gemspec +0 -24
data/spec/valvat/utils_spec.rb
DELETED
@@ -1,125 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe Valvat::Utils do
|
6
|
-
describe '#split' do
|
7
|
-
it 'returns country and rest on VAT number as array' do
|
8
|
-
expect(described_class.split('DE345889003')).to eql(%w[DE 345889003])
|
9
|
-
expect(described_class.split('ESX4588900X')).to eql(%w[ES X4588900X])
|
10
|
-
end
|
11
|
-
|
12
|
-
it 'returns two nils on non-european iso codes as array' do
|
13
|
-
expect(described_class.split('US345889003')).to eql([nil, nil])
|
14
|
-
expect(described_class.split('RUX4588900X')).to eql([nil, nil])
|
15
|
-
end
|
16
|
-
|
17
|
-
it 'returns two nils on non-sense input as array' do
|
18
|
-
expect(described_class.split('DE')).to eql([nil, nil])
|
19
|
-
expect(described_class.split('X345889003')).to eql([nil, nil])
|
20
|
-
expect(described_class.split('')).to eql([nil, nil])
|
21
|
-
expect(described_class.split('1234')).to eql([nil, nil])
|
22
|
-
expect(described_class.split(' ')).to eql([nil, nil]) # rubocop:disable Style/RedundantArgument
|
23
|
-
end
|
24
|
-
|
25
|
-
it 'returns EL (language iso code) on greek vat' do
|
26
|
-
expect(described_class.split('EL999999999')).to eql(%w[EL 999999999])
|
27
|
-
end
|
28
|
-
|
29
|
-
it 'returns XI (vat number code) on northern ireland vat' do
|
30
|
-
expect(described_class.split('XI999999999')).to eql(%w[XI 999999999])
|
31
|
-
end
|
32
|
-
end
|
33
|
-
|
34
|
-
describe '#normalize' do
|
35
|
-
it 'returns VAT number with upcase chars' do
|
36
|
-
expect(described_class.normalize('de345889003')).to eql('DE345889003')
|
37
|
-
expect(described_class.normalize('EsX4588900y')).to eql('ESX4588900Y')
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'returns trimmed VAT number' do
|
41
|
-
expect(described_class.normalize(' DE345889003')).to eql('DE345889003')
|
42
|
-
expect(described_class.normalize(' DE345889003 ')).to eql('DE345889003')
|
43
|
-
expect(described_class.normalize('DE345889003 ')).to eql('DE345889003')
|
44
|
-
end
|
45
|
-
|
46
|
-
it 'does not change already normalized VAT numbers' do
|
47
|
-
expect(described_class.normalize('DE345889003')).to eql('DE345889003')
|
48
|
-
expect(described_class.normalize('ESX4588900X')).to eql('ESX4588900X')
|
49
|
-
end
|
50
|
-
|
51
|
-
it 'removes spaces' do
|
52
|
-
expect(described_class.normalize('DE 345889003')).to eql('DE345889003')
|
53
|
-
expect(described_class.normalize('ESX 458 8900 X')).to eql('ESX4588900X')
|
54
|
-
end
|
55
|
-
|
56
|
-
it 'removes special chars' do
|
57
|
-
expect(described_class.normalize('DE.345-889_00:3,;')).to eql('DE345889003')
|
58
|
-
expect(described_class.normalize("→ DE·Ö34588 9003\0 ☺")).to eql(
|
59
|
-
'→DEÖ345889003☺'
|
60
|
-
)
|
61
|
-
end
|
62
|
-
end
|
63
|
-
|
64
|
-
describe '#vat_country_to_iso_country' do
|
65
|
-
it "returns iso country code on greek iso language 'EL'" do
|
66
|
-
expect(described_class.vat_country_to_iso_country('EL')).to eql('GR')
|
67
|
-
end
|
68
|
-
|
69
|
-
it "returns iso country code on northern ireland vat prefix 'XI'" do
|
70
|
-
expect(described_class.vat_country_to_iso_country('XI')).to eql('GB')
|
71
|
-
end
|
72
|
-
|
73
|
-
Valvat::Utils::EU_MEMBER_STATES.each do |iso|
|
74
|
-
it "returns unchanged iso country code '#{iso}'" do
|
75
|
-
expect(described_class.vat_country_to_iso_country(iso)).to eql(iso)
|
76
|
-
end
|
77
|
-
end
|
78
|
-
end
|
79
|
-
|
80
|
-
describe '#iso_country_to_vat_country' do
|
81
|
-
it "returns VAT country EL on greek iso country code 'GR'" do
|
82
|
-
expect(described_class.iso_country_to_vat_country('GR')).to eql('EL')
|
83
|
-
end
|
84
|
-
|
85
|
-
it "returns VAT country XI on british iso country code 'GB'" do
|
86
|
-
expect(described_class.iso_country_to_vat_country('GB')).to eql('XI')
|
87
|
-
end
|
88
|
-
|
89
|
-
Valvat::Utils::EU_MEMBER_STATES.each do |c|
|
90
|
-
next if c == 'GR'
|
91
|
-
|
92
|
-
it "returns unchanged VAT country code '#{c}'" do
|
93
|
-
expect(described_class.iso_country_to_vat_country(c)).to eql(c)
|
94
|
-
end
|
95
|
-
end
|
96
|
-
end
|
97
|
-
|
98
|
-
describe '#country_is_supported?' do
|
99
|
-
Valvat::Utils::EU_MEMBER_STATES.each do |code|
|
100
|
-
it "returns true on #{code}" do
|
101
|
-
expect(described_class.country_is_supported?(code)).to be(true)
|
102
|
-
end
|
103
|
-
end
|
104
|
-
|
105
|
-
it 'returns true on GB' do
|
106
|
-
expect(described_class.country_is_supported?('GB')).to be(true)
|
107
|
-
end
|
108
|
-
|
109
|
-
%w[US AE CA CN BR AU NO ML].each do |code|
|
110
|
-
it "returns false on #{code}" do
|
111
|
-
expect(described_class.country_is_supported?(code)).to be(false)
|
112
|
-
end
|
113
|
-
end
|
114
|
-
end
|
115
|
-
|
116
|
-
describe '#deep_symbolize_keys' do
|
117
|
-
it 'symbolizes keys of flat hash' do
|
118
|
-
expect(described_class.deep_symbolize_keys({ 'a' => 1, :b => 2 })).to eql({ a: 1, b: 2 })
|
119
|
-
end
|
120
|
-
|
121
|
-
it 'symbolizes all hashes' do
|
122
|
-
expect(described_class.deep_symbolize_keys({ 'a' => 1, :b => { 'c' => 3 } })).to eql({ a: 1, b: { c: 3 } })
|
123
|
-
end
|
124
|
-
end
|
125
|
-
end
|
data/spec/valvat_spec.rb
DELETED
@@ -1,276 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'spec_helper'
|
4
|
-
|
5
|
-
describe Valvat do
|
6
|
-
describe '#new' do
|
7
|
-
it 'demands one and only one argument' do
|
8
|
-
expect { described_class.new }.to raise_error(ArgumentError)
|
9
|
-
expect { described_class.new('a', 'b') }.to raise_error(ArgumentError)
|
10
|
-
expect { described_class.new('a') }.not_to raise_error
|
11
|
-
end
|
12
|
-
|
13
|
-
it 'normalizes input string' do
|
14
|
-
expect(described_class.new('de25.9597,69 7').to_s).to eql('DE259597697')
|
15
|
-
expect(described_class.new('de25.9597,69 7').iso_country_code).to eql('DE')
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
|
-
describe 'Valvat()' do
|
20
|
-
it 'initializes new Valvat instance on string' do
|
21
|
-
expect(Valvat('abc')).to be_a(described_class)
|
22
|
-
end
|
23
|
-
|
24
|
-
it 'returns same Valvat instance on Valvat instance' do
|
25
|
-
vat = described_class.new('abc')
|
26
|
-
expect(Valvat(vat)).to be_a(described_class)
|
27
|
-
expect(Valvat(vat).object_id).to eql(vat.object_id)
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
describe '#blank?' do
|
32
|
-
it 'returns true when when initialized with nil' do
|
33
|
-
expect(described_class.new(nil)).to be_blank
|
34
|
-
end
|
35
|
-
|
36
|
-
it 'returns true when when initialized with an empty string' do
|
37
|
-
expect(described_class.new(' ')).to be_blank
|
38
|
-
end
|
39
|
-
|
40
|
-
it 'returns false when initialized with a value' do
|
41
|
-
expect(described_class.new('DE259597697')).not_to be_blank
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
describe 'object equality' do
|
46
|
-
it 'returns true when the underlying number are the same' do
|
47
|
-
first = 'DE259597697'
|
48
|
-
second = 'DE259597697'
|
49
|
-
|
50
|
-
expect(described_class.new(first)).to eql(described_class.new(second))
|
51
|
-
end
|
52
|
-
|
53
|
-
it 'returns true when the underlying number are the same when normalized' do
|
54
|
-
first = 'DE259597697'
|
55
|
-
second = 'DE 2595 9 7697 '
|
56
|
-
|
57
|
-
expect(described_class.new(first)).to eql(described_class.new(second))
|
58
|
-
end
|
59
|
-
|
60
|
-
it 'returns false when the underlying number are different' do
|
61
|
-
first = 'DE259597697'
|
62
|
-
second = 'ATU458890031'
|
63
|
-
|
64
|
-
expect(described_class.new(first)).not_to eql(described_class.new(second))
|
65
|
-
end
|
66
|
-
end
|
67
|
-
|
68
|
-
context 'with european VAT number' do
|
69
|
-
let(:de_vat) { described_class.new('DE259597697') } # valid & exists
|
70
|
-
let(:invalid_checksum) { described_class.new('DE259597687') } # valid & invalid checksum
|
71
|
-
let(:at_vat) { described_class.new('ATU458890031') } # invalid
|
72
|
-
let(:gr_vat) { described_class.new('EL999943280') } # valid & exists
|
73
|
-
|
74
|
-
describe '#valid?' do
|
75
|
-
it 'returns true on valid numbers' do
|
76
|
-
expect(de_vat).to be_valid
|
77
|
-
expect(gr_vat).to be_valid
|
78
|
-
end
|
79
|
-
|
80
|
-
it 'returns false on invalid numbers' do
|
81
|
-
expect(at_vat).not_to be_valid
|
82
|
-
end
|
83
|
-
end
|
84
|
-
|
85
|
-
describe '#valid_checksum?' do
|
86
|
-
it 'returns true on valid numbers' do
|
87
|
-
expect(de_vat).to be_valid_checksum
|
88
|
-
expect(gr_vat).to be_valid_checksum
|
89
|
-
end
|
90
|
-
|
91
|
-
it 'returns false on invalid numbers' do
|
92
|
-
expect(at_vat).not_to be_valid_checksum
|
93
|
-
expect(invalid_checksum).not_to be_valid_checksum
|
94
|
-
end
|
95
|
-
end
|
96
|
-
|
97
|
-
describe '#exist(s)?' do
|
98
|
-
it 'returns true with existing VAT numbers' do
|
99
|
-
allow(Valvat::Lookup).to receive_messages(validate: true)
|
100
|
-
expect(de_vat.exists?).to be(true)
|
101
|
-
expect(gr_vat.exists?).to be(true)
|
102
|
-
expect(de_vat.exist?).to be(true)
|
103
|
-
expect(gr_vat.exist?).to be(true)
|
104
|
-
end
|
105
|
-
|
106
|
-
it 'returns false with not existing VAT numbers' do
|
107
|
-
allow(Valvat::Lookup).to receive_messages(validate: false)
|
108
|
-
expect(at_vat.exists?).to be(false)
|
109
|
-
expect(at_vat.exist?).to be(false)
|
110
|
-
end
|
111
|
-
|
112
|
-
it 'calls Valvat::Lookup.validate with options' do
|
113
|
-
allow(Valvat::Lookup).to receive_messages(validate: true)
|
114
|
-
expect(de_vat.exists?(detail: true, bla: 'blupp')).to be(true)
|
115
|
-
expect(Valvat::Lookup).to have_received(:validate).once.with(
|
116
|
-
de_vat, detail: true, bla: 'blupp'
|
117
|
-
)
|
118
|
-
end
|
119
|
-
end
|
120
|
-
|
121
|
-
describe '#iso_country_code' do
|
122
|
-
it 'returns iso country code on iso_country_code' do
|
123
|
-
expect(de_vat.iso_country_code).to eql('DE')
|
124
|
-
expect(at_vat.iso_country_code).to eql('AT')
|
125
|
-
end
|
126
|
-
|
127
|
-
it 'returns GR iso country code on greek VAT number' do
|
128
|
-
expect(gr_vat.iso_country_code).to eql('GR')
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
describe '#vat_country_code' do
|
133
|
-
it 'returns iso country code on iso_country_code' do
|
134
|
-
expect(de_vat.vat_country_code).to eql('DE')
|
135
|
-
expect(at_vat.vat_country_code).to eql('AT')
|
136
|
-
end
|
137
|
-
|
138
|
-
it 'returns EL iso language code on greek VAT number' do
|
139
|
-
expect(gr_vat.vat_country_code).to eql('EL')
|
140
|
-
end
|
141
|
-
end
|
142
|
-
|
143
|
-
describe '#to_s' do
|
144
|
-
it 'returns full VAT number' do
|
145
|
-
expect(de_vat.to_s).to eql('DE259597697')
|
146
|
-
expect(at_vat.to_s).to eql('ATU458890031')
|
147
|
-
expect(gr_vat.to_s).to eql('EL999943280')
|
148
|
-
end
|
149
|
-
end
|
150
|
-
|
151
|
-
describe '#inspect' do
|
152
|
-
it 'returns VAT number with iso country code' do
|
153
|
-
expect(de_vat.inspect).to eql('#<Valvat DE259597697 DE>')
|
154
|
-
expect(at_vat.inspect).to eql('#<Valvat ATU458890031 AT>')
|
155
|
-
expect(gr_vat.inspect).to eql('#<Valvat EL999943280 GR>')
|
156
|
-
end
|
157
|
-
end
|
158
|
-
|
159
|
-
describe '#to_a' do
|
160
|
-
it 'calls Valvat::Utils.split with raw VAT number and returns result' do
|
161
|
-
allow(Valvat::Utils).to receive(:split).and_return(%w[a b])
|
162
|
-
de_vat # initialize
|
163
|
-
expect(Valvat::Utils).to have_received(:split).once.with('DE259597697')
|
164
|
-
expect(de_vat.to_a).to eql(%w[a b])
|
165
|
-
end
|
166
|
-
end
|
167
|
-
end
|
168
|
-
|
169
|
-
context 'with VAT number from outside of europe' do
|
170
|
-
let(:us_vat) { described_class.new('US345889003') }
|
171
|
-
let(:ch_vat) { described_class.new('CH445889003') }
|
172
|
-
|
173
|
-
describe '#valid?' do
|
174
|
-
it 'returns false' do
|
175
|
-
expect(us_vat).not_to be_valid
|
176
|
-
expect(ch_vat).not_to be_valid
|
177
|
-
end
|
178
|
-
end
|
179
|
-
|
180
|
-
describe '#exist?' do
|
181
|
-
it 'returns false' do
|
182
|
-
expect(us_vat).not_to be_exist
|
183
|
-
expect(ch_vat).not_to be_exist
|
184
|
-
end
|
185
|
-
end
|
186
|
-
|
187
|
-
describe '#iso_country_code' do
|
188
|
-
it 'returns nil' do
|
189
|
-
expect(us_vat.iso_country_code).to be_nil
|
190
|
-
expect(ch_vat.iso_country_code).to be_nil
|
191
|
-
end
|
192
|
-
end
|
193
|
-
|
194
|
-
describe '#vat_country_code' do
|
195
|
-
it 'returns nil' do
|
196
|
-
expect(us_vat.vat_country_code).to be_nil
|
197
|
-
expect(ch_vat.vat_country_code).to be_nil
|
198
|
-
end
|
199
|
-
end
|
200
|
-
|
201
|
-
describe '#to_s' do
|
202
|
-
it 'returns full given VAT number' do
|
203
|
-
expect(us_vat.to_s).to eql('US345889003')
|
204
|
-
expect(ch_vat.to_s).to eql('CH445889003')
|
205
|
-
end
|
206
|
-
end
|
207
|
-
|
208
|
-
describe '#inspect' do
|
209
|
-
it 'returns VAT number without iso country code' do
|
210
|
-
expect(us_vat.inspect).to eql('#<Valvat US345889003>')
|
211
|
-
expect(ch_vat.inspect).to eql('#<Valvat CH445889003>')
|
212
|
-
end
|
213
|
-
end
|
214
|
-
end
|
215
|
-
|
216
|
-
context 'with non-sense/empty VAT number' do
|
217
|
-
let(:only_iso_vat) { described_class.new('DE') }
|
218
|
-
let(:num_vat) { described_class.new('12445889003') }
|
219
|
-
let(:empty_vat) { described_class.new('') }
|
220
|
-
let(:nil_vat) { described_class.new('') }
|
221
|
-
|
222
|
-
describe '#valid?' do
|
223
|
-
it 'returns false' do
|
224
|
-
expect(only_iso_vat).not_to be_valid
|
225
|
-
expect(num_vat).not_to be_valid
|
226
|
-
expect(empty_vat).not_to be_valid
|
227
|
-
expect(nil_vat).not_to be_valid
|
228
|
-
end
|
229
|
-
end
|
230
|
-
|
231
|
-
describe '#exist?' do
|
232
|
-
it 'returns false' do
|
233
|
-
expect(only_iso_vat).not_to be_exist
|
234
|
-
expect(num_vat).not_to be_exist
|
235
|
-
expect(empty_vat).not_to be_exist
|
236
|
-
expect(nil_vat).not_to be_exist
|
237
|
-
end
|
238
|
-
end
|
239
|
-
|
240
|
-
describe '#iso_country_code' do
|
241
|
-
it 'returns nil' do
|
242
|
-
expect(only_iso_vat.iso_country_code).to be_nil
|
243
|
-
expect(num_vat.iso_country_code).to be_nil
|
244
|
-
expect(empty_vat.iso_country_code).to be_nil
|
245
|
-
expect(nil_vat.iso_country_code).to be_nil
|
246
|
-
end
|
247
|
-
end
|
248
|
-
|
249
|
-
describe '#vat_country_code' do
|
250
|
-
it 'returns nil' do
|
251
|
-
expect(only_iso_vat.vat_country_code).to be_nil
|
252
|
-
expect(num_vat.vat_country_code).to be_nil
|
253
|
-
expect(empty_vat.vat_country_code).to be_nil
|
254
|
-
expect(nil_vat.vat_country_code).to be_nil
|
255
|
-
end
|
256
|
-
end
|
257
|
-
|
258
|
-
describe '#to_s' do
|
259
|
-
it 'returns full given VAT number' do
|
260
|
-
expect(only_iso_vat.to_s).to eql('DE')
|
261
|
-
expect(num_vat.to_s).to eql('12445889003')
|
262
|
-
expect(empty_vat.to_s).to eql('')
|
263
|
-
expect(nil_vat.to_s).to eql('')
|
264
|
-
end
|
265
|
-
end
|
266
|
-
|
267
|
-
describe '#inspect' do
|
268
|
-
it 'returns VAT number without iso country code' do
|
269
|
-
expect(only_iso_vat.inspect).to eql('#<Valvat DE>')
|
270
|
-
expect(num_vat.inspect).to eql('#<Valvat 12445889003>')
|
271
|
-
expect(empty_vat.inspect).to eql('#<Valvat >')
|
272
|
-
expect(nil_vat.inspect).to eql('#<Valvat >')
|
273
|
-
end
|
274
|
-
end
|
275
|
-
end
|
276
|
-
end
|
data/valvat.gemspec
DELETED
@@ -1,24 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
$LOAD_PATH.push File.expand_path('lib', __dir__)
|
4
|
-
require 'valvat/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = 'valvat'
|
8
|
-
s.version = Valvat::VERSION
|
9
|
-
s.platform = Gem::Platform::RUBY
|
10
|
-
s.license = 'MIT'
|
11
|
-
s.authors = ['Sebastian Munz']
|
12
|
-
s.email = ['sebastian@mite.de']
|
13
|
-
s.homepage = 'https://github.com/yolk/valvat'
|
14
|
-
s.summary = 'Validates european vat numbers. Standalone or as a ActiveModel validator.'
|
15
|
-
s.description = 'Validates european vat numbers. Standalone or as a ActiveModel validator.'
|
16
|
-
s.files = `git ls-files`.split("\n")
|
17
|
-
s.require_paths = ['lib']
|
18
|
-
s.cert_chain = ['certs/mite.pem']
|
19
|
-
s.signing_key = File.expand_path('~/.ssh/gem-private_key.pem') if $PROGRAM_NAME =~ /gem\z/
|
20
|
-
s.metadata['rubygems_mfa_required'] = 'true'
|
21
|
-
s.required_ruby_version = '>= 2.6.0'
|
22
|
-
|
23
|
-
s.add_runtime_dependency('rexml', '>= 3.2', '< 4.0')
|
24
|
-
end
|