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.
@@ -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