Class: SevenRooms::Restaurants::Detail

Inherits:
Object
  • Object
show all
Includes:
DefaultErrorContainer, ApiHelpers
Defined in:
app/services/seven_rooms/restaurants/detail.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from DefaultErrorContainer

#error, #error_message_simple, #merge_errors

Methods included from ApiHelpers

#api_uri, #auth_headers, #common_headers, #find_seven_rooms_vendor_application, #parse_user_or_guest_full_name, #parsed_vendor_name, #send_error_availability_notification_to_staff, #sevenrooms_credit_card_error?, #standardize_or_default_phone

Constructor Details

#initialize(venue_id) ⇒ Detail

Returns a new instance of Detail.



11
12
13
# File 'app/services/seven_rooms/restaurants/detail.rb', line 11

def initialize(venue_id)
  @venue_id = venue_id
end

Instance Attribute Details

#venue_idObject (readonly)

Returns the value of attribute venue_id.



9
10
11
# File 'app/services/seven_rooms/restaurants/detail.rb', line 9

def venue_id
  @venue_id
end

Instance Method Details

#executeObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/services/seven_rooms/restaurants/detail.rb', line 15

def execute
  errors.clear

  validation_result = validate_venue
  unless validation_result.success?
    error_message = validation_result.message
    errors.add(:base, error_message)

    return ServiceResult.new errors: errors, message: error_message
  end

  result = get_seven_rooms_venue(validation_result.data[:concierge_id], validation_result.data[:venue_id])
  unless result.success?
    error_message = result.message
    errors.add(:base, error_message)

    return ServiceResult.new errors: errors, message: error_message
  end

  ServiceResult.new data: result.data
end