Class: AocCli::Files::Config::Tools

Inherits:
Object
  • Object
show all
Defined in:
lib/aoc_cli/files.rb

Direct Known Subclasses

Cookie, Prefs

Class Method Summary collapse

Class Method Details

.get_all(key:) ⇒ Object



8
9
10
# File 'lib/aoc_cli/files.rb', line 8

def self.get_all(key:)
  read.scan(/(?:(?<=(?<!\/\/)#{key}=>)).*$/)
end

.get_bool(key:) ⇒ Object

read.scan(/(?:(?<=(?<!//)#key=>)).*$/)&.first



15
16
17
# File 'lib/aoc_cli/files.rb', line 15

def self.get_bool(key:)
  get_line(key:key) == "true" ? true : false
end

.get_line(key:) ⇒ Object



11
12
13
14
# 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) ⇒ Boolean



5
6
7
# 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:) ⇒ Object



18
19
20
21
22
# 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:) ⇒ Object



23
24
25
# File 'lib/aoc_cli/files.rb', line 23

def self.set_line(key:, val:)
  write(f:"#{key}=>#{val}\n", m:"a")
end