seatsio 37.1.0 → 40.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/Gemfile.lock +1 -1
 - data/lib/seatsio/channels.rb +48 -0
 - data/lib/seatsio/domain.rb +55 -24
 - data/lib/seatsio/events.rb +4 -8
 - data/lib/seatsio/httpClient.rb +3 -3
 - data/lib/seatsio/version.rb +1 -1
 - metadata +3 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: 318b95da4bc9436f82da06e2ba06af0e9ed25054e8328603496bca8e43e71758
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6efaef3cce86f803f1e8ed65346065181e565f2459fc303dc6ce0f2156ff48be
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: fea50b19a573dfa2403d7e4f66fc6d64ae0396af968cf3469d112ef54c1b0611646fc9b03802f654c0ee96f0d670c6b2e1f1efdfad503c0b37b867889ce0998e
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: a4f17bd2c0b680ed75dec260e66b02715a0c8897713eb34ee6e74e738bef0e1bb7737a4a9682a3a3f243eac72c501d80078d401b406e713c3db32bd010ae0c3d
         
     | 
    
        data/Gemfile.lock
    CHANGED
    
    
| 
         @@ -0,0 +1,48 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            module Seatsio
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
              class ChannelsClient
         
     | 
| 
      
 4 
     | 
    
         
            +
                def initialize(http_client)
         
     | 
| 
      
 5 
     | 
    
         
            +
                  @http_client = http_client
         
     | 
| 
      
 6 
     | 
    
         
            +
                end
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
                def add(event_key:, channel_key:, channel_name:, channel_color:, index: nil, objects: nil)
         
     | 
| 
      
 9 
     | 
    
         
            +
                  payload = {
         
     | 
| 
      
 10 
     | 
    
         
            +
                    key: channel_key,
         
     | 
| 
      
 11 
     | 
    
         
            +
                    name: channel_name,
         
     | 
| 
      
 12 
     | 
    
         
            +
                    color: channel_color
         
     | 
| 
      
 13 
     | 
    
         
            +
                  }
         
     | 
| 
      
 14 
     | 
    
         
            +
                  payload['index'] = index if index != nil
         
     | 
| 
      
 15 
     | 
    
         
            +
                  payload['objects'] = objects if objects != nil
         
     | 
| 
      
 16 
     | 
    
         
            +
                  @http_client.post("events/#{event_key}/channels", payload)
         
     | 
| 
      
 17 
     | 
    
         
            +
                end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
                def remove(event_key:, channel_key:)
         
     | 
| 
      
 20 
     | 
    
         
            +
                  @http_client.delete("events/#{event_key}/channels/#{channel_key}")
         
     | 
| 
      
 21 
     | 
    
         
            +
                end
         
     | 
| 
      
 22 
     | 
    
         
            +
             
     | 
| 
      
 23 
     | 
    
         
            +
                def update(event_key:, channel_key:, channel_name: nil, channel_color: nil, objects: nil)
         
     | 
| 
      
 24 
     | 
    
         
            +
                  payload = {}
         
     | 
| 
      
 25 
     | 
    
         
            +
                  payload['name'] = channel_name if channel_name != nil
         
     | 
| 
      
 26 
     | 
    
         
            +
                  payload['color'] = channel_color if channel_color != nil
         
     | 
| 
      
 27 
     | 
    
         
            +
                  payload['objects'] = objects if objects != nil
         
     | 
| 
      
 28 
     | 
    
         
            +
                  @http_client.post("events/#{event_key}/channels/#{channel_key}", payload)
         
     | 
| 
      
 29 
     | 
    
         
            +
                end
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
                def add_objects(event_key:, channel_key:, objects:)
         
     | 
| 
      
 32 
     | 
    
         
            +
                  @http_client.post("events/#{event_key}/channels/#{channel_key}/objects", { objects: objects })
         
     | 
| 
      
 33 
     | 
    
         
            +
                end
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
                def remove_objects(event_key:, channel_key:, objects:)
         
     | 
| 
      
 36 
     | 
    
         
            +
                  @http_client.delete("events/#{event_key}/channels/#{channel_key}/objects", { objects: objects })
         
     | 
| 
      
 37 
     | 
    
         
            +
                end
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
                def replace(key:, channels:)
         
     | 
| 
      
 40 
     | 
    
         
            +
                  @http_client.post("events/#{key}/channels/update", channels: channels)
         
     | 
| 
      
 41 
     | 
    
         
            +
                end
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                def set_objects(key:, channelConfig:)
         
     | 
| 
      
 44 
     | 
    
         
            +
                  @http_client.post("events/#{key}/channels/assign-objects", channelConfig: channelConfig)
         
     | 
| 
      
 45 
     | 
    
         
            +
                end
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
              end
         
     | 
| 
      
 48 
     | 
    
         
            +
            end
         
     | 
    
        data/lib/seatsio/domain.rb
    CHANGED
    
    | 
         @@ -70,6 +70,41 @@ module Seatsio 
     | 
|
| 
       70 
70 
     | 
    
         
             
                end
         
     | 
| 
       71 
71 
     | 
    
         
             
              end
         
     | 
| 
       72 
72 
     | 
    
         | 
| 
      
 73 
     | 
    
         
            +
              class Category
         
     | 
| 
      
 74 
     | 
    
         
            +
             
     | 
| 
      
 75 
     | 
    
         
            +
                attr_reader :key, :label, :color, :accessible
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
                def initialize(key, label, color, accessible)
         
     | 
| 
      
 78 
     | 
    
         
            +
                  @key = key
         
     | 
| 
      
 79 
     | 
    
         
            +
                  @label = label
         
     | 
| 
      
 80 
     | 
    
         
            +
                  @color = color
         
     | 
| 
      
 81 
     | 
    
         
            +
                  @accessible = accessible
         
     | 
| 
      
 82 
     | 
    
         
            +
                end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
                def self.from_json(data)
         
     | 
| 
      
 85 
     | 
    
         
            +
                  if data
         
     | 
| 
      
 86 
     | 
    
         
            +
                    Category.new(data['key'], data['label'], data['color'], data['accessible'])
         
     | 
| 
      
 87 
     | 
    
         
            +
                  end
         
     | 
| 
      
 88 
     | 
    
         
            +
                end
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
                def self.create_list(list = [])
         
     | 
| 
      
 91 
     | 
    
         
            +
                  result = []
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
                  list.each do |item|
         
     | 
| 
      
 94 
     | 
    
         
            +
                    result << Category.from_json(item)
         
     | 
| 
      
 95 
     | 
    
         
            +
                  end
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
                  result
         
     | 
| 
      
 98 
     | 
    
         
            +
                end
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
                def == (other)
         
     | 
| 
      
 101 
     | 
    
         
            +
                  key == other.key &&
         
     | 
| 
      
 102 
     | 
    
         
            +
                    label == other.label &&
         
     | 
| 
      
 103 
     | 
    
         
            +
                    color == other.color &&
         
     | 
| 
      
 104 
     | 
    
         
            +
                    accessible == other.accessible
         
     | 
| 
      
 105 
     | 
    
         
            +
                end
         
     | 
| 
      
 106 
     | 
    
         
            +
              end
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
       73 
108 
     | 
    
         
             
              class TableBookingConfig
         
     | 
| 
       74 
109 
     | 
    
         | 
| 
       75 
110 
     | 
    
         
             
                attr_reader :mode, :tables
         
     | 
| 
         @@ -114,11 +149,11 @@ module Seatsio 
     | 
|
| 
       114 
149 
     | 
    
         
             
                end
         
     | 
| 
       115 
150 
     | 
    
         | 
| 
       116 
151 
     | 
    
         
             
                def == (other)
         
     | 
| 
       117 
     | 
    
         
            -
                   
     | 
| 
       118 
     | 
    
         
            -
                     
     | 
| 
       119 
     | 
    
         
            -
                     
     | 
| 
       120 
     | 
    
         
            -
                     
     | 
| 
       121 
     | 
    
         
            -
                     
     | 
| 
      
 152 
     | 
    
         
            +
                  key == other.key &&
         
     | 
| 
      
 153 
     | 
    
         
            +
                    name == other.name &&
         
     | 
| 
      
 154 
     | 
    
         
            +
                    color == other.color &&
         
     | 
| 
      
 155 
     | 
    
         
            +
                    index == other.index &&
         
     | 
| 
      
 156 
     | 
    
         
            +
                    objects == other.objects
         
     | 
| 
       122 
157 
     | 
    
         
             
                end
         
     | 
| 
       123 
158 
     | 
    
         | 
| 
       124 
159 
     | 
    
         
             
              end
         
     | 
| 
         @@ -149,7 +184,7 @@ module Seatsio 
     | 
|
| 
       149 
184 
     | 
    
         
             
                  @is_event_in_season = data['isEventInSeason']
         
     | 
| 
       150 
185 
     | 
    
         
             
                  @top_level_season_key = data['topLevelSeasonKey']
         
     | 
| 
       151 
186 
     | 
    
         
             
                  @object_categories = data['objectCategories']
         
     | 
| 
       152 
     | 
    
         
            -
                  @categories = data['categories']
         
     | 
| 
      
 187 
     | 
    
         
            +
                  @categories = Category.create_list(data['categories']) if data['categories']
         
     | 
| 
       153 
188 
     | 
    
         
             
                end
         
     | 
| 
       154 
189 
     | 
    
         | 
| 
       155 
190 
     | 
    
         
             
                def is_season
         
     | 
| 
         @@ -441,16 +476,12 @@ module Seatsio 
     | 
|
| 
       441 
476 
     | 
    
         | 
| 
       442 
477 
     | 
    
         
             
              class UsageByEvent
         
     | 
| 
       443 
478 
     | 
    
         | 
| 
       444 
     | 
    
         
            -
                attr_reader :event, :num_used_objects, :num_first_bookings, : 
     | 
| 
       445 
     | 
    
         
            -
                            :num_ga_selections_without_booking, :num_non_ga_selections_without_booking, :num_object_selections
         
     | 
| 
      
 479 
     | 
    
         
            +
                attr_reader :event, :num_used_objects, :num_first_bookings, :num_object_selections
         
     | 
| 
       446 
480 
     | 
    
         | 
| 
       447 
481 
     | 
    
         
             
                def initialize(data)
         
     | 
| 
       448 
482 
     | 
    
         
             
                  @event = UsageEvent.new(data['event'])
         
     | 
| 
       449 
483 
     | 
    
         
             
                  @num_used_objects = data['numUsedObjects']
         
     | 
| 
       450 
484 
     | 
    
         
             
                  @num_first_bookings = data['numFirstBookings']
         
     | 
| 
       451 
     | 
    
         
            -
                  @num_first_bookings_or_selections = data['numFirstBookingsOrSelections']
         
     | 
| 
       452 
     | 
    
         
            -
                  @num_ga_selections_without_booking = data['numGASelectionsWithoutBooking']
         
     | 
| 
       453 
     | 
    
         
            -
                  @num_non_ga_selections_without_booking = data['numNonGASelectionsWithoutBooking']
         
     | 
| 
       454 
485 
     | 
    
         
             
                  @num_object_selections = data['numObjectSelections']
         
     | 
| 
       455 
486 
     | 
    
         
             
                end
         
     | 
| 
       456 
487 
     | 
    
         
             
              end
         
     | 
| 
         @@ -581,19 +612,19 @@ module Seatsio 
     | 
|
| 
       581 
612 
     | 
    
         
             
                end
         
     | 
| 
       582 
613 
     | 
    
         | 
| 
       583 
614 
     | 
    
         
             
                def == (other)
         
     | 
| 
       584 
     | 
    
         
            -
                   
     | 
| 
       585 
     | 
    
         
            -
                     
     | 
| 
       586 
     | 
    
         
            -
                     
     | 
| 
       587 
     | 
    
         
            -
                     
     | 
| 
       588 
     | 
    
         
            -
                     
     | 
| 
       589 
     | 
    
         
            -
                     
     | 
| 
       590 
     | 
    
         
            -
                     
     | 
| 
       591 
     | 
    
         
            -
                     
     | 
| 
       592 
     | 
    
         
            -
                     
     | 
| 
       593 
     | 
    
         
            -
                     
     | 
| 
       594 
     | 
    
         
            -
                     
     | 
| 
       595 
     | 
    
         
            -
                     
     | 
| 
       596 
     | 
    
         
            -
                     
     | 
| 
      
 615 
     | 
    
         
            +
                  name == other.name &&
         
     | 
| 
      
 616 
     | 
    
         
            +
                    number_of_disabled_seats_to_the_sides == other.number_of_disabled_seats_to_the_sides &&
         
     | 
| 
      
 617 
     | 
    
         
            +
                    disable_seats_in_front_and_behind == other.disable_seats_in_front_and_behind &&
         
     | 
| 
      
 618 
     | 
    
         
            +
                    disable_diagonal_seats_in_front_and_behind == other.disable_diagonal_seats_in_front_and_behind &&
         
     | 
| 
      
 619 
     | 
    
         
            +
                    number_of_disabled_aisle_seats == other.number_of_disabled_aisle_seats &&
         
     | 
| 
      
 620 
     | 
    
         
            +
                    max_group_size == other.max_group_size &&
         
     | 
| 
      
 621 
     | 
    
         
            +
                    max_occupancy_absolute == other.max_occupancy_absolute &&
         
     | 
| 
      
 622 
     | 
    
         
            +
                    max_occupancy_percentage == other.max_occupancy_percentage &&
         
     | 
| 
      
 623 
     | 
    
         
            +
                    one_group_per_table == other.one_group_per_table &&
         
     | 
| 
      
 624 
     | 
    
         
            +
                    fixed_group_layout == other.fixed_group_layout &&
         
     | 
| 
      
 625 
     | 
    
         
            +
                    disabled_seats == other.disabled_seats &&
         
     | 
| 
      
 626 
     | 
    
         
            +
                    enabled_seats == other.enabled_seats &&
         
     | 
| 
      
 627 
     | 
    
         
            +
                    index == other.index
         
     | 
| 
       597 
628 
     | 
    
         
             
                end
         
     | 
| 
       598 
629 
     | 
    
         
             
              end
         
     | 
| 
       599 
630 
     | 
    
         | 
    
        data/lib/seatsio/events.rb
    CHANGED
    
    | 
         @@ -6,12 +6,16 @@ require "json" 
     | 
|
| 
       6 
6 
     | 
    
         
             
            require "cgi"
         
     | 
| 
       7 
7 
     | 
    
         
             
            require "seatsio/events/change_object_status_request"
         
     | 
| 
       8 
8 
     | 
    
         
             
            require "seatsio/events/change_best_available_object_status_request"
         
     | 
| 
      
 9 
     | 
    
         
            +
            require 'seatsio/channels'
         
     | 
| 
       9 
10 
     | 
    
         | 
| 
       10 
11 
     | 
    
         
             
            module Seatsio
         
     | 
| 
       11 
12 
     | 
    
         | 
| 
       12 
13 
     | 
    
         
             
              class EventsClient
         
     | 
| 
      
 14 
     | 
    
         
            +
                attr_reader :channels
         
     | 
| 
      
 15 
     | 
    
         
            +
             
     | 
| 
       13 
16 
     | 
    
         
             
                def initialize(http_client)
         
     | 
| 
       14 
17 
     | 
    
         
             
                  @http_client = http_client
         
     | 
| 
      
 18 
     | 
    
         
            +
                  @channels = ChannelsClient.new(@http_client)
         
     | 
| 
       15 
19 
     | 
    
         
             
                end
         
     | 
| 
       16 
20 
     | 
    
         | 
| 
       17 
21 
     | 
    
         
             
                def create(chart_key: nil, event_key: nil, table_booking_config: nil, social_distancing_ruleset_key: nil, object_categories: nil)
         
     | 
| 
         @@ -142,14 +146,6 @@ module Seatsio 
     | 
|
| 
       142 
146 
     | 
    
         
             
                  @http_client.post("events/#{key}/actions/mark-as-for-sale", request)
         
     | 
| 
       143 
147 
     | 
    
         
             
                end
         
     | 
| 
       144 
148 
     | 
    
         | 
| 
       145 
     | 
    
         
            -
                def update_channels(key:, channels:)
         
     | 
| 
       146 
     | 
    
         
            -
                  @http_client.post("events/#{key}/channels/update", channels: channels)
         
     | 
| 
       147 
     | 
    
         
            -
                end
         
     | 
| 
       148 
     | 
    
         
            -
             
     | 
| 
       149 
     | 
    
         
            -
                def assign_objects_to_channels(key:, channelConfig:)
         
     | 
| 
       150 
     | 
    
         
            -
                  @http_client.post("events/#{key}/channels/assign-objects", channelConfig: channelConfig)
         
     | 
| 
       151 
     | 
    
         
            -
                end
         
     | 
| 
       152 
     | 
    
         
            -
             
     | 
| 
       153 
149 
     | 
    
         
             
                private
         
     | 
| 
       154 
150 
     | 
    
         | 
| 
       155 
151 
     | 
    
         
             
                def build_parameters_for_mark_as_sale(objects: nil, categories: nil)
         
     | 
    
        data/lib/seatsio/httpClient.rb
    CHANGED
    
    | 
         @@ -33,7 +33,7 @@ module Seatsio 
     | 
|
| 
       33 
33 
     | 
    
         | 
| 
       34 
34 
     | 
    
         
             
                    request_options = { method: args[0], url: url, headers: headers }
         
     | 
| 
       35 
35 
     | 
    
         | 
| 
       36 
     | 
    
         
            -
                    if args[0] == :post
         
     | 
| 
      
 36 
     | 
    
         
            +
                    if args[0] == :post || args[0] == :delete
         
     | 
| 
       37 
37 
     | 
    
         
             
                      args[2].delete :params
         
     | 
| 
       38 
38 
     | 
    
         
             
                      request_options[:payload] = args[2].to_json
         
     | 
| 
       39 
39 
     | 
    
         
             
                    end
         
     | 
| 
         @@ -90,8 +90,8 @@ module Seatsio 
     | 
|
| 
       90 
90 
     | 
    
         
             
                  execute(:post, endpoint, payload)
         
     | 
| 
       91 
91 
     | 
    
         
             
                end
         
     | 
| 
       92 
92 
     | 
    
         | 
| 
       93 
     | 
    
         
            -
                def delete(endpoint)
         
     | 
| 
       94 
     | 
    
         
            -
                  execute(:delete, endpoint,  
     | 
| 
      
 93 
     | 
    
         
            +
                def delete(endpoint, payload = {})
         
     | 
| 
      
 94 
     | 
    
         
            +
                  execute(:delete, endpoint, payload)
         
     | 
| 
       95 
95 
     | 
    
         
             
                end
         
     | 
| 
       96 
96 
     | 
    
         
             
              end
         
     | 
| 
       97 
97 
     | 
    
         
             
            end
         
     | 
    
        data/lib/seatsio/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: seatsio
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version:  
     | 
| 
      
 4 
     | 
    
         
            +
              version: 40.0.0
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Seats.io
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: exe
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2022- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2022-06-15 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -112,6 +112,7 @@ files: 
     | 
|
| 
       112 
112 
     | 
    
         
             
            - bin/console
         
     | 
| 
       113 
113 
     | 
    
         
             
            - bin/setup
         
     | 
| 
       114 
114 
     | 
    
         
             
            - lib/seatsio.rb
         
     | 
| 
      
 115 
     | 
    
         
            +
            - lib/seatsio/channels.rb
         
     | 
| 
       115 
116 
     | 
    
         
             
            - lib/seatsio/chart_reports.rb
         
     | 
| 
       116 
117 
     | 
    
         
             
            - lib/seatsio/charts.rb
         
     | 
| 
       117 
118 
     | 
    
         
             
            - lib/seatsio/domain.rb
         
     |