Class: KirguduBase::Settings::SettingsManager
- Inherits:
-
Object
- Object
- KirguduBase::Settings::SettingsManager
- Defined in:
- app/models/kirgudu_base/settings/settings_manager.rb
Instance Method Summary collapse
- #create_value_for_option(user, option) ⇒ Object
- #generate_values_for_options(user) ⇒ Object
- #get(option_name) ⇒ Object
- #get_option_value(option_name) ⇒ Object
- #get_options_values(group) ⇒ Object
-
#initialize ⇒ SettingsManager
constructor
A new instance of SettingsManager.
- #load_options(option_names) ⇒ Object
- #set(option_name, value) ⇒ Object
Constructor Details
#initialize ⇒ SettingsManager
Returns a new instance of SettingsManager.
6 7 8 |
# File 'app/models/kirgudu_base/settings/settings_manager.rb', line 6 def initialize @options = {} end |
Instance Method Details
#create_value_for_option(user, option) ⇒ Object
36 37 38 39 40 41 42 43 44 |
# File 'app/models/kirgudu_base/settings/settings_manager.rb', line 36 def create_value_for_option(user, option) value = ::KirguduBase::Settings::Value.new( option: option, creator: user, updater: user ) value.data = option.default_value if option.default_value value.save end |
#generate_values_for_options(user) ⇒ Object
28 29 30 31 32 33 34 |
# File 'app/models/kirgudu_base/settings/settings_manager.rb', line 28 def (user) values_ids = ::KirguduBase::Settings::Value.all.map { |u| u.option_id } = ::KirguduBase::Settings::Option.where { -(id.in values_ids) } .each do |option| self.create_value_for_option(user, option) end end |
#get(option_name) ⇒ Object
10 11 12 13 14 15 16 17 |
# File 'app/models/kirgudu_base/settings/settings_manager.rb', line 10 def get(option_name) option = @options[option_name] unless option option = self.get_option_by_name(option_name) @options[option_name] = option unless option end option end |
#get_option_value(option_name) ⇒ Object
53 54 55 56 |
# File 'app/models/kirgudu_base/settings/settings_manager.rb', line 53 def get_option_value(option_name) option = ::KirguduBase::Settings::Option.where(name: option_name).first option.data if option end |
#get_options_values(group) ⇒ Object
58 59 60 |
# File 'app/models/kirgudu_base/settings/settings_manager.rb', line 58 def (group) ::KirguduBase::Settings::Option.include(value).where(group_id: group) end |
#load_options(option_names) ⇒ Object
46 47 48 49 50 51 |
# File 'app/models/kirgudu_base/settings/settings_manager.rb', line 46 def (option_names) @options = {} ::KirguduBase::Settings::Option.where(slug: option_names).each do |option| @options[option.slug] = option end end |
#set(option_name, value) ⇒ Object
19 20 21 22 23 24 25 |
# File 'app/models/kirgudu_base/settings/settings_manager.rb', line 19 def set(option_name, value) option = set.get_option_by_name(option_name) unless option # option = self.create_value_for_option() option.value = value end end |