- (Object) current_track
@@ -332,28 +434,46 @@ A new instance of SourceManager
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
- # File 'lib/lyricli/source_manager.rb', line 46
+ # File 'lib/lyricli/source_manager.rb', line 60
def current_track
track = nil
+ lock = false
@enabled_sources.each do |source|
begin
- track ||= source.current_track
+ current_track = source.current_track
+
+ unless current_track[:artist].nil? || current_track[:artist].empty? || current_track[:song].nil? || current_track[:song].empty?
+ track = current_track unless lock
+ lock = true if source.class.name == "arguments"
+ end
rescue
- fail "Source #{source.name} has failed to start. Please reset the source by running `#{$0} source reset #{source.name}.`"
+ raise SourceConfigurationException
end
end
track
@@ -378,22 +498,32 @@ A new instance of SourceManager
-29
-30
-31
-32
-33
34
-35
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
|
- # File 'lib/lyricli/source_manager.rb', line 29
+ # File 'lib/lyricli/source_manager.rb', line 34
def disable(source_name)
- if klass = parse_class(camelize(source_name))
- @config["enabled_sources"].delete(klass.name)
+ if available_sources.include?(source_name)
+ if klass = parse_class(camelize(source_name))
+ @config["enabled_sources"].delete(klass.name)
+ @config.save_config
+ else
+ raise DisableSourceException
+ end
else
- raise DisableSourceException
+ raise UnknownSource
end
end
|
@@ -424,23 +554,69 @@ A new instance of SourceManager
24
25
26
-27
+27
+28
+29
+30
+31
+32
# File 'lib/lyricli/source_manager.rb', line 19
def enable(source_name)
- if klass = parse_class(camelize(source_name))
- klass.enable
- @config["enabled_sources"] << klass.name
- @config["enabled_sources"].uniq!
+ if available_sources.include?(source_name)
+ if klass = parse_class(camelize(source_name))
+ klass.enable
+ @config["enabled_sources"] << klass.name
+ @config["enabled_sources"].uniq!
+ @config.save_config
+ else
+ raise EnableSourceException
+ end
else
- raise EnableSourceException
+ raise UnknownSource
end
end
|
+