Class: SpreeCmCommissioner::GuestIdCardManager
- Inherits:
-
BaseInteractor
- Object
- BaseInteractor
- SpreeCmCommissioner::GuestIdCardManager
- Defined in:
- app/interactors/spree_cm_commissioner/guest_id_card_manager.rb
Instance Method Summary collapse
- #call ⇒ Object
- #create_guest_id_card ⇒ Object
- #guest ⇒ Object
- #manage_back_image(id_card) ⇒ Object
- #manage_card_type(id_card) ⇒ Object
- #manage_front_image(id_card) ⇒ Object
- #update_guest_id_card ⇒ Object
Instance Method Details
#call ⇒ Object
5 6 7 8 9 10 11 12 13 |
# File 'app/interactors/spree_cm_commissioner/guest_id_card_manager.rb', line 5 def call if guest.id_card.blank? && front_image_url.present? create_guest_id_card elsif guest.id_card.present? update_guest_id_card else context.fail!(message: 'Image url can not be empty') end end |
#create_guest_id_card ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'app/interactors/spree_cm_commissioner/guest_id_card_manager.rb', line 15 def create_guest_id_card id_card = guest.build_id_card(card_type: card_type) manage_front_image(id_card) manage_back_image(id_card) if back_image_url.present? context.fail!(message: 'Failed to create Id card') unless context.success? && id_card.save context.result = guest.id_card end |
#guest ⇒ Object
34 35 36 |
# File 'app/interactors/spree_cm_commissioner/guest_id_card_manager.rb', line 34 def guest SpreeCmCommissioner::Guest.find(guest_id) end |
#manage_back_image(id_card) ⇒ Object
52 53 54 55 56 57 58 59 |
# File 'app/interactors/spree_cm_commissioner/guest_id_card_manager.rb', line 52 def manage_back_image(id_card) context = SpreeCmCommissioner::IdCardImageUpdater.call( id_card: id_card, image_url: back_image_url, type: 'back_image' ) context.fail!(message: 'Failed to update back image') unless context.success? end |
#manage_card_type(id_card) ⇒ Object
38 39 40 |
# File 'app/interactors/spree_cm_commissioner/guest_id_card_manager.rb', line 38 def manage_card_type(id_card) id_card.update(card_type: card_type) end |
#manage_front_image(id_card) ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'app/interactors/spree_cm_commissioner/guest_id_card_manager.rb', line 42 def manage_front_image(id_card) context = SpreeCmCommissioner::IdCardImageUpdater.call( id_card: id_card, image_url: front_image_url, type: 'front_image' ) context.fail!(message: 'Failed to update front image') unless context.success? end |
#update_guest_id_card ⇒ Object
25 26 27 28 29 30 31 32 |
# File 'app/interactors/spree_cm_commissioner/guest_id_card_manager.rb', line 25 def update_guest_id_card manage_card_type(guest.id_card) if card_type.present? manage_front_image(guest.id_card) if front_image_url.present? manage_back_image(guest.id_card) if back_image_url.present? context.fail!(message: 'Failed to update Id card') unless context.success? && guest.id_card.save context.result = guest.id_card end |