Method: Redmineup::Settings.initialize_gem_settings

Defined in:
lib/redmineup/settings.rb

.initialize_gem_settingsObject



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

def initialize_gem_settings
  return if !Object.const_defined?('Setting') || Setting.respond_to?(:plugin_redmineup)

  if Setting.respond_to?(:define_setting)
    Setting.send(:define_setting, 'plugin_redmineup', 'default' => default_settings, 'serialized' => true)
  elsif Setting.respond_to?(:available_settings)
    Setting.available_settings['plugin_redmineup'] = { 'default' => default_settings, 'serialized' => true }
    Setting.class.send(:define_method, 'plugin_redmineup', -> { Setting['plugin_redmineup'] })
    Setting.class.send(:define_method, 'plugin_redmineup=', lambda do |val|
      setting = find_or_default('plugin_redmineup')
      setting.value = val || ''
      @cached_settings['plugin_redmineup'] = nil
      setting.save(validate: false)
      setting.value
    end)
  end
  @settings_initialized
end