Class: DiscourseDev::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/discourse_dev/config.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



9
10
11
12
13
14
15
16
17
18
# File 'lib/discourse_dev/config.rb', line 9

def initialize
  @default_config = YAML.load_file(File.join(File.expand_path(__dir__), "config.yml"))
  file_path = File.join(Rails.root, "config", "dev.yml")

  if File.exists?(file_path)
    @config = YAML.load_file(file_path)
  else
    @config = {}
  end
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



7
8
9
# File 'lib/discourse_dev/config.rb', line 7

def config
  @config
end

#default_configObject (readonly)

Returns the value of attribute default_config.



7
8
9
# File 'lib/discourse_dev/config.rb', line 7

def default_config
  @default_config
end

Instance Method Details

#update!Object



20
21
22
# File 'lib/discourse_dev/config.rb', line 20

def update!
  update_site_settings
end

#update_site_settingsObject



24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/discourse_dev/config.rb', line 24

def update_site_settings
  puts "Updating site settings..."

  site_settings = config["site_settings"] || {}

  site_settings.each do |key, value|
    puts "#{key} = #{value}"
    SiteSetting.set(key, value)
  end

  keys = site_settings.keys

  default_config["site_settings"].each do |key, value|
    next if keys.include?(key)

    puts "#{key} = #{value}"
    SiteSetting.set(key, value)
  end

  SiteSetting.refresh!
end