Class: GoogleTasks::GoogleAPI
- Inherits:
-
Object
- Object
- GoogleTasks::GoogleAPI
- Defined in:
- lib/goot/google_api.rb
Constant Summary collapse
- CREDENTIAL_STORE =
File.join(GoogleTasks::CONFIG_DIR, 'gtasks-oauth2.json')
- CLIENT_SECRET_STORE =
File.join(GoogleTasks::GEM_ROOT, 'data', 'client_secrets.json')
- UNCHANGED =
0- MODIFIED =
1- DELETED =
2
Instance Method Summary collapse
- #clear_tasks(tasklist) ⇒ Object
- #delete_task(tasklist, task) ⇒ Object
- #delete_tasklist(tasklist) ⇒ Object
- #get_lists ⇒ Object
- #get_tasklist(index) ⇒ Object
- #get_tasks(tasklist) ⇒ Object
-
#initialize ⇒ GoogleAPI
constructor
A new instance of GoogleAPI.
- #insert_task(tasklist, task, previous, parent) ⇒ Object
- #insert_tasklist(tasklist) ⇒ Object
- #move_task(tasklist, task, previous, parent) ⇒ Object
- #update_task(tasklist, task) ⇒ Object
Constructor Details
#initialize ⇒ GoogleAPI
Returns a new instance of GoogleAPI.
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/goot/google_api.rb', line 15 def initialize client = Google::APIClient.new( :application_name => GoogleTasks::APP_NAME, :application_version => GoogleTasks::VERSION ) file_storage = Google::APIClient::FileStorage.new(CREDENTIAL_STORE) if file_storage..nil? client_secrets = Google::APIClient::ClientSecrets.load(CLIENT_SECRET_STORE) flow = Google::APIClient::InstalledAppFlow.new( :client_id => client_secrets.client_id, :client_secret => client_secrets.client_secret, :scope => 'https://www.googleapis.com/auth/tasks' ) client. = flow.(file_storage) else client. = file_storage. end @client = client @api = client.discovered_api('tasks', 'v1') end |
Instance Method Details
#clear_tasks(tasklist) ⇒ Object
88 89 90 91 92 93 94 95 |
# File 'lib/goot/google_api.rb', line 88 def clear_tasks(tasklist) @client.execute( :api_method => @api.tasks.clear, :parameters => { :tasklist => tasklist.id } ) end |
#delete_task(tasklist, task) ⇒ Object
109 110 111 112 113 114 115 116 117 |
# File 'lib/goot/google_api.rb', line 109 def delete_task(tasklist, task) @client.execute( :api_method => @api.tasks.delete, :parameters => { :tasklist => tasklist.id, :task => task['id'] } ) end |
#delete_tasklist(tasklist) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/goot/google_api.rb', line 59 def delete_tasklist(tasklist) @client.execute( :api_method => @api.tasklists.delete, :parameters => { :tasklist => tasklist.id } ) end |
#get_lists ⇒ Object
39 40 41 |
# File 'lib/goot/google_api.rb', line 39 def get_lists @client.execute(:api_method => @api.tasklists.list).data.items end |
#get_tasklist(index) ⇒ Object
43 44 45 46 47 48 49 50 |
# File 'lib/goot/google_api.rb', line 43 def get_tasklist(index) @client.execute( :api_method => @api.tasklists.get, :parameters => { :tasklist => get_lists[index].id } ).data end |
#get_tasks(tasklist) ⇒ Object
68 69 70 71 72 73 74 75 |
# File 'lib/goot/google_api.rb', line 68 def get_tasks(tasklist) @client.execute( :api_method => @api.tasks.list, :parameters => { :tasklist => tasklist.id } ).data.items.select { |t| t.status != DELETED } end |
#insert_task(tasklist, task, previous, parent) ⇒ Object
97 98 99 100 101 102 103 104 105 106 107 |
# File 'lib/goot/google_api.rb', line 97 def insert_task(tasklist, task, previous, parent) parameters = { :tasklist => tasklist.id } parameters[:previous] = previous['id'] if !previous.nil? parameters[:parent] = parent['id'] if !parent.nil? @client.execute( :api_method => @api.tasks.insert, :parameters => parameters, :body_object => task ) end |
#insert_tasklist(tasklist) ⇒ Object
52 53 54 55 56 57 |
# File 'lib/goot/google_api.rb', line 52 def insert_tasklist(tasklist) @client.execute( :api_method => @api.tasklists.insert, :body_object => tasklist ) end |
#move_task(tasklist, task, previous, parent) ⇒ Object
119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/goot/google_api.rb', line 119 def move_task(tasklist, task, previous, parent) parameters = { :tasklist => tasklist.id, :task => task['id'] } parameters[:previous] = previous['id'] if !previous.nil? parameters[:parent] = parent['id'] if !parent.nil? @client.execute( :api_method => @api.tasks.move, :parameters => parameters ) end |
#update_task(tasklist, task) ⇒ Object
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/goot/google_api.rb', line 77 def update_task(tasklist, task) @client.execute( :api_method => @api.tasks.update, :parameters => { :tasklist => tasklist.id, :task => task['id'] }, :body_object => task ) end |