A nie powinieneś sprawdzać if @connection.open? zanim robisz create_channel?