Sha256: 16fc9a0273c9de25878102979b944e4a06b0a23e7bb6b2caf08c9395d97ee87e

Contents?: true

Size: 478 Bytes

Versions: 1

Compression:

Stored size: 478 Bytes

Contents

module SeatSelector
  class Seat
    attr_reader :row, :column, :id, :distance
  
    def initialize(args)
      @row = args.fetch(:row)
      @column = args.fetch(:column)
      @id = args.fetch(:id)
      @is_available = args.fetch(:is_available, false)
    end

    def to_s
      @id.to_s.upcase
    end
  
    def available?
      @is_available
    end

    def set_distance!(median_column)
      @distance = (@row - 1).abs + (@column - median_column).abs
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
seat_selector-0.1.2 lib/seat_selector/seat.rb