Class: AsanaController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- AsanaController
- Defined in:
- app/controllers/asana_controller.rb
Overview
Asana import (card #7). First visit is a connect wizard (PAT walkthrough); once connected it's a one-field modal: paste the task URL, get a card.
Instance Method Summary collapse
Instance Method Details
#connect ⇒ Object
12 13 14 15 16 17 18 |
# File 'app/controllers/asana_controller.rb', line 12 def connect name = Asana.verify!(params.require(:token)) Asana.save_token!(params[:token]) redirect_to asana_new_card_path(connected: name) rescue Asana::Error => e redirect_to asana_new_card_path(error: e.) end |
#disconnect ⇒ Object
27 28 29 30 |
# File 'app/controllers/asana_controller.rb', line 27 def disconnect Asana.disconnect! redirect_to asana_new_card_path end |
#import ⇒ Object
20 21 22 23 24 25 |
# File 'app/controllers/asana_controller.rb', line 20 def import card = Asana.import!(Board.first!, params.require(:url)) redirect_to card_path(card) rescue Asana::Error => e redirect_to asana_new_card_path(error: e.) end |
#new_card ⇒ Object
4 5 6 7 8 9 10 |
# File 'app/controllers/asana_controller.rb', line 4 def new_card @board = Board.first! redirect_to root_path and return unless turbo_frame_request? @connected = Asana.connected? @error = params[:error] @just_connected = params[:connected] end |