nfe_generator 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/nfe.rb +31 -0
  3. metadata +43 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 5dbced628a59a38428ee15bc40418ebe41bfba6465cf548731c7d286f01b7f84
4
+ data.tar.gz: 6346c44ccc294ee63e05b035e0a4e81912bbc7d8a1361afe03f37758cc0d0b07
5
+ SHA512:
6
+ metadata.gz: 6f6287776842edf44fd6de18b7822cfbb89129934c5bec8d360d692c39a35aa898198d39e4cc1c8a52311accce14ccd27243d54667aec1572b2fef43a3f97bcc
7
+ data.tar.gz: b6c95eeb5407e964eb2dcdbafec4f4ce55e05ca183344de3b83192c6f746bf13586af74c0d7cc4e1a8a09336acfd3085c89ca6fe8ed60223912fe43fffbc2c55
@@ -0,0 +1,31 @@
1
+ class NFE
2
+ def self.valid?(key44)
3
+ return false if key44.blank?
4
+ dig = key44.split("").last.to_i
5
+ dig == digit(key44)
6
+ end
7
+
8
+ def self.digit(key44)
9
+ dig = key44.split("").last.to_i
10
+ key = key44.split("")[0..42].map(&:to_i)
11
+ multipliers = ([2,3,4,5,6,7,8,9] * 6).reverse
12
+ multipliers.shift(5)
13
+
14
+ key_multiplied = []
15
+ key[0..key.size-1].size.times do |index|
16
+ key_multiplied << key[index] * multipliers[index]
17
+ end
18
+ rest = key_multiplied.sum % 11
19
+ return 0 if rest == 0 || rest == 1
20
+ 11 - rest
21
+ end
22
+
23
+ def self.generate
24
+ randon_digits_valid = false
25
+ while !randon_digits_valid do
26
+ randon_digits = 43.times.map{ Random.rand(0..9) }.join
27
+ randon_digits_valid = digit([randon_digits, 0].join)
28
+ end
29
+ [randon_digits, digit([randon_digits, 0].join)].join
30
+ end
31
+ end
metadata ADDED
@@ -0,0 +1,43 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nfe_generator
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Luiz Filipe
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Gerador e validador de cahves nfe
14
+ email: luizfilipeneves@gmail.com
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/nfe.rb
20
+ homepage: https://rubygems.org/gems/gerador_nfe
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubygems_version: 3.0.6
40
+ signing_key:
41
+ specification_version: 4
42
+ summary: Gerador e validador de chaves nfe
43
+ test_files: []