Class: ThemeSettingsSerializer

Inherits:
ApplicationSerializer show all
Defined in:
app/serializers/theme_settings_serializer.rb

Instance Method Summary collapse

Methods inherited from ApplicationSerializer

expire_cache_fragment!, fragment_cache

Methods inherited from ActiveModel::Serializer

#include!

Instance Method Details

#defaultObject



22
23
24
# File 'app/serializers/theme_settings_serializer.rb', line 22

def default
  object.default
end

#descriptionObject



30
31
32
33
34
35
36
37
38
# File 'app/serializers/theme_settings_serializer.rb', line 30

def description
  locale_file_description =
    object
      .theme
      .internal_translations
      .find { |t| t.key == "theme_metadata.settings.#{setting}" }
      &.value
  locale_file_description || object.description
end

#include_description?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'app/serializers/theme_settings_serializer.rb', line 48

def include_description?
  description.present?
end

#include_json_schema?Boolean

Returns:

  • (Boolean)


72
73
74
# File 'app/serializers/theme_settings_serializer.rb', line 72

def include_json_schema?
  object.type == ThemeSetting.types[:string] && object.json_schema.present?
end

#include_list_type?Boolean

Returns:

  • (Boolean)


56
57
58
# File 'app/serializers/theme_settings_serializer.rb', line 56

def include_list_type?
  object.type == ThemeSetting.types[:list]
end

#include_textarea?Boolean

Returns:

  • (Boolean)


64
65
66
# File 'app/serializers/theme_settings_serializer.rb', line 64

def include_textarea?
  object.type == ThemeSetting.types[:string]
end

#include_valid_values?Boolean

Returns:

  • (Boolean)


44
45
46
# File 'app/serializers/theme_settings_serializer.rb', line 44

def include_valid_values?
  object.type == ThemeSetting.types[:enum]
end

#json_schemaObject



68
69
70
# File 'app/serializers/theme_settings_serializer.rb', line 68

def json_schema
  object.json_schema
end

#list_typeObject



52
53
54
# File 'app/serializers/theme_settings_serializer.rb', line 52

def list_type
  object.list_type
end

#settingObject



14
15
16
# File 'app/serializers/theme_settings_serializer.rb', line 14

def setting
  object.name
end

#textareaObject



60
61
62
# File 'app/serializers/theme_settings_serializer.rb', line 60

def textarea
  object.textarea
end

#typeObject



18
19
20
# File 'app/serializers/theme_settings_serializer.rb', line 18

def type
  object.type_name
end

#valid_valuesObject



40
41
42
# File 'app/serializers/theme_settings_serializer.rb', line 40

def valid_values
  object.choices
end

#valueObject



26
27
28
# File 'app/serializers/theme_settings_serializer.rb', line 26

def value
  object.value
end