Class: Ez::Settings::Backend::ActiveRecord
- Inherits:
-
Object
- Object
- Ez::Settings::Backend::ActiveRecord
- Defined in:
- lib/ez/settings/backend/active_record.rb
Instance Method Summary collapse
Instance Method Details
#read ⇒ Object
8 9 10 11 12 13 14 15 |
# File 'lib/ez/settings/backend/active_record.rb', line 8 def read return {} unless try_db_connection && check_settings_table ActiveRecordStore.all.each_with_object({}) do |settings, hsh| hsh[settings.group] ||= {} hsh[settings.group][settings.key] = settings.value end.deep_symbolize_keys end |
#write(data) ⇒ Object
17 18 19 20 21 22 23 24 25 26 |
# File 'lib/ez/settings/backend/active_record.rb', line 17 def write(data) return unless try_db_connection && check_settings_table group = data.keys[0] pairs = data.values[0] existing_settings = ActiveRecordStore.where(group: group, key: pairs.keys) pairs.map do |key, value| record(existing_settings, key, value) || ActiveRecordStore.new(group: group, key: key, value: value) end.each(&:save!) end |