nfe_generator 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/nfe.rb +31 -0
- metadata +43 -0
checksums.yaml
ADDED
@@ -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
|
data/lib/nfe.rb
ADDED
@@ -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: []
|