Class: IdEcuador::Id

Inherits:
Object
  • Object
show all
Defined in:
lib/id_ecuador/id.rb

Overview

Clase que va a analizar la cédula. Recibe un id y unas opciones

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id = "", options = {}) ⇒ Id

Returns a new instance of Id.

Parameters:

  • id (String) (defaults to: "")

    El ID que se va a analizar

  • options (Hash) (defaults to: {})

    Las opciones

Options Hash (options):

  • :auto_validate (Boolean)

    Validar automáticamente el ID al instanciar. true por defecto



28
29
30
31
32
33
34
35
36
37
# File 'lib/id_ecuador/id.rb', line 28

def initialize(id="", options={})
  @id = id.to_s
  @errors = []
  
  defaults = {
    auto_validate: true
  }
  @options = defaults.merge options
  validate! if @options[:auto_validate]
end

Instance Attribute Details

#codigo_provinciaFixnum (readonly)

El código de la provincia del ID ingresado

Returns:

  • (Fixnum)

    the current value of codigo_provincia



21
22
23
# File 'lib/id_ecuador/id.rb', line 21

def codigo_provincia
  @codigo_provincia
end

#errorsArray (readonly)

Los errores que tiene el ID. Array vacío si es un ID válido

Returns:

  • (Array)

    the current value of errors



21
22
23
# File 'lib/id_ecuador/id.rb', line 21

def errors
  @errors
end

#tipo_idString (readonly)

El tipo de identificación. Puede ser:

  • “Cédula Persona natural”

  • “RUC Persona natural”

  • “Sociedad pública”

  • “Sociedad privada o extranjera”

Returns:

  • (String)

    the current value of tipo_id



21
22
23
# File 'lib/id_ecuador/id.rb', line 21

def tipo_id
  @tipo_id
end

#tipo_id_symSymbol (readonly)

El tipo de identificación en símbolo. Puede ser:

  • :ruc

  • :cedula

  • :sociedad_publica

  • :sociedad_privada

Returns:

  • (Symbol)

    the current value of tipo_id_sym



21
22
23
# File 'lib/id_ecuador/id.rb', line 21

def tipo_id_sym
  @tipo_id_sym
end

Instance Method Details

#already_validatedBoolean

Returns Si el ID ya ha sido validado.

Returns:

  • (Boolean)

    Si el ID ya ha sido validado



53
54
55
# File 'lib/id_ecuador/id.rb', line 53

def already_validated
  !!@already_validated
end

#valid?Boolean

Returns Si es un ID válido o no.

Returns:

  • (Boolean)

    Si es un ID válido o no



40
41
42
43
# File 'lib/id_ecuador/id.rb', line 40

def valid?
  validate! unless already_validated
  @errors.empty?
end

#validate!self

Returns Método que valida.

Returns:

  • (self)

    Método que valida



46
47
48
49
50
# File 'lib/id_ecuador/id.rb', line 46

def validate!
  @already_validated = true
  validate_length and evaluate_province_code and evaluate_third_digit
  self
end