diff --git a/app/models/metadata_boolean.rb b/app/models/metadata_boolean.rb index a2c9c10..5e4b456 100644 --- a/app/models/metadata_boolean.rb +++ b/app/models/metadata_boolean.rb @@ -28,6 +28,15 @@ class MetadataBoolean < MetadataTemplate return document.data.fetch(name.to_s, default_value) if self[:value].nil? return self[:value] unless self[:value].is_a? String - self[:value] = self[:value] == '1' + self[:value] = true_values.include? self[:value] + end + + private + + # Los valores que evalĂșan a verdadero + # + # XXX: memoizamos porque Struct no puede declarar constantes. + def true_values + @true_values ||= %w[1 on true].freeze end end diff --git a/app/models/post.rb b/app/models/post.rb index 19bb306..f05faab 100644 --- a/app/models/post.rb +++ b/app/models/post.rb @@ -51,7 +51,7 @@ class Post < OpenStruct MetadataFactory.build(document: document, post: self, site: site, - name: name, + name: name.to_sym, value: args[name.to_sym], layout: layout, type: template['type'],