Class: Cuit
- Inherits:
-
Object
- Object
- Cuit
- Defined in:
- lib/cuit.rb
Overview
Clase para validar y formatear CUIT (Clave Única de Identificación Tributaria) argentinas
Class Method Summary collapse
-
.valid?(cuit) ⇒ Boolean
Valida si una CUIT es válida sin lanzar excepciones.
Instance Method Summary collapse
-
#==(other) ⇒ Boolean
Compara dos objetos Cuit.
-
#check_digit ⇒ Integer
Obtiene el dígito verificador.
-
#document ⇒ String
(also: #dni)
Obtiene el número de documento.
-
#formatted ⇒ String
Alias para to_s.
-
#hash ⇒ Integer
Hash para usar en colecciones.
-
#initialize(cuit) ⇒ Cuit
constructor
Inicializa una nueva instancia de CUIT.
-
#to_s ⇒ String
Formatea la CUIT con guiones.
-
#type_code ⇒ String
(also: #type)
Obtiene el código de tipo de contribuyente.
Constructor Details
#initialize(cuit) ⇒ Cuit
Inicializa una nueva instancia de CUIT
37 38 39 40 |
# File 'lib/cuit.rb', line 37 def initialize(cuit) @cuit = normalize_cuit(cuit) validate_cuit! end |
Class Method Details
.valid?(cuit) ⇒ Boolean
Valida si una CUIT es válida sin lanzar excepciones
21 22 23 24 25 26 |
# File 'lib/cuit.rb', line 21 def self.valid?(cuit) new(cuit) true rescue ArgumentError false end |
Instance Method Details
#==(other) ⇒ Boolean
Compara dos objetos Cuit
92 93 94 95 96 |
# File 'lib/cuit.rb', line 92 def ==(other) return false unless other.is_a?(Cuit) @cuit == other.instance_variable_get(:@cuit) end |
#check_digit ⇒ Integer
Obtiene el dígito verificador
84 85 86 |
# File 'lib/cuit.rb', line 84 def check_digit @check_digit ||= @cuit[-1].to_i end |
#document ⇒ String Also known as: dni
Obtiene el número de documento
74 75 76 |
# File 'lib/cuit.rb', line 74 def document @document ||= @cuit[2, 8] end |
#formatted ⇒ String
Alias para to_s
54 55 56 |
# File 'lib/cuit.rb', line 54 def formatted to_s end |
#hash ⇒ Integer
Hash para usar en colecciones
101 102 103 |
# File 'lib/cuit.rb', line 101 def hash @cuit.hash end |
#to_s ⇒ String
Formatea la CUIT con guiones
48 49 50 |
# File 'lib/cuit.rb', line 48 def to_s "#{type_code}-#{document}-#{check_digit}" end |
#type_code ⇒ String Also known as: type
Obtiene el código de tipo de contribuyente
64 65 66 |
# File 'lib/cuit.rb', line 64 def type_code @type_code ||= @cuit[0, 2] end |