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.
@@ -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 .tipo_id y .codigo_provincia
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
- unless options[:only].empty?
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")
@@ -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
- intializer 'id_ecuador.model_additions' do
4
+ initializer 'id_ecuador.model_additions' do
5
5
  ActiveSupport.on_load :active_record do
6
6
  extend ModelAdditions
7
7
  end
@@ -1,3 +1,3 @@
1
1
  module IdEcuador
2
- VERSION = "0.0.1.beta"
2
+ VERSION = "0.0.1"
3
3
  end
@@ -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.beta
5
- prerelease: 6
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: 1.3.1
137
+ version: '0'
138
138
  requirements: []
139
139
  rubyforge_project:
140
140
  rubygems_version: 1.8.24