dni_faker 0.3

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/dni_faker.rb +27 -0
  3. metadata +58 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4fe5de48d5b749b612a02b19abba44d0f86c8e5c
4
+ data.tar.gz: b9ca74796860f5503858a9e8adaec5167bd31fbf
5
+ SHA512:
6
+ metadata.gz: 866f396904fd64caca80f49fcb0daf0e75c87036bb43c07765d4caeaa4e1491ebcd24d2ea93d209498b76e5d013e310a4fac1a9335ebedf5574d6842e4c8f849
7
+ data.tar.gz: 82b0db567cb8ac7bfc4fbe220420448c8c734efca74d74920a4d0487a6d71ef19edd835e881d65d155985f61a27e3fb4ea87f40c5bc07fb5d77cd22eb2dbadec
data/lib/dni_faker.rb ADDED
@@ -0,0 +1,27 @@
1
+ require 'faker'
2
+
3
+ module Faker
4
+ class DNI
5
+ class << self
6
+ def dni()
7
+ number = Faker::Number.number(8).to_i
8
+ "#{number}#{nif_letter(number)}"
9
+ end
10
+
11
+ def nie()
12
+ available_letters = [:X, :Y]
13
+ first_letter = available_letters.sample
14
+ first_letter_value = available_letters.index(first_letter)
15
+ number_part = Faker::Number.number(7)
16
+ number_for_calculation = "#{first_letter_value}#{number_part}".to_i
17
+ "#{first_letter}#{number_part}#{nif_letter(number_for_calculation)}"
18
+ end
19
+
20
+ private
21
+ def nif_letter(number)
22
+ nif_seq = 'TRWAGMYFPDXBNJZSQVHLCKE'
23
+ nif_seq[number % nif_seq.length]
24
+ end
25
+ end
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,58 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: dni_faker
3
+ version: !ruby/object:Gem::Version
4
+ version: '0.3'
5
+ platform: ruby
6
+ authors:
7
+ - Dani Latorre
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-07-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faker
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ description: A simple faker to generate DNI or NIE numbers with letter
28
+ email: dani@danilat.com
29
+ executables: []
30
+ extensions: []
31
+ extra_rdoc_files: []
32
+ files:
33
+ - lib/dni_faker.rb
34
+ homepage: https://github.com/danilat/dni_faker
35
+ licenses:
36
+ - MIT
37
+ metadata: {}
38
+ post_install_message:
39
+ rdoc_options: []
40
+ require_paths:
41
+ - lib
42
+ required_ruby_version: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - '>='
45
+ - !ruby/object:Gem::Version
46
+ version: '0'
47
+ required_rubygems_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - '>='
50
+ - !ruby/object:Gem::Version
51
+ version: '0'
52
+ requirements: []
53
+ rubyforge_project:
54
+ rubygems_version: 2.4.6
55
+ signing_key:
56
+ specification_version: 4
57
+ summary: Generate valid DNI or NIE numbers
58
+ test_files: []