# encoding: utf-8

# Подключаем класс Bridge из файла bridge.rb
require './bridge.rb'

puts 'Start'
sleep 1

puts 'Первый километр'
sleep 1

puts 'Ой! Река! Нужно перекинуть мост…'
sleep 2

# Специальный метод .new — создает объект выбранного класса. В нашем случае
# в переменной bridge будет объект класса Bridge.
bridge = Bridge.new

sleep 1

# Обратите внимание!
#
# Эта строчка выдала бы ошибку. Методы экземпляра можно вызывать только у
# конкретного объекта данного класса, а не у самого класса.
# Bridge.open

# Используем написанный нами функционал открыания моста. Проверяем состояние
# моста, открываем, если он не открыт (напомним, что ! в условии означает
# отрицание !true — это false).
if !bridge.is_opened?
  # Если мост закрыт, открываем его
  bridge.open
end
sleep 1

# Еще раз проверяем состояние моста, уже после открытия
if !bridge.is_opened?
  # Если мост все ещё не удалось открыть — аварийно завершаем программу
  abort 'мост не удалось открыть!'
end

puts 'Проехали мост'
sleep 2

# Мост проехали, можно закрывать за собой
bridge.close

sleep 1

puts 'Второй километр'
sleep 1

puts 'Третий километр'
sleep 1

puts 'Finish!'
