Class: Hungrytable::ReservationStatus

Inherits:
Object
  • Object
show all
Includes:
RequestExtensions
Defined in:
lib/hungrytable/reservation_status.rb

Overview

Checks the status of an existing reservation

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ ReservationStatus

Returns a new instance of ReservationStatus.



10
11
12
13
14
# File 'lib/hungrytable/reservation_status.rb', line 10

def initialize(opts = {})
  @opts = opts
  ensure_required_opts
  @requester = opts[:requester] || GetRequest
end

Instance Attribute Details

#optsObject (readonly)

Returns the value of attribute opts.



8
9
10
# File 'lib/hungrytable/reservation_status.rb', line 8

def opts
  @opts
end

Instance Method Details

#reservation_detailsHash

Returns all reservation details.

Returns:

  • (Hash)

    all reservation details



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/hungrytable/reservation_status.rb', line 29

def reservation_details
  return nil unless successful?

  {
    status: details['ns:ReservationStatus'],
    restaurant_name: details['ns:RestaurantName'],
    date_time: details['ns:DateTime'],
    party_size: details['ns:PartySize'],
    confirmation_number: opts[:confirmation_number]
  }
end

#statusString

Returns the current status of the reservation.

Returns:

  • (String)

    the current status of the reservation



22
23
24
25
26
# File 'lib/hungrytable/reservation_status.rb', line 22

def status
  return nil unless successful?

  details['ns:ReservationStatus']
end

#successful?Boolean

Returns true if the status request was successful.

Returns:

  • (Boolean)

    true if the status request was successful



17
18
19
# File 'lib/hungrytable/reservation_status.rb', line 17

def successful?
  details['ns:ErrorID'].to_s == '0'
end