Class: TRMNLP::Config::App

Inherits:
Object
  • Object
show all
Defined in:
lib/trmnlp/config/app.rb

Overview

Stores trmnlp-wide configuration (irrespective of the current plugin)

Instance Method Summary collapse

Constructor Details

#initialize(paths) ⇒ App

Returns a new instance of App.



7
8
9
10
# File 'lib/trmnlp/config/app.rb', line 7

def initialize(paths)
  @paths = paths
  @config = read_config
end

Instance Method Details

#account_uriObject



34
# File 'lib/trmnlp/config/app.rb', line 34

def  = URI.join(base_uri, '/account')

#api_keyObject



20
21
22
23
24
# File 'lib/trmnlp/config/app.rb', line 20

def api_key
  env_api_key = ENV['TRMNL_API_KEY']
  return env_api_key if env_api_key && !env_api_key.empty?
  @config['api_key']
end

#api_key=(key) ⇒ Object



26
27
28
# File 'lib/trmnlp/config/app.rb', line 26

def api_key=(key)
  @config['api_key'] = key
end

#api_uriObject



32
# File 'lib/trmnlp/config/app.rb', line 32

def api_uri = URI.join(base_uri, '/api')

#base_uriObject



30
# File 'lib/trmnlp/config/app.rb', line 30

def base_uri = URI.parse(@config['base_url'] || 'https://usetrmnl.com')

#edit_plugin_settings_uri(id) ⇒ Object



36
# File 'lib/trmnlp/config/app.rb', line 36

def edit_plugin_settings_uri(id) = URI.join(base_uri, "/plugin_settings/#{id.to_s}/edit")

#logged_in?Boolean

Returns:

  • (Boolean)


17
# File 'lib/trmnlp/config/app.rb', line 17

def logged_in? = api_key && !api_key.empty?

#logged_out?Boolean

Returns:

  • (Boolean)


18
# File 'lib/trmnlp/config/app.rb', line 18

def logged_out? = !logged_in?

#playlists_uriObject



38
# File 'lib/trmnlp/config/app.rb', line 38

def playlists_uri = URI.join(base_uri, '/playlists')

#saveObject



12
13
14
15
# File 'lib/trmnlp/config/app.rb', line 12

def save
  paths.app_config_dir.mkpath
  paths.app_config.write(YAML.dump(@config))
end