5
0
Fork 0
mirror of https://0xacab.org/sutty/sutty synced 2024-11-26 01:06:21 +00:00
panel/app/models/metadata_boolean.rb
f 5f3bbbfb1f
hacer funcionar los metadatos booleanos
de yapa, eliminar casos especiales en el formulario
2019-09-30 15:20:23 -03:00

28 lines
737 B
Ruby

# frozen_string_literal: true
# Implementa valores por sí o por no
class MetadataBoolean < MetadataTemplate
def default_value
false
end
# Los checkboxes son especiales porque la especificación de HTML
# indica que no se envían aquellos checkboxes con valores vacíos, con
# lo que nunca sabemos cuándo se los está deshabilitando. Rails
# subsana esto enviando un valor vacío bajo el mismo nombre
# (generalmente '0').
#
# En este caso, queremos priorizar el dato enviado por le usuarie
# antes que el generado internamente.
def value
return false if false?
self[:value].present? || document.data.fetch(name.to_s, default_value)
end
private
def false?
self[:value] == '0'
end
end