Method: GitlabSettings::Settings#initialize

Defined in:
lib/gitlab_settings/settings.rb

#initialize(source, section) ⇒ Settings

Returns a new instance of Settings.

Raises:

  • (ArgumentError)


7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/gitlab_settings/settings.rb', line 7

def initialize(source, section)
  raise(ArgumentError, 'config source is required') if source.blank?
  raise(ArgumentError, 'config section is required') if section.blank?

  # Rails will set the default encoding to UTF-8
  # (https://github.com/rails/rails/blob/v6.1.7.2/railties/lib/rails.rb#L21C1-L24),
  # but it's possible this class is used before `require 'rails'` is
  # called, as in the case of `sidekiq-cluster`. Ensure the
  # configuration file is parsed as UTF-8, or
  # ActiveSupport::ConfigurationFile.parse will blow up if the
  # configuration file contains UTF-8 characters.
  Encoding.default_external = Encoding::UTF_8
  Encoding.default_internal = Encoding::UTF_8

  @source = source
  @section = section
  @loaded = false
end