id_ecuador 0.0.1.beta → 0.0.1
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 +4 -0
- data/README.md +1 -0
- data/lib/id_ecuador/model_additions.rb +5 -2
- data/lib/id_ecuador/railtie.rb +1 -1
- data/lib/id_ecuador/version.rb +1 -1
- data/spec/id_ecuador/model_additions_spec.rb +23 -0
- metadata +4 -4
data/CHANGELOG.md
CHANGED
@@ -12,3 +12,7 @@
|
|
12
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
13
|
* Agregado `factory_girl` para testing
|
14
14
|
* Tests refactored
|
15
|
+
|
16
|
+
## v0.0.1.beta.2
|
17
|
+
|
18
|
+
* Modificado *Railtie*. Había un error de sintaxis. Reemplazado `intializer` por `initializer`
|
data/README.md
CHANGED
@@ -64,6 +64,7 @@ Ejemplo API Rails:
|
|
64
64
|
user = User.new identificacion: "110468135001"
|
65
65
|
user.identificacion_id_validator.class # => IdEcuador::Id
|
66
66
|
user.identificacion_tipo_id # => "RUC Persona natural"
|
67
|
+
user.identificacion_tipo_id_sym # => :ruc
|
67
68
|
user.identificacion_codigo_provincia # => 11
|
68
69
|
```
|
69
70
|
|
@@ -40,11 +40,14 @@ module IdEcuador
|
|
40
40
|
end
|
41
41
|
EVAL
|
42
42
|
|
43
|
-
# extensiones para
|
43
|
+
# extensiones para #tipo_id, #tipo_id_sym y #codigo_provincia
|
44
44
|
class_eval <<-EVAL
|
45
45
|
def #{attribute}_tipo_id
|
46
46
|
#{attribute}_id_validator.tipo_id
|
47
47
|
end
|
48
|
+
def #{attribute}_tipo_id_sym
|
49
|
+
#{attribute}_id_validator.tipo_id_sym
|
50
|
+
end
|
48
51
|
def #{attribute}_codigo_provincia
|
49
52
|
#{attribute}_id_validator.codigo_provincia
|
50
53
|
end
|
@@ -69,7 +72,7 @@ module IdEcuador
|
|
69
72
|
end
|
70
73
|
end
|
71
74
|
# for options:
|
72
|
-
|
75
|
+
if not options[:only].empty? and not send(:"#{attribute}").blank?
|
73
76
|
unless options[:only].include?(send(:"#{attribute}_id_validator").tipo_id_sym)
|
74
77
|
# si está especificado <tt>options[:only]</tt>, validar que el tipo de ID esté permitido
|
75
78
|
errors.add attribute.to_sym, (options[:message] or "Tipo de identificación no permitido")
|
data/lib/id_ecuador/railtie.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
module IdEcuador
|
2
2
|
# extend <tt>IdEcuador::ModelAdditions</tt> module into Rails' <tt>ActiveRecord::Base</tt>
|
3
3
|
class Railtie < Rails::Railtie
|
4
|
-
|
4
|
+
initializer 'id_ecuador.model_additions' do
|
5
5
|
ActiveSupport.on_load :active_record do
|
6
6
|
extend ModelAdditions
|
7
7
|
end
|
data/lib/id_ecuador/version.rb
CHANGED
@@ -126,6 +126,10 @@ describe IdEcuador::ModelAdditions do
|
|
126
126
|
user = UserWithOptionsOnlyCedula.new FactoryGirl.attributes_for(:user)
|
127
127
|
user.valid?.should be_true
|
128
128
|
end
|
129
|
+
it "debería decir que es válido con blank" do
|
130
|
+
user = UserWithOptionsOnlyCedula.new identificacion: nil
|
131
|
+
user.valid?.should be_true
|
132
|
+
end
|
129
133
|
it "debería decir que es inválido" do
|
130
134
|
user = UserWithOptionsOnlyCedula.new FactoryGirl.attributes_for(:user_ruc)
|
131
135
|
user.valid?.should be_false
|
@@ -147,6 +151,25 @@ describe IdEcuador::ModelAdditions do
|
|
147
151
|
user.errors[:identificacion].should include("Tipo de identificación no permitido")
|
148
152
|
end
|
149
153
|
end
|
154
|
+
describe "permitir RUC y cédula sin blank" do
|
155
|
+
class UserWithRucCiNotBlank < SuperModel::Base
|
156
|
+
extend IdEcuador::ModelAdditions
|
157
|
+
validates_id :identificacion, only: [:ruc, :cedula], allow_blank: false
|
158
|
+
end
|
159
|
+
|
160
|
+
it "Con cédula" do
|
161
|
+
user = UserWithRucCiNotBlank.new FactoryGirl.attributes_for(:user)
|
162
|
+
user.valid?.should be_true
|
163
|
+
end
|
164
|
+
it "Con ruc" do
|
165
|
+
user = UserWithRucCiNotBlank.new FactoryGirl.attributes_for(:user_ruc)
|
166
|
+
user.valid?.should be_true
|
167
|
+
end
|
168
|
+
it "Con ID nil" do
|
169
|
+
user = UserWithRucCiNotBlank.new identificacion: nil
|
170
|
+
user.valid?.should be_false
|
171
|
+
end
|
172
|
+
end
|
150
173
|
end
|
151
174
|
end
|
152
175
|
|
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: id_ecuador
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.1
|
5
|
-
prerelease:
|
4
|
+
version: 0.0.1
|
5
|
+
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Mario Andrés Correa
|
@@ -132,9 +132,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
132
132
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
133
|
none: false
|
134
134
|
requirements:
|
135
|
-
- - ! '
|
135
|
+
- - ! '>='
|
136
136
|
- !ruby/object:Gem::Version
|
137
|
-
version:
|
137
|
+
version: '0'
|
138
138
|
requirements: []
|
139
139
|
rubyforge_project:
|
140
140
|
rubygems_version: 1.8.24
|