Class: ReservationService::Init::HungryHub
- Includes:
- DefaultErrorContainer, ElasticAPM::SpanHelpers, ReservationRequestLocker
- Defined in:
- app/services/reservation_service/init/hungry_hub.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#expiry_time ⇒ Object
Returns the value of attribute expiry_time.
-
#omise_token ⇒ Object
Returns the value of attribute omise_token.
-
#params ⇒ Object
Returns the value of attribute params.
-
#reservation ⇒ Object
Returns the value of attribute reservation.
Instance Method Summary collapse
Methods included from ReservationRequestLocker
#clear_request_lock, #duplicate_request?, #lock_request
Methods included from DefaultErrorContainer
#error, #error_message_simple, #merge_errors
Methods inherited from Base
Constructor Details
This class inherits a constructor from ReservationService::Init::Base
Instance Attribute Details
#expiry_time ⇒ Object
Returns the value of attribute expiry_time.
6 7 8 |
# File 'app/services/reservation_service/init/hungry_hub.rb', line 6 def expiry_time @expiry_time end |
#omise_token ⇒ Object
Returns the value of attribute omise_token.
6 7 8 |
# File 'app/services/reservation_service/init/hungry_hub.rb', line 6 def omise_token @omise_token end |
#params ⇒ Object
Returns the value of attribute params.
6 7 8 |
# File 'app/services/reservation_service/init/hungry_hub.rb', line 6 def params @params end |
#reservation ⇒ Object
Returns the value of attribute reservation.
6 7 8 |
# File 'app/services/reservation_service/init/hungry_hub.rb', line 6 def reservation @reservation end |
Instance Method Details
#create_temporary ⇒ Object
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'app/services/reservation_service/init/hungry_hub.rb', line 46 def create_temporary result = nil ActiveRecord::Base.transaction do @reservation = Reservation.new(tmp_reservation_params) reservation.end_time = Receptionist::GetEndTime.determine_end_time_from_reservation(reservation) if @reservation.end_time.blank? @reservation.save! business_context = { reservation_id: @reservation.id } request_context = { params: tmp_reservation_params } CUSTOM_LOGGERS.each do |logger| logger.set_business_context(business_context) logger.set_request_context(request_context) end BUSINESS_LOGGER.info('Creating temporary reservation') result = execute(:create) end if result.nil? if .blank? errors.add(:base, 'Sorry, something went wrong while updating your request') end return ServiceResult.new errors: errors, message: end result end |
#update_temporary(reservation_id) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'app/services/reservation_service/init/hungry_hub.rb', line 8 def update_temporary(reservation_id) result = nil ActiveRecord::Base.transaction do tmp_reservation = Reservation.find(reservation_id) business_context = { reservation_id: reservation_id } request_context = { params: tmp_reservation_params } CUSTOM_LOGGERS.each do |logger| logger.set_business_context(business_context) logger.set_request_context(request_context) end tmp_reservation.assign_attributes(tmp_reservation_params) @reservation = tmp_reservation if reservation.temporary_lock? BUSINESS_LOGGER.info(I18n.t('business_logger.tmp_reservation.updating')) result = execute(:update) else @expiry_time = prepare_session_time # on update - prepare but don't save yet apply_session_time # save session data to reservation BUSINESS_LOGGER.info(I18n.t('business_logger.tmp_reservation.expiry_time'), expiry_time: expiry_time) result = ServiceResult.new data: reservation end end if result.nil? if .blank? errors.add(:base, 'Sorry, something went wrong while updating your request') end return ServiceResult.new errors: errors, message: end result end |