Add service details config, use for known services
This commit is contained in:
parent
215d178e69
commit
5addd25186
12
app/helpers/services_helper.rb
Normal file
12
app/helpers/services_helper.rb
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
module ServicesHelper
|
||||||
|
|
||||||
|
def service_human_name(key, category = :external)
|
||||||
|
SERVICES[category][key][:name] || key.to_s
|
||||||
|
end
|
||||||
|
|
||||||
|
def service_display_name(key, category = :external)
|
||||||
|
SERVICES[category][key][:display_name] ||
|
||||||
|
service_human_name(key, category)
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
@ -22,10 +22,7 @@ class Setting < RailsSettings::Base
|
|||||||
include Settings::XmppSettings
|
include Settings::XmppSettings
|
||||||
|
|
||||||
def self.available_services
|
def self.available_services
|
||||||
known_services = %w[
|
known_services = SERVICES[:external].keys
|
||||||
discourse ejabberd email gitea mastodon mediawiki remotestorage
|
|
||||||
]
|
|
||||||
|
|
||||||
known_services.select {|s| Setting.send "#{s}_enabled?" }
|
known_services.select {|s| Setting.send "#{s}_enabled?" }
|
||||||
end
|
end
|
||||||
|
|
||||||
|
2
config/initializers/service_details.rb
Normal file
2
config/initializers/service_details.rb
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
config_path = Rails.root.join('config', 'services.yml')
|
||||||
|
SERVICES = YAML.load_file(config_path).deep_symbolize_keys.with_indifferent_access
|
30
config/services.yml
Normal file
30
config/services.yml
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
internal:
|
||||||
|
btcpay:
|
||||||
|
name: BTCPay Server
|
||||||
|
postgres:
|
||||||
|
name: PostgreSQL
|
||||||
|
sentry:
|
||||||
|
name: Sentry
|
||||||
|
external:
|
||||||
|
discourse:
|
||||||
|
name: Discourse
|
||||||
|
droneci:
|
||||||
|
name: Drone CI
|
||||||
|
ejabberd:
|
||||||
|
display_name: Chat
|
||||||
|
email:
|
||||||
|
name: E-Mail
|
||||||
|
gitea:
|
||||||
|
name: Gitea
|
||||||
|
lndhub:
|
||||||
|
name: LNDHub
|
||||||
|
display_name: Lightning Network
|
||||||
|
mastodon:
|
||||||
|
name: Mastodon
|
||||||
|
mediawiki:
|
||||||
|
name: MediaWiki
|
||||||
|
nostr:
|
||||||
|
name: Nostr
|
||||||
|
remotestorage:
|
||||||
|
name: remoteStorage
|
||||||
|
display_name: Storage
|
25
spec/helpers/services_helper_spec.rb
Normal file
25
spec/helpers/services_helper_spec.rb
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
require 'rails_helper'
|
||||||
|
|
||||||
|
describe ServicesHelper do
|
||||||
|
|
||||||
|
describe "#service_human_name" do
|
||||||
|
it "returns the human name when it's configured" do
|
||||||
|
expect(service_human_name("mastodon")).to eq("Mastodon")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns the key when there is no human name" do
|
||||||
|
expect(service_human_name("ejabberd")).to eq("ejabberd")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
describe "#service_display_name" do
|
||||||
|
it "returns the display name when it's configured" do
|
||||||
|
expect(service_display_name("lndhub")).to eq("Lightning Network")
|
||||||
|
end
|
||||||
|
|
||||||
|
it "returns the human name when there is no display name" do
|
||||||
|
expect(service_display_name("mastodon")).to eq("Mastodon")
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
end
|
Loading…
x
Reference in New Issue
Block a user