class AocCli::Files::Config::Tools
Public Class Methods
get_all(key:)
click to toggle source
# File lib/aoc_cli/files.rb, line 8 def self.get_all(key:) read.scan(/(?:(?<=(?<!\/\/)#{key}=>)).*$/) end
get_bool(key:)
click to toggle source
# File lib/aoc_cli/files.rb, line 15 def self.get_bool(key:) get_line(key:key) == "true" ? true : false end
get_line(key:)
click to toggle source
# File lib/aoc_cli/files.rb, line 11 def self.get_line(key:) get_all(key:key)&.first #read.scan(/(?:(?<=(?<!\/\/)#{key}=>)).*$/)&.first end
is_set?(key:nil, val:nil)
click to toggle source
# File lib/aoc_cli/files.rb, line 5 def self.is_set?(key:nil, val:nil) read.split("\n").grep(/(?<!\/\/)#{key}=>#{val}/).any? end
mod_line(key:, val:)
click to toggle source
# File lib/aoc_cli/files.rb, line 18 def self.mod_line(key:, val:) is_set?(key:key) ? write(f:read.gsub(/(?<=^#{key}=>).*$/, val.to_s)) : write(f:"#{key}=>#{val}\n", m:"a") end
set_line(key:, val:)
click to toggle source
# File lib/aoc_cli/files.rb, line 23 def self.set_line(key:, val:) write(f:"#{key}=>#{val}\n", m:"a") end
Private Class Methods
read()
click to toggle source
# File lib/aoc_cli/files.rb, line 27 def self.read Paths::Config.create File.read(Paths::Config.path) end
write(f:, m:"w")
click to toggle source
# File lib/aoc_cli/files.rb, line 31 def self.write(f:, m:"w") Paths::Config.create File.write(Paths::Config.path, f, mode:m) end