Class: Address::Updater
- Inherits:
-
BaseService
- Object
- BaseService
- Address::Updater
- Defined in:
- app/services/address/updater.rb
Defined Under Namespace
Classes: Result
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Updater
constructor
A new instance of Updater.
- #process(id, attributes) ⇒ Object
Methods inherited from BaseService
#log_debug, #log_error, #log_info, #log_warning, #logger, #options, #tagged_logger
Constructor Details
#initialize(options = {}) ⇒ Updater
Returns a new instance of Updater.
8 9 10 11 |
# File 'app/services/address/updater.rb', line 8 def initialize(={}) @party_timezone_recorder = [:party_timezone_recorder] || Party::RecordTimezone.new super end |
Instance Method Details
#process(id, attributes) ⇒ Object
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'app/services/address/updater.rb', line 13 def process(id, attributes) = [] address = Address.find(id) address.attributes = attributes address.check_for_duplicates = true if address.save @party_timezone_recorder.process(address.party) if address.party Address::RecalculateShipping.new.process(address) unless [:skip_recalc_shipping].to_b Result.new(saved: true, autocorrect_message: address., messages: , address: address) else Result.new(saved: false, autocorrect_message: address., messages: address.errors., address: address) end end |