Class: Pandoru::ClientBuilders::PianobarConfigFileBuilder
- Inherits:
-
FileBasedClientBuilder
- Object
- APIClientBuilder
- FileBasedClientBuilder
- Pandoru::ClientBuilders::PianobarConfigFileBuilder
- Defined in:
- lib/pandoru/client_builder.rb
Overview
Pianobar Config File Client Builder Builds an API client from a Pianobar config file.
Constant Summary collapse
- DEFAULT_CONFIG_FILE =
"~/.config/pianobar/config"
Constants inherited from APIClientBuilder
APIClientBuilder::DEFAULT_CLIENT_CLASS
Instance Attribute Summary
Attributes inherited from FileBasedClientBuilder
Instance Method Summary collapse
Methods inherited from FileBasedClientBuilder
Methods inherited from APIClientBuilder
#build_from_settings_hash, #initialize
Constructor Details
This class inherits a constructor from Pandoru::ClientBuilders::FileBasedClientBuilder
Instance Method Details
#parse_config ⇒ Object
281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 |
# File 'lib/pandoru/client_builder.rb', line 281 def parse_config config_path = config_file_path unless File.exist?(config_path) raise ArgumentError, "Config file not found: #{config_path}" end settings = PianobarSettingsDict.new File.readlines(config_path).each do |line| line = line.strip next if line.empty? || line.start_with?('#') if line.include?('=') key, value = line.split('=', 2) settings.put(key.strip, value.strip) end end # Extract user credentials user_settings = { "USERNAME" => settings.delete("USER"), "PASSWORD" => settings.delete("PASSWORD") } settings["USER"] = user_settings settings end |