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



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

def default
  object.default
end

#descriptionObject



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

def description
  description_regexp = /^theme_metadata\.settings\.#{setting}(\.description)?$/

  locale_file_description =
    object.theme.internal_translations.find { |t| t.key.match?(description_regexp) }&.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)


80
81
82
# File 'app/serializers/theme_settings_serializer.rb', line 80

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_objects_schema?Boolean

Returns:

  • (Boolean)


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

def include_objects_schema?
  object.type == ThemeSetting.types[:objects]
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



76
77
78
# File 'app/serializers/theme_settings_serializer.rb', line 76

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

#objects_schemaObject



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

def objects_schema
  object.schema
end

#settingObject



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

def setting
  object.name
end

#textareaObject



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

def textarea
  object.textarea
end

#typeObject



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

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



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

def value
  object.value
end