lib/seatsio/domain.rb in seatsio-27.0.0 vs lib/seatsio/domain.rb in seatsio-28.0.0

- old
+ new

@@ -20,14 +20,23 @@ @events = Event.create_list(data['events']) if data['events'] @tags = data['tags'] @archived = data['archived'] @validation = data['validation'] @social_distancing_rulesets = data['socialDistancingRulesets'].map { - |key, r| [key, SocialDistancingRuleset.new(r['name'], r['numberOfDisabledSeatsToTheSides'], r['disableSeatsInFrontAndBehind'], - r['numberOfDisabledAisleSeats'], r['maxGroupSize'], - r['maxOccupancyAbsolute'], r['maxOccupancyPercentage'], r['oneGroupPerTable'], r['fixedGroupLayout'], - r['disabledSeats'], r['enabledSeats'], r['index'])] + |key, r| [key, SocialDistancingRuleset.new(r['name'], + number_of_disabled_seats_to_the_sides: r['numberOfDisabledSeatsToTheSides'], + disable_seats_in_front_and_behind: r['disableSeatsInFrontAndBehind'], + disable_diagonal_seats_in_front_and_behind: r['disableDiagonalSeatsInFrontAndBehind'], + number_of_disabled_aisle_seats: r['numberOfDisabledAisleSeats'], + max_group_size: r['maxGroupSize'], + max_occupancy_absolute: r['maxOccupancyAbsolute'], + max_occupancy_percentage: r['maxOccupancyPercentage'], + one_group_per_table: r['oneGroupPerTable'], + fixed_group_layout: r['fixedGroupLayout'], + disabled_seats: r['disabledSeats'], + enabled_seats: r['enabledSeats'], + index: r['index'])] }.to_h end end class ChartValidationResult @@ -504,19 +513,20 @@ object_details end class SocialDistancingRuleset attr_reader :name, :number_of_disabled_seats_to_the_sides, :disable_seats_in_front_and_behind, - :number_of_disabled_aisle_seats, :max_group_size, :max_occupancy_absolute, + :disable_diagonal_seats_in_front_and_behind, :number_of_disabled_aisle_seats, :max_group_size, :max_occupancy_absolute, :max_occupancy_percentage, :one_group_per_table, :fixed_group_layout, :disabled_seats, :enabled_seats, :index - def initialize(name, number_of_disabled_seats_to_the_sides = 0, disable_seats_in_front_and_behind = false, number_of_disabled_aisle_seats = 0, - max_group_size = 0, max_occupancy_absolute = 0, max_occupancy_percentage = 0, one_group_per_table = false, - fixed_group_layout = false, disabled_seats = [], enabled_seats = [], index = 0) + def initialize(name, number_of_disabled_seats_to_the_sides: 0, disable_seats_in_front_and_behind: false, disable_diagonal_seats_in_front_and_behind: false, + number_of_disabled_aisle_seats: 0, max_group_size: 0, max_occupancy_absolute: 0, max_occupancy_percentage: 0, one_group_per_table: false, + fixed_group_layout: false, disabled_seats: [], enabled_seats: [], index: 0) @name = name @number_of_disabled_seats_to_the_sides = number_of_disabled_seats_to_the_sides @disable_seats_in_front_and_behind = disable_seats_in_front_and_behind + @disable_diagonal_seats_in_front_and_behind = disable_diagonal_seats_in_front_and_behind @number_of_disabled_aisle_seats = number_of_disabled_aisle_seats @max_group_size = max_group_size @max_occupancy_absolute = max_occupancy_absolute @max_occupancy_percentage = max_occupancy_percentage @one_group_per_table = one_group_per_table @@ -524,25 +534,36 @@ @disabled_seats = disabled_seats @enabled_seats = enabled_seats @index = index end - def self.fixed(name, disabled_seats = [], index = 0) - SocialDistancingRuleset.new(name, 0, false, 0, 0, 0, 0, false, true, disabled_seats, [], index) + def self.fixed(name, disabled_seats: [], index: 0) + return SocialDistancingRuleset.new(name, index: index, disabled_seats: disabled_seats, fixed_group_layout: true) end - def self.rule_based(name, number_of_disabled_seats_to_the_sides = 0, disable_seats_in_front_and_behind = false, number_of_disabled_aisle_seats = 0, - max_group_size = 0, max_occupancy_absolute = 0, max_occupancy_percentage = 0, one_group_per_table = false, - disabled_seats = [], enabled_seats = [], index = 0) - SocialDistancingRuleset.new(name, number_of_disabled_seats_to_the_sides, disable_seats_in_front_and_behind, number_of_disabled_aisle_seats, - max_group_size, max_occupancy_absolute, max_occupancy_percentage, - one_group_per_table, false, disabled_seats, enabled_seats, index) + def self.rule_based(name, number_of_disabled_seats_to_the_sides: 0, disable_seats_in_front_and_behind: false, disable_diagonal_seats_in_front_and_behind: false, + number_of_disabled_aisle_seats: 0, max_group_size: 0, max_occupancy_absolute: 0, max_occupancy_percentage: 0, one_group_per_table: false, + disabled_seats: [], enabled_seats: [], index: 0) + return SocialDistancingRuleset.new(name, + number_of_disabled_seats_to_the_sides: number_of_disabled_seats_to_the_sides, + disable_seats_in_front_and_behind: disable_seats_in_front_and_behind, + disable_diagonal_seats_in_front_and_behind: disable_diagonal_seats_in_front_and_behind, + number_of_disabled_aisle_seats: number_of_disabled_aisle_seats, + max_group_size: max_group_size, + max_occupancy_absolute: max_occupancy_absolute, + max_occupancy_percentage: max_occupancy_percentage, + one_group_per_table: one_group_per_table, + fixed_group_layout: false, + disabled_seats: disabled_seats, + enabled_seats: enabled_seats, + index: index) end def == (other) self.name == other.name && self.number_of_disabled_seats_to_the_sides == other.number_of_disabled_seats_to_the_sides && self.disable_seats_in_front_and_behind == other.disable_seats_in_front_and_behind && + self.disable_diagonal_seats_in_front_and_behind == other.disable_diagonal_seats_in_front_and_behind && self.number_of_disabled_aisle_seats == other.number_of_disabled_aisle_seats && self.max_group_size == other.max_group_size && self.max_occupancy_absolute == other.max_occupancy_absolute && self.max_occupancy_percentage == other.max_occupancy_percentage && self.one_group_per_table == other.one_group_per_table &&