Class: AdminSettingUpdater
- Inherits:
-
Object
- Object
- AdminSettingUpdater
- Includes:
- DefaultErrorContainer
- Defined in:
- app/my_lib/admin_setting_updater.rb
Overview
Handles updating of admin settings with validation and type conversion
Defined Under Namespace
Classes: ValidationError
Constant Summary collapse
- SETTING_TYPE_CONVERTERS =
{ integer: ->(val) { val.to_i }, float: ->(val) { val.to_f }, boolean: ->(val) { val == 'true' }, array: ->(val) do return val if val.is_a?(Array) val.to_s.split(',').map(&:strip) end, string: ->(val) { val.to_s }, }.freeze
Instance Method Summary collapse
-
#initialize ⇒ AdminSettingUpdater
constructor
A new instance of AdminSettingUpdater.
-
#update(params) ⇒ ServiceResult
Updates admin settings with validation.
Methods included from DefaultErrorContainer
#error, #error_message_simple, #merge_errors
Constructor Details
#initialize ⇒ AdminSettingUpdater
Returns a new instance of AdminSettingUpdater.
22 23 24 |
# File 'app/my_lib/admin_setting_updater.rb', line 22 def initialize @error_message = '' end |
Instance Method Details
#update(params) ⇒ ServiceResult
Updates admin settings with validation
29 30 31 32 33 34 35 36 37 |
# File 'app/my_lib/admin_setting_updater.rb', line 29 def update(params) return handle_empty_params if params.blank? validate_and_update_settings(params) rescue ValidationError => e handle_error(e.) rescue StandardError => e handle_unexpected_error(e) end |