id_ecuador 0.0.1.beta → 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|