Class: Decidim::FeatureSettingsManifest::Attribute

Inherits:
Object
  • Object
show all
Includes:
ActiveModel::Validations
Defined in:
lib/decidim/features/settings_manifest.rb

Overview

Semi-private: Attributes are an abstraction used by FeatureSettingsManifest to encapsulate behavior related to each individual settings field. Shouldn’t be used from the outside.

Constant Summary collapse

TYPES =
{
  boolean: { klass: Boolean, default: false },
  integer: { klass: Integer, default: 0 },
  string: { klass: String, default: nil },
  text: { klass: String, default: nil }
}.freeze

Instance Method Summary collapse

Instance Method Details

#default_valueObject



91
92
93
# File 'lib/decidim/features/settings_manifest.rb', line 91

def default_value
  default || TYPES[type][:default]
end

#type_classObject



87
88
89
# File 'lib/decidim/features/settings_manifest.rb', line 87

def type_class
  TYPES[type][:klass]
end