Sha256: af7b191bf92c1aec796d50a822989c1b5757469f4473a64c31952913cc433312
Contents?: true
Size: 1.04 KB
Versions: 4
Compression:
Stored size: 1.04 KB
Contents
# frozen_string_literal: true require "yaml" require "fileutils" module Vlcraptor class Preferences def initialize @path = "#{File.expand_path("~")}/.player" persist({ autoplay: true, crossfade: true }) unless File.exist?(@path) end def continue? self[:autoplay] end def crossfade? self[:autoplay] && self[:crossfade] end def scrobble? self[:scrobble] end def pause? reset(:pause) end def stop? reset(:stop) end def play? reset(:play) end def skip? reset(:skip) end def [](key) load_preferences[key] end def []=(key, value) preferences = load_preferences preferences[key] = value persist(preferences) end def persist(preferences) File.open(@path, "w") { |f| f.puts preferences.to_yaml } end private def load_preferences YAML.load_file(@path) end def reset(key) result = self[key] self[key] = false if result result end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
vlcraptor-0.5.0 | lib/vlcraptor/preferences.rb |
vlcraptor-0.4.0 | lib/vlcraptor/preferences.rb |
vlcraptor-0.3.0 | lib/vlcraptor/preferences.rb |
vlcraptor-0.2.0 | lib/vlcraptor/preferences.rb |