Class: Address::Creator
- Inherits:
-
BaseService
- Object
- BaseService
- Address::Creator
- Defined in:
- app/services/address/creator.rb
Defined Under Namespace
Classes: Result
Instance Method Summary collapse
-
#initialize(options = {}) ⇒ Creator
constructor
A new instance of Creator.
- #process(attributes, context_object = nil) ⇒ Object
Methods inherited from BaseService
#log_debug, #log_error, #log_info, #log_warning, #logger, #options, #tagged_logger
Constructor Details
#initialize(options = {}) ⇒ Creator
Returns a new instance of Creator.
8 9 10 |
# File 'app/services/address/creator.rb', line 8 def initialize(={}) @party_timezone_recorder = [:party_timezone_recorder] || Party::RecordTimezone.new end |
Instance Method Details
#process(attributes, context_object = nil) ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'app/services/address/creator.rb', line 12 def process(attributes, context_object = nil) = [] address = context_object.nil? ? Address.new(attributes) : context_object.addresses.new(attributes) address.check_for_duplicates = true if address.save @party_timezone_recorder.process(address.party) if address.party 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 |