class Seatsio::Chart
def initialize(data)
def initialize(data) @id = data['id'] @key = data['key'] @status = data['status'] @name = data['name'] @published_version_thumbnail_url = data['publishedVersionThumbnailUrl'] @draft_version_thumbnail_url = data['draftVersionThumbnailUrl'] @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'], 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