Class: ActiveRecord::Base
- Inherits:
-
Object
- Object
- ActiveRecord::Base
- Defined in:
- lib/ext/ActiveRecord/base.rb
Direct Known Subclasses
Msip::Anexo, Msip::Bitacora, Msip::Centropoblado, Msip::CentropobladoHistvigencia, Msip::Departamento, Msip::DepartamentoHistvigencia, Msip::Estadosol, Msip::Etiqueta, Msip::EtiquetaMunicipio, Msip::EtiquetaPersona, Msip::Etnia, Msip::Fuenteprensa, Msip::Grupo, Msip::GrupoUsuario, Msip::Grupoper, Msip::Mundep, Msip::Municipio, Msip::MunicipioHistvigencia, Msip::Oficina, Msip::Orgsocial, Msip::OrgsocialPersona, Msip::OrgsocialSectororgsocial, Msip::Pais, Msip::PaisHistvigencia, Msip::Perfilorgsocial, Msip::Persona, Msip::PersonaTrelacion, Msip::Sectororgsocial, Msip::Solicitud, Msip::SolicitudUsuarionotificar, Msip::Tcentropoblado, Msip::Tdocumento, Msip::Tema, Msip::Tipoorg, Msip::Trelacion, Msip::Trivalente, Msip::Tsitio, Msip::Ubicacion, Msip::Ubicacionpre, Msip::Usuario, Msip::Vereda
Class Method Summary collapse
-
.fecha_ddMyyyy(*fields) ⇒ Object
Define métodos para manejar campos de fecha en formato dd/M/yyyy.
-
.flotante_localizado(*fields) ⇒ Object
Define métodos para manejar campos flotantes localizados.
Class Method Details
.fecha_ddMyyyy(*fields) ⇒ Object
Define métodos para manejar campos de fecha en formato dd/M/yyyy.
30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
# File 'lib/ext/ActiveRecord/base.rb', line 30 def fecha_ddMyyyy(*fields) fields.each do |f| define_method("#{f}_ddMyyyy") do val = read_attribute(f) unless val return end val = val.to_s a = val[0, 4] m = val[5, 2] d = val[8, 2] meses = [ "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", ] "#{d}/#{meses[m.to_i - 1]}/#{a}" end define_method("#{f}_ddMyyyy=") do |e| val = e.to_s a = val[7, 4] nomm = val[3, 3] d = val[0, 2] meses = [ "Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic", ] m = 1 nm = meses.index(nomm) if nm m = 1 + meses.index(nomm) end write_attribute(f, "#{a}-#{m}-#{d}") end end end |
.flotante_localizado(*fields) ⇒ Object
Define métodos para manejar campos flotantes localizados.
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/ext/ActiveRecord/base.rb', line 8 def flotante_localizado(*fields) fields.each do |f| define_method("#{f}_localizado") do val = if attribute_method?(f) read_attribute(f) else send(f) # read_attribute(f) end val&.to_s&.a_decimal_localizado end define_method("#{f}_localizado=") do |e| if attribute_method?(f) write_attribute(f, e.to_s.a_decimal_nolocalizado) else send(f.to_s + "=", e.to_s.a_decimal_nolocalizado) end end end end |