id_ecuador 0.0.1.alpha → 0.0.1.beta
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.
- data/CHANGELOG.md +14 -0
- data/README.md +47 -29
- data/id_ecuador.gemspec +1 -0
- data/lib/id_ecuador.rb +18 -1
- data/lib/id_ecuador/id.rb +26 -0
- data/lib/id_ecuador/model_additions.rb +19 -2
- data/lib/id_ecuador/railtie.rb +1 -0
- data/lib/id_ecuador/version.rb +1 -1
- data/spec/factories.rb +17 -0
- data/spec/id_ecuador/id_spec.rb +9 -9
- data/spec/id_ecuador/model_additions_spec.rb +30 -9
- data/spec/id_ecuador_spec.rb +4 -1
- data/spec/spec_helper.rb +1 -0
- metadata +20 -1
data/CHANGELOG.md
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
# Changelog
|
2
|
+
|
3
|
+
## v0.0.1.alpha
|
4
|
+
|
5
|
+
*Versión inicial*
|
6
|
+
|
7
|
+
* La clase **IdEcuador::Id** valida cédulas, RUCs
|
8
|
+
|
9
|
+
## v0.0.1.beta
|
10
|
+
|
11
|
+
* Agregado `IdEcuador.new` como alias de `IdEcuador::Id.new`
|
12
|
+
* Verificando que cuando un modelo en rails utiliza el validador, no se vuelva a instanciar otro validador a menos que la identificación (atributo) del mismo cambie.
|
13
|
+
* Agregado `factory_girl` para testing
|
14
|
+
* Tests refactored
|
data/README.md
CHANGED
@@ -1,8 +1,12 @@
|
|
1
1
|
# IdEcuador
|
2
|
-
[](https://travis-ci.org/macool/id_ecuador)
|
3
2
|
|
4
3
|
Gema para validar la cédula o ruc de Ecuador
|
5
4
|
|
5
|
+
## Status
|
6
|
+
|
7
|
+
[](https://travis-ci.org/macool/id_ecuador)
|
8
|
+
[](http://badge.fury.io/rb/id_ecuador)
|
9
|
+
|
6
10
|
## Installation
|
7
11
|
|
8
12
|
Add this line to your application's Gemfile:
|
@@ -19,44 +23,58 @@ Or install it yourself as:
|
|
19
23
|
|
20
24
|
## Usage
|
21
25
|
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
26
|
+
```ruby
|
27
|
+
require "id_ecuador"
|
28
|
+
|
29
|
+
cedula = IdEcuador::Id.new "1104680135"
|
30
|
+
cedula.valid? # => true
|
31
|
+
cedula.tipo_id # => "Cédula Persona natural"
|
32
|
+
cedula.codigo_provincia # => 11
|
27
33
|
|
28
|
-
|
29
|
-
|
30
|
-
|
34
|
+
cedula_invalida = IdEcuador::Id.new "1105680134"
|
35
|
+
cedula_invalida.errors # => ["ID inválida"]
|
36
|
+
```
|
31
37
|
|
32
38
|
No validar automáticamente:
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
cedula = IdEcuador::Id.new "1104680135", auto_validate: false
|
42
|
+
cedula.validate!.valid?
|
43
|
+
```
|
37
44
|
|
38
45
|
## Rails
|
39
46
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
47
|
+
```ruby
|
48
|
+
class User < ActiveRecord::Base
|
49
|
+
validates_id :identificacion
|
50
|
+
end
|
51
|
+
```
|
45
52
|
|
46
53
|
Con opciones:
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
54
|
+
|
55
|
+
```ruby
|
56
|
+
class User < ActiveRecord::Base
|
57
|
+
validates_id :identificacion, allow_blank: false, message: "Cédula inválida", only: [:cedula, :ruc]
|
58
|
+
end
|
59
|
+
```
|
52
60
|
|
53
61
|
Ejemplo API Rails:
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
62
|
+
|
63
|
+
```ruby
|
64
|
+
user = User.new identificacion: "110468135001"
|
65
|
+
user.identificacion_id_validator.class # => IdEcuador::Id
|
66
|
+
user.identificacion_tipo_id # => "RUC Persona natural"
|
67
|
+
user.identificacion_codigo_provincia # => 11
|
68
|
+
```
|
69
|
+
|
70
|
+
## Documentación
|
71
|
+
|
72
|
+
[rubydoc](http://rubydoc.info/github/macool/id_ecuador/master/frames)
|
73
|
+
|
74
|
+
## TODO
|
75
|
+
|
76
|
+
- [ ] Documentar
|
77
|
+
- [ ] Escribir la documentación en un solo idioma
|
60
78
|
|
61
79
|
## Contributing
|
62
80
|
|
data/id_ecuador.gemspec
CHANGED
data/lib/id_ecuador.rb
CHANGED
@@ -3,6 +3,23 @@ require "id_ecuador/id"
|
|
3
3
|
require "id_ecuador/model_additions"
|
4
4
|
require "id_ecuador/railtie" if defined? Rails
|
5
5
|
|
6
|
+
# Este módulo debe servir como <em>namespace</em>
|
7
|
+
#
|
8
|
+
# @author macool <a@macool.me>
|
9
|
+
#
|
10
|
+
# Contiene:
|
11
|
+
# Clases:
|
12
|
+
# * <tt>Id</tt>
|
13
|
+
#
|
14
|
+
# Módulos:
|
15
|
+
# * <tt>ModelAdditions</tt>
|
16
|
+
# * <tt>Railtie</tt>
|
6
17
|
module IdEcuador
|
7
|
-
|
18
|
+
|
19
|
+
# Alias al método #new de la clase IdEcuador::Id
|
20
|
+
# @example Instanciar ID
|
21
|
+
# IdEcuador.new("1104680135").class #=> IdEcuador::Id
|
22
|
+
def self.new(*args)
|
23
|
+
IdEcuador::Id.new(*args)
|
24
|
+
end
|
8
25
|
end
|
data/lib/id_ecuador/id.rb
CHANGED
@@ -1,10 +1,30 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
module IdEcuador
|
4
|
+
# Clase que va a analizar la cédula. Recibe un id y unas opciones
|
5
|
+
# @attr_reader [Array] errors Los errores que tiene el ID. Array vacío si es un ID válido
|
6
|
+
#
|
7
|
+
# @attr_reader [String] tipo_id El tipo de identificación. Puede ser:
|
8
|
+
# - "Cédula Persona natural"
|
9
|
+
# - "RUC Persona natural"
|
10
|
+
# - "Sociedad pública"
|
11
|
+
# - "Sociedad privada o extranjera"
|
12
|
+
#
|
13
|
+
# @attr_reader [Fixnum] codigo_provincia El código de la provincia del ID ingresado
|
14
|
+
#
|
15
|
+
# @attr_reader [Symbol] tipo_id_sym El tipo de identificación en símbolo. Puede ser:
|
16
|
+
# - :ruc
|
17
|
+
# - :cedula
|
18
|
+
# - :sociedad_publica
|
19
|
+
# - :sociedad_privada
|
20
|
+
#
|
4
21
|
class Id
|
5
22
|
|
6
23
|
attr_reader :errors, :tipo_id, :codigo_provincia, :tipo_id_sym
|
7
24
|
|
25
|
+
# @param [String] id El ID que se va a analizar
|
26
|
+
# @param [Hash] options Las opciones
|
27
|
+
# @option options [Boolean] :auto_validate Validar automáticamente el ID al instanciar. <tt>true</tt> por defecto
|
8
28
|
def initialize(id="", options={})
|
9
29
|
@id = id.to_s
|
10
30
|
@errors = []
|
@@ -15,15 +35,21 @@ module IdEcuador
|
|
15
35
|
@options = defaults.merge options
|
16
36
|
validate! if @options[:auto_validate]
|
17
37
|
end
|
38
|
+
|
39
|
+
# @return [Boolean] Si es un ID válido o no
|
18
40
|
def valid?
|
19
41
|
validate! unless already_validated
|
20
42
|
@errors.empty?
|
21
43
|
end
|
44
|
+
|
45
|
+
# @return [self] Método que valida
|
22
46
|
def validate!
|
23
47
|
@already_validated = true
|
24
48
|
validate_length and evaluate_province_code and evaluate_third_digit
|
25
49
|
self
|
26
50
|
end
|
51
|
+
|
52
|
+
# @return [Boolean] Si el ID ya ha sido validado
|
27
53
|
def already_validated
|
28
54
|
!!@already_validated
|
29
55
|
end
|
@@ -1,20 +1,32 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
3
|
module IdEcuador
|
4
|
+
# Módulo que agrega funcionalidad a los modelos de Rails
|
5
|
+
# Permite llamar a <tt>validates_id</tt> dentro de un modelo de Rails
|
4
6
|
module ModelAdditions
|
7
|
+
|
8
|
+
# @param [Symbol] attribute Atributo que va a validar IdEcuador::Id
|
9
|
+
# @param [Hash] options Opciones para la validación
|
10
|
+
# @option options [Boolean] :allow_blank Poner (o no) errores si el atributo es nulo
|
11
|
+
# @option options [String] :message Mensaje de error que se va a poner en el atributo
|
12
|
+
# @option options [Array] :only Tipos de ID que se va a permitir: <tt>[:cedula, :ruc, :sociedad_publica, :sociedad_privada]</tt>
|
5
13
|
def validates_id(attribute, options={})
|
6
|
-
|
14
|
+
|
15
|
+
# parse options:
|
7
16
|
defaults = {
|
8
17
|
allow_blank: true,
|
9
18
|
message: nil,
|
10
19
|
only: []
|
11
20
|
}
|
21
|
+
# options for :only: [:cedula, :ruc, :sociedad_publica, :sociedad_privada]
|
12
22
|
options = defaults.merge options
|
13
23
|
|
14
|
-
# to array if not:
|
24
|
+
# transform options[:only] to array if it's not:
|
15
25
|
unless options[:only].class == Array
|
16
26
|
options[:only] = [options[:only]]
|
17
27
|
end
|
28
|
+
|
29
|
+
|
18
30
|
# poner métodos:
|
19
31
|
|
20
32
|
# getter del atributo que siempre retorna una instancia de IdEcuador::Id y se encarga de hacer cache basado en el valor del atributo
|
@@ -38,15 +50,19 @@ module IdEcuador
|
|
38
50
|
end
|
39
51
|
EVAL
|
40
52
|
|
53
|
+
# método de validación
|
41
54
|
validate do
|
55
|
+
# Agregar error si <tt>allow_blank</tt> es <tt>false</tt> y <tt>attribute</tt> está en blanco
|
42
56
|
if not options[:allow_blank] and send(:"#{attribute}").blank?
|
43
57
|
errors.add attribute.to_sym, (options[:message] or "No puede quedar en blanco")
|
44
58
|
else
|
45
59
|
# normal validations:
|
46
60
|
if not send(:"#{attribute}").blank? and not send(:"#{attribute}_id_validator").valid?
|
47
61
|
if options[:message]
|
62
|
+
# poner <tt>options[:message]</tt> si algo está mal
|
48
63
|
errors.add attribute.to_sym, options[:message]
|
49
64
|
else
|
65
|
+
# poner los mensajes por defecto si no hay un <tt>options[:message]</tt>
|
50
66
|
send(:"#{attribute}_id_validator").errors.each do |error|
|
51
67
|
errors.add attribute.to_sym, error
|
52
68
|
end
|
@@ -55,6 +71,7 @@ module IdEcuador
|
|
55
71
|
# for options:
|
56
72
|
unless options[:only].empty?
|
57
73
|
unless options[:only].include?(send(:"#{attribute}_id_validator").tipo_id_sym)
|
74
|
+
# si está especificado <tt>options[:only]</tt>, validar que el tipo de ID esté permitido
|
58
75
|
errors.add attribute.to_sym, (options[:message] or "Tipo de identificación no permitido")
|
59
76
|
end
|
60
77
|
end
|
data/lib/id_ecuador/railtie.rb
CHANGED
data/lib/id_ecuador/version.rb
CHANGED
data/spec/factories.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require "factory_girl"
|
2
|
+
|
3
|
+
CEDULA_VALIDA = "1104680135"
|
4
|
+
CEDULA_INVALIDA = "1104680134"
|
5
|
+
RUC_VALIDO = "1104680135001"
|
6
|
+
|
7
|
+
FactoryGirl.define do
|
8
|
+
factory :user do
|
9
|
+
identificacion CEDULA_VALIDA
|
10
|
+
end
|
11
|
+
factory :user_invalid, class: "User" do
|
12
|
+
identificacion CEDULA_INVALIDA
|
13
|
+
end
|
14
|
+
factory :user_ruc, class: "User" do
|
15
|
+
identificacion RUC_VALIDO
|
16
|
+
end
|
17
|
+
end
|
data/spec/id_ecuador/id_spec.rb
CHANGED
@@ -5,12 +5,12 @@ describe IdEcuador::Id do
|
|
5
5
|
|
6
6
|
describe "interfaz de la clase" do
|
7
7
|
it "debe llamar automáticamente al método validate!" do
|
8
|
-
id = IdEcuador::Id.new
|
8
|
+
id = IdEcuador::Id.new CEDULA_VALIDA
|
9
9
|
id.send(:already_validated).should be_true
|
10
10
|
end
|
11
11
|
it "no debe llamar automáticamente al método validate!" do
|
12
12
|
IdEcuador::Id.any_instance.stub(:validate!)
|
13
|
-
id = IdEcuador::Id.new
|
13
|
+
id = IdEcuador::Id.new CEDULA_VALIDA, validate: false
|
14
14
|
id.send(:already_validated).should be_false
|
15
15
|
end
|
16
16
|
end
|
@@ -27,11 +27,11 @@ describe IdEcuador::Id do
|
|
27
27
|
id.errors.should include(@error)
|
28
28
|
end
|
29
29
|
it "no debería incluir problemas de longitud con 10 caracteres" do
|
30
|
-
id = IdEcuador::Id.new
|
30
|
+
id = IdEcuador::Id.new CEDULA_VALIDA
|
31
31
|
id.errors.should_not include(@error)
|
32
32
|
end
|
33
33
|
it "no debería incluir problemas de longitud con 13 caracteres" do
|
34
|
-
id = IdEcuador::Id.new
|
34
|
+
id = IdEcuador::Id.new RUC_VALIDO
|
35
35
|
id.errors.should_not include(@error)
|
36
36
|
end
|
37
37
|
it "debería fallar con longitud mayor a 13 caracteres" do
|
@@ -47,7 +47,7 @@ describe IdEcuador::Id do
|
|
47
47
|
id.errors.should include("Código de provincia incorrecto")
|
48
48
|
end
|
49
49
|
it "debería decir que el código de la provincia es 11" do
|
50
|
-
id = IdEcuador::Id.new
|
50
|
+
id = IdEcuador::Id.new CEDULA_VALIDA
|
51
51
|
id.codigo_provincia.should eq(11)
|
52
52
|
end
|
53
53
|
end
|
@@ -74,11 +74,11 @@ describe IdEcuador::Id do
|
|
74
74
|
# 6 -> sociedades públicas
|
75
75
|
# 0..5 -> personas naturales
|
76
76
|
it "debería decir que es una persona natural" do
|
77
|
-
id = IdEcuador::Id.new
|
77
|
+
id = IdEcuador::Id.new CEDULA_VALIDA
|
78
78
|
id.tipo_id.should eq("Cédula Persona natural")
|
79
79
|
end
|
80
80
|
it "debería decir que es el RUC de una persona natural" do
|
81
|
-
id = IdEcuador::Id.new
|
81
|
+
id = IdEcuador::Id.new RUC_VALIDO
|
82
82
|
id.tipo_id.should eq("RUC Persona natural")
|
83
83
|
end
|
84
84
|
it "debería decir que es una sociedad pública" do
|
@@ -93,10 +93,10 @@ describe IdEcuador::Id do
|
|
93
93
|
|
94
94
|
describe "probar con algunas cédulas" do
|
95
95
|
it "debería decir que esta cédula es válida" do
|
96
|
-
IdEcuador::Id.new(
|
96
|
+
IdEcuador::Id.new(CEDULA_VALIDA).valid?.should be_true
|
97
97
|
end
|
98
98
|
it "debería decir que esta cédula es inválida" do
|
99
|
-
IdEcuador::Id.new(
|
99
|
+
IdEcuador::Id.new(CEDULA_INVALIDA).valid?.should be_false
|
100
100
|
end
|
101
101
|
it "debería decir que estas cédulas son válidas" do
|
102
102
|
["1104077209",
|
@@ -16,12 +16,32 @@ describe IdEcuador::ModelAdditions do
|
|
16
16
|
user.save.should be_true
|
17
17
|
end
|
18
18
|
|
19
|
+
describe "cache on #attribute_id_validator" do
|
20
|
+
it "debería decir que el id del objeto que retorna el método es el mismo mientras la identificación no cambie" do
|
21
|
+
user = FactoryGirl.build :user
|
22
|
+
id = user.identificacion_id_validator.object_id
|
23
|
+
user.identificacion_id_validator.object_id.should eq(id)
|
24
|
+
end
|
25
|
+
it "no debería expirar el caché si se reasigna el mismo ID" do
|
26
|
+
user = FactoryGirl.build :user
|
27
|
+
id = user.identificacion_id_validator.object_id
|
28
|
+
user.identificacion = FactoryGirl.attributes_for(:user)[:identificacion]
|
29
|
+
user.identificacion_id_validator.object_id.should eq(id)
|
30
|
+
end
|
31
|
+
it "debería expirar el caché si se reasigna otro ID" do
|
32
|
+
user = FactoryGirl.build :user
|
33
|
+
id = user.identificacion_id_validator.object_id
|
34
|
+
user.identificacion = FactoryGirl.attributes_for(:user_invalid)[:identificacion]
|
35
|
+
user.identificacion_id_validator.object_id.should_not eq(id)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
19
39
|
describe "valida el ID de un usuario antes de guardarlo a la base de datos" do
|
20
40
|
it "debería decir que es válido" do
|
21
|
-
|
41
|
+
FactoryGirl.build(:user).valid?.should be_true
|
22
42
|
end
|
23
43
|
it "debería decir que es inválido" do
|
24
|
-
user =
|
44
|
+
user = FactoryGirl.build(:user_invalid)
|
25
45
|
user.save.should be_false
|
26
46
|
user.errors[:identificacion].should include("ID inválida")
|
27
47
|
end
|
@@ -52,12 +72,12 @@ describe IdEcuador::ModelAdditions do
|
|
52
72
|
|
53
73
|
describe "debe agregar métodos al atributo" do
|
54
74
|
it "debe agregar método `identificacion_tipo_id`" do
|
55
|
-
user =
|
75
|
+
user = FactoryGirl.build(:user)
|
56
76
|
user.respond_to?(:identificacion_tipo_id).should be_true
|
57
77
|
user.identificacion_tipo_id.should eq("Cédula Persona natural")
|
58
78
|
end
|
59
79
|
it "debe agregar método `identificacion_codigo_provincia`" do
|
60
|
-
user =
|
80
|
+
user = FactoryGirl.build(:user)
|
61
81
|
user.respond_to?(:identificacion_codigo_provincia).should be_true
|
62
82
|
user.identificacion_codigo_provincia.should eq(11)
|
63
83
|
end
|
@@ -77,6 +97,7 @@ describe IdEcuador::ModelAdditions do
|
|
77
97
|
user.errors[:identificacion].should include("No puede quedar en blanco")
|
78
98
|
end
|
79
99
|
end
|
100
|
+
|
80
101
|
describe "specify message" do
|
81
102
|
class UserWithOptionsMessage < SuperModel::Base
|
82
103
|
extend IdEcuador::ModelAdditions
|
@@ -89,7 +110,7 @@ describe IdEcuador::ModelAdditions do
|
|
89
110
|
user.errors[:identificacion].should eq(["Not valid!"])
|
90
111
|
end
|
91
112
|
it "debería mostrar 'Not valid!' como error con cédula" do
|
92
|
-
user = UserWithOptionsMessage.new
|
113
|
+
user = UserWithOptionsMessage.new FactoryGirl.attributes_for(:user_invalid)
|
93
114
|
user.valid?.should be_false
|
94
115
|
user.errors[:identificacion].should eq(["Not valid!"])
|
95
116
|
end
|
@@ -102,11 +123,11 @@ describe IdEcuador::ModelAdditions do
|
|
102
123
|
end
|
103
124
|
|
104
125
|
it "debería decir que es válido" do
|
105
|
-
user = UserWithOptionsOnlyCedula.new
|
126
|
+
user = UserWithOptionsOnlyCedula.new FactoryGirl.attributes_for(:user)
|
106
127
|
user.valid?.should be_true
|
107
128
|
end
|
108
129
|
it "debería decir que es inválido" do
|
109
|
-
user = UserWithOptionsOnlyCedula.new
|
130
|
+
user = UserWithOptionsOnlyCedula.new FactoryGirl.attributes_for(:user_ruc)
|
110
131
|
user.valid?.should be_false
|
111
132
|
user.errors[:identificacion].should include("Tipo de identificación no permitido")
|
112
133
|
end
|
@@ -117,11 +138,11 @@ describe IdEcuador::ModelAdditions do
|
|
117
138
|
validates_id :identificacion, only: :ruc
|
118
139
|
end
|
119
140
|
it "debería decir que es válido" do
|
120
|
-
user = UserWithOptionsOnlyRUC.new
|
141
|
+
user = UserWithOptionsOnlyRUC.new FactoryGirl.attributes_for(:user_ruc)
|
121
142
|
user.valid?.should be_true
|
122
143
|
end
|
123
144
|
it "debería decir que es inválido" do
|
124
|
-
user = UserWithOptionsOnlyRUC.new
|
145
|
+
user = UserWithOptionsOnlyRUC.new FactoryGirl.attributes_for(:user)
|
125
146
|
user.valid?.should be_false
|
126
147
|
user.errors[:identificacion].should include("Tipo de identificación no permitido")
|
127
148
|
end
|
data/spec/id_ecuador_spec.rb
CHANGED
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: id_ecuador
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1.
|
4
|
+
version: 0.0.1.beta
|
5
5
|
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -75,6 +75,22 @@ dependencies:
|
|
75
75
|
- - ! '>='
|
76
76
|
- !ruby/object:Gem::Version
|
77
77
|
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: factory_girl
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
86
|
+
type: :development
|
87
|
+
prerelease: false
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
78
94
|
description: Validate Ecuador's CI and RUC
|
79
95
|
email:
|
80
96
|
- a@macool.me
|
@@ -84,6 +100,7 @@ extra_rdoc_files: []
|
|
84
100
|
files:
|
85
101
|
- .rspec
|
86
102
|
- .travis.yml
|
103
|
+
- CHANGELOG.md
|
87
104
|
- Gemfile
|
88
105
|
- LICENSE.txt
|
89
106
|
- README.md
|
@@ -94,6 +111,7 @@ files:
|
|
94
111
|
- lib/id_ecuador/model_additions.rb
|
95
112
|
- lib/id_ecuador/railtie.rb
|
96
113
|
- lib/id_ecuador/version.rb
|
114
|
+
- spec/factories.rb
|
97
115
|
- spec/id_ecuador/id_spec.rb
|
98
116
|
- spec/id_ecuador/model_additions_spec.rb
|
99
117
|
- spec/id_ecuador_spec.rb
|
@@ -124,6 +142,7 @@ signing_key:
|
|
124
142
|
specification_version: 3
|
125
143
|
summary: Gem to validate Ecuador's CI and RUC
|
126
144
|
test_files:
|
145
|
+
- spec/factories.rb
|
127
146
|
- spec/id_ecuador/id_spec.rb
|
128
147
|
- spec/id_ecuador/model_additions_spec.rb
|
129
148
|
- spec/id_ecuador_spec.rb
|