class RedmineCrm::Settings
Constants
- SECTIONS
Public Class Methods
[](value)
click to toggle source
# File lib/redmine_crm/settings.rb, line 39 def [](value) initialize_gem_settings unless @settings_initialized return Setting.plugin_redmine_crm[value] if Object.const_defined?('Setting') nil end
apply=(values)
click to toggle source
Use apply instead attrs assign because it can rewrite other attributes
# File lib/redmine_crm/settings.rb, line 28 def apply=(values) initialize_gem_settings unless @settings_initialized Setting.plugin_redmine_crm = Setting.plugin_redmine_crm.merge(values) end
initialize_gem_settings()
click to toggle source
# File lib/redmine_crm/settings.rb, line 8 def initialize_gem_settings return if !Object.const_defined?('Setting') || Setting.respond_to?(:plugin_redmine_crm) if Setting.respond_to?(:define_setting) Setting.send(:define_setting, 'plugin_redmine_crm', 'default' => default_settings, 'serialized' => true) elsif Setting.respond_to?(:available_settings) Setting.available_settings['plugin_redmine_crm'] = { 'default' => default_settings, 'serialized' => true } Setting.class.send(:define_method, 'plugin_redmine_crm', -> { Setting['plugin_redmine_crm'] }) Setting.class.send(:define_method, 'plugin_redmine_crm=', lambda do |val| setting = find_or_default('plugin_redmine_crm') setting.value = val || '' @cached_settings['plugin_redmine_crm'] = nil setting.save(validate: false) setting.value end) end @settings_initialized end
values()
click to toggle source
# File lib/redmine_crm/settings.rb, line 34 def values initialize_gem_settings unless @settings_initialized Object.const_defined?('Setting') ? Setting.plugin_redmine_crm : {} end
Private Class Methods
default_settings()
click to toggle source
# File lib/redmine_crm/settings.rb, line 48 def default_settings {} end