discourse/script/import_scripts/mbox/support/settings.rb
Sam Saffron 30990006a9 DEV: enable frozen string literal on all files
This reduces chances of errors where consumers of strings mutate inputs
and reduces memory usage of the app.

Test suite passes now, but there may be some stuff left, so we will run
a few sites on a branch prior to merging
2019-05-13 09:31:32 +08:00

33 lines
906 B
Ruby

# frozen_string_literal: true
require 'yaml'
module ImportScripts::Mbox
class Settings
def self.load(filename)
yaml = YAML.load_file(filename)
Settings.new(yaml)
end
attr_reader :data_dir
attr_reader :split_regex
attr_reader :batch_size
attr_reader :trust_level
attr_reader :prefer_html
attr_reader :staged
attr_reader :index_only
attr_reader :group_messages_by_subject
def initialize(yaml)
@data_dir = yaml['data_dir']
@split_regex = Regexp.new(yaml['split_regex']) unless yaml['split_regex'].empty?
@batch_size = 1000 # no need to make this actually configurable at the moment
@trust_level = yaml['default_trust_level']
@prefer_html = yaml['prefer_html']
@staged = yaml['staged']
@index_only = yaml['index_only']
@group_messages_by_subject = yaml['group_messages_by_subject']
end
end
end