Class: SpreeCmCommissioner::Integrations::VireakBuntham::Resources::Seat
- Inherits:
-
Base
- Object
- Base
- SpreeCmCommissioner::Integrations::VireakBuntham::Resources::Seat
- Defined in:
- app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb
Overview
Wraps a seat row returned by POST /seat/unavailable or /seat/list.
Example payload (one element from a JSON array):
{ "seatNumber": "2", "gender": "1", "status": 0 }
status: 0 = occupied (from /seat/unavailable), 1 = available (from /seat/list) gender: 1 = male, 2 = female
Instance Attribute Summary collapse
-
#gender ⇒ Object
Returns the value of attribute gender.
-
#seat_number ⇒ Object
Returns the value of attribute seat_number.
-
#status ⇒ Object
Returns the value of attribute status.
Instance Method Summary collapse
- #available? ⇒ Boolean
- #female? ⇒ Boolean
-
#initialize(data) ⇒ Seat
constructor
rubocop:disable Lint/MissingSuper.
- #label ⇒ Object
- #male? ⇒ Boolean
- #occupied? ⇒ Boolean
- #to_h ⇒ Object
Methods inherited from Base
Constructor Details
#initialize(data) ⇒ Seat
rubocop:disable Lint/MissingSuper
12 13 14 15 16 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 12 def initialize(data) # rubocop:disable Lint/MissingSuper @seat_number = data['seatNumber'].to_s @gender = data['gender'].to_i @status = data['status'].to_i end |
Instance Attribute Details
#gender ⇒ Object
Returns the value of attribute gender.
10 11 12 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 10 def gender @gender end |
#seat_number ⇒ Object
Returns the value of attribute seat_number.
10 11 12 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 10 def seat_number @seat_number end |
#status ⇒ Object
Returns the value of attribute status.
10 11 12 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 10 def status @status end |
Instance Method Details
#available? ⇒ Boolean
26 27 28 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 26 def available? status == 1 end |
#female? ⇒ Boolean
34 35 36 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 34 def female? gender == 2 end |
#label ⇒ Object
18 19 20 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 18 def label seat_number end |
#male? ⇒ Boolean
30 31 32 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 30 def male? gender == 1 end |
#occupied? ⇒ Boolean
22 23 24 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 22 def occupied? status.zero? end |
#to_h ⇒ Object
38 39 40 41 42 43 44 45 46 |
# File 'app/services/spree_cm_commissioner/integrations/vireak_buntham/resources/seat.rb', line 38 def to_h { seat_number: seat_number, gender: gender, status: status, occupied: occupied?, available: available? } end |