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
# File 'lib/id_ecuador/id.rb', line 28

def initialize(id="", options={})
  @id = id.to_s

  defaults = {
    auto_validate: true
  }
  @options = defaults.merge options
  evaluate!
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

#idString

Número de ID

Returns:

  • (String)

    the current value of id


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

def id
  @id
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


61
62
63
# File 'lib/id_ecuador/id.rb', line 61

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


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

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

#validate!self

Returns Método que valida.

Returns:

  • (self)

    Método que valida


54
55
56
57
58
# File 'lib/id_ecuador/id.rb', line 54

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