Class: AdminPluginSerializer

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

Instance Method Summary collapse

Methods inherited from ApplicationSerializer

expire_cache_fragment!, fragment_cache

Methods inherited from ActiveModel::Serializer

#include!

Instance Method Details

#aboutObject



30
31
32
# File 'app/serializers/admin_plugin_serializer.rb', line 30

def about
  object..about
end

#admin_routeObject



74
75
76
# File 'app/serializers/admin_plugin_serializer.rb', line 74

def admin_route
  object.full_admin_route
end

#authorsObject



42
43
44
# File 'app/serializers/admin_plugin_serializer.rb', line 42

def authors
  object..authors
end

#commit_hashObject



99
100
101
# File 'app/serializers/admin_plugin_serializer.rb', line 99

def commit_hash
  object.commit_hash
end

#commit_urlObject



103
104
105
# File 'app/serializers/admin_plugin_serializer.rb', line 103

def commit_url
  object.commit_url
end

#enabledObject



46
47
48
# File 'app/serializers/admin_plugin_serializer.rb', line 46

def enabled
  object.enabled?
end

#enabled_settingObject



54
55
56
# File 'app/serializers/admin_plugin_serializer.rb', line 54

def enabled_setting
  object.enabled_site_setting
end

#has_only_enabled_settingObject



66
67
68
# File 'app/serializers/admin_plugin_serializer.rb', line 66

def has_only_enabled_setting
  plugin_settings.keys.length == 1 && plugin_settings.keys.first == enabled_setting
end

#has_settingsObject



62
63
64
# File 'app/serializers/admin_plugin_serializer.rb', line 62

def has_settings
  plugin_settings.values.any?
end

#idObject



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

def id
  object.directory_name
end

#include_admin_route?Boolean

Returns:

  • (Boolean)


78
79
80
# File 'app/serializers/admin_plugin_serializer.rb', line 78

def include_admin_route?
  admin_route.present?
end

#include_enabled_setting?Boolean

Returns:

  • (Boolean)


50
51
52
# File 'app/serializers/admin_plugin_serializer.rb', line 50

def include_enabled_setting?
  enabled_setting.present?
end

#include_label?Boolean

Returns:

  • (Boolean)


86
87
88
# File 'app/serializers/admin_plugin_serializer.rb', line 86

def include_label?
  is_discourse_owned
end

#include_url?Boolean

Returns:

  • (Boolean)


70
71
72
# File 'app/serializers/admin_plugin_serializer.rb', line 70

def include_url?
  url.present?
end

#is_discourse_ownedObject



95
96
97
# File 'app/serializers/admin_plugin_serializer.rb', line 95

def is_discourse_owned
  object.discourse_owned?
end

#is_officialObject



82
83
84
# File 'app/serializers/admin_plugin_serializer.rb', line 82

def is_official
  Plugin::Metadata::OFFICIAL_PLUGINS.include?(object.name)
end

#labelObject



90
91
92
93
# File 'app/serializers/admin_plugin_serializer.rb', line 90

def label
  return if !is_discourse_owned
  object..label
end

#meta_urlObject



107
108
109
110
# File 'app/serializers/admin_plugin_serializer.rb', line 107

def meta_url
  return if object..meta_topic_id.blank?
  "https://meta.discourse.org/t/#{object..meta_topic_id}"
end

#nameObject



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

def name
  object..name
end

#plugin_settingsObject



58
59
60
# File 'app/serializers/admin_plugin_serializer.rb', line 58

def plugin_settings
  @plugin_settings ||= SiteSetting.plugins.select { |_, v| v == id }
end

#urlObject



38
39
40
# File 'app/serializers/admin_plugin_serializer.rb', line 38

def url
  object..url
end

#versionObject



34
35
36
# File 'app/serializers/admin_plugin_serializer.rb', line 34

def version
  object..version
end