Class: Sancho::Task::ReadConfig

Inherits:
Basic
  • Object
show all
Defined in:
lib/sancho/tasks/read_config.rb

Overview

Read configuration

Class Method Summary collapse

Class Method Details

.runObject



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/sancho/tasks/read_config.rb', line 9

def self.run
  config = Sancho::CONFIG_FILE

  begin
    if File.exist?(config)
      Psych
        .load(File.read(config))
        .transform_keys(&:to_sym)
        .then{ return Model::Config.new(**it) }
    end 
  rescue StandardError => e
    puts "Sancho configuration error", e.message
  end

  conf = Model::Config.new(
    Sancho::DEFAULT_SITE_DIR,
    Sancho::DEFAULT_SITE_DOMAIN,
    Sancho::DEFAULT_SITE_TITLE,
    %w[README.md CHANGELOG.md])

  dump = Psych.dump(conf.to_h.transform_keys(&:to_s))
  File.write(config, dump)

  conf
end