Sha256: 8ce6ed2ff684b79063f2f505663043cac90e156cb4f38cc770954dfe444ba4cd
Contents?: true
Size: 798 Bytes
Versions: 1
Compression:
Stored size: 798 Bytes
Contents
module UNotifier class Settings DEFAULT_URGENCY = "external" def self.customizable?(config) %w(regular optional).include?(config["urgency"]) end def self.filter_customizable(config) config.map do |key, subkeys| filtered = subkeys.select do |subkey, value| (value.has_key?("urgency") && customizable?(value)) || (value.has_key?("target") && value["target"].values.any? { |subvalue| customizable?(subvalue) }) end [key, filtered.keys] end.to_h.select { |_, subkeys| subkeys.any? } end def self.keys_from(config) flatten_keys filter_customizable(config) end private def self.flatten_keys(keys) keys.map { |key, subkeys| subkeys.map { |s| "#{key}.#{s}" } }.flatten end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
unotifier-0.2.1 | lib/settings.rb |