Class: Gillbus::LockSeats::Request

Inherits:
BaseRequest show all
Defined in:
lib/gillbus/lock_seats.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods inherited from BaseRequest

#initialize, #method

Constructor Details

This class inherits a constructor from Gillbus::BaseRequest

Instance Attribute Details

#back_carriage_idObject

backCarriageId (не обязательный) ИД вагона обратного рейса, для которого нужно получить карту мест. По-умолчанию первый попавшийся. Только для железнодорожных рейсов.



20
21
22
# File 'lib/gillbus/lock_seats.rb', line 20

def back_carriage_id
  @back_carriage_id
end

#back_seat_idsObject

backSeatId0…backSeatIdN (не обязательный) ИД места с порядковым номером 0…N, которое нужно заблокировать на обратный рейс.



32
33
34
# File 'lib/gillbus/lock_seats.rb', line 32

def back_seat_ids
  @back_seat_ids
end

#carriage_idObject

carriageId (не обязательный) ИД вагона, для которого нужно получить карту мест. По- умолчанию первый попавшийся. Только для железнодорожных рейсов.



15
16
17
# File 'lib/gillbus/lock_seats.rb', line 15

def carriage_id
  @carriage_id
end

#seat_idsObject

seatId0…seatIdN (не обязательный) ИД места с порядковым номером 0…N, которое нужно заблокировать.



28
29
30
# File 'lib/gillbus/lock_seats.rb', line 28

def seat_ids
  @seat_ids
end

#segments_seat_idsObject

segment0seatId0… segmentMseatIdN (не обязательный) ИД места с порядковым номером 0…N, которое нужно заблокировать на сегмент рейса с порядковым номером 0…M.



36
37
38
# File 'lib/gillbus/lock_seats.rb', line 36

def segments_seat_ids
  @segments_seat_ids
end

#trip_idObject

tripId ИД рейса, для которого нужно получить карту мест



10
11
12
# File 'lib/gillbus/lock_seats.rb', line 10

def trip_id
  @trip_id
end

Instance Method Details

#paramsObject



38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/gillbus/lock_seats.rb', line 38

def params
  seats = Array(seat_ids).map.with_index { |id, n| [:"seatId#{n}", id] }.to_h
  back_seats = Array(back_seat_ids).map.with_index { |id, n| [:"backSeatId#{n}", id] }.to_h
  segments_seats = Hash(segments_seat_ids).map do |segment, seat_ids|
    Array(seat_ids).map.with_index { |id, n| [:"segment#{segment}seatId#{n}", id] }.to_h
  end.reduce(&:merge).to_h

  compact(
    tripId: trip_id,
    carriageId: carriage_id,
    backCarriageId: back_carriage_id,
    **seats,
    **back_seats,
    **segments_seats,
  )
end

#pathObject



6
# File 'lib/gillbus/lock_seats.rb', line 6

def path; '/online2/lockSeats' end