Class: GoogleTaskCLI
- Inherits:
-
Object
- Object
- GoogleTaskCLI
- Defined in:
- lib/gtasks.rb
Instance Method Summary collapse
- #add(task_name) ⇒ Object
- #choice ⇒ Object
- #clear ⇒ Object
- #delete(param) ⇒ Object
- #done(param) ⇒ Object
-
#initialize(options = {}) ⇒ GoogleTaskCLI
constructor
A new instance of GoogleTaskCLI.
- #list(scope = 'default') ⇒ Object
- #list_all ⇒ Object
- #lists ⇒ Object
- #print_list(list_id) ⇒ Object
- #update(param, update_string) ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ GoogleTaskCLI
Returns a new instance of GoogleTaskCLI.
354 355 356 |
# File 'lib/gtasks.rb', line 354 def initialize(={}) @gtasks = GoogleTask.new() end |
Instance Method Details
#add(task_name) ⇒ Object
393 394 395 396 |
# File 'lib/gtasks.rb', line 393 def add(task_name) @gtasks.add(task_name) list end |
#choice ⇒ Object
425 426 427 428 429 |
# File 'lib/gtasks.rb', line 425 def choice items = @gtasks.tasks.map{|e| e["title"]} rand_index = ((rand * items.size) + 1).to_i build_selector_format(rand_index, items[rand_index]).display end |
#clear ⇒ Object
398 399 400 401 |
# File 'lib/gtasks.rb', line 398 def clear @gtasks.clear list end |
#delete(param) ⇒ Object
414 415 416 417 418 419 420 421 422 423 |
# File 'lib/gtasks.rb', line 414 def delete(param) # 数字オンリーだったら番号指定のタスクdoneと認識する if param =~ /^[0-9]+$/ @gtasks.delete(param.to_i) else # それ意外は正規表現として認識、タスク名がマッチしたものをすべて完了する @gtasks.delete_if Regexp.new(param.to_s) end list end |
#done(param) ⇒ Object
403 404 405 406 407 408 409 410 411 412 |
# File 'lib/gtasks.rb', line 403 def done(param) # 数字オンリーだったら番号指定のタスクdoneと認識する if param =~ /^[0-9]+$/ @gtasks.done(param.to_i) else # それ以外は正規表現として認識、タスク名が正規表現にマッチしたものをすべて完了する @gtasks.done_if Regexp.new(param.to_s) end list end |
#list(scope = 'default') ⇒ Object
358 359 360 361 362 363 364 365 366 367 368 369 370 371 |
# File 'lib/gtasks.rb', line 358 def list(scope = 'default') case scope when 'all' list_all when /^[0-9]+/ list_number = scope.to_i list_id = @gtasks.lists[list_number]["id"] print_list(list_id) when 'default' print_list('@default') else raise ArgumentError end end |
#list_all ⇒ Object
377 378 379 |
# File 'lib/gtasks.rb', line 377 def list_all @gtasks.show end |
#lists ⇒ Object
373 374 375 |
# File 'lib/gtasks.rb', line 373 def lists print_selector @gtasks.lists.map{|e| e["title"]} end |
#print_list(list_id) ⇒ Object
381 382 383 384 385 386 387 388 389 390 391 |
# File 'lib/gtasks.rb', line 381 def print_list(list_id) @gtasks.tasks(list_id).each_with_index{ |task, index| title = task["title"] if task["status"] == 'completed' done_string = '☑' else done_string = '☐' end puts "[#{index}] #{done_string} #{title}" } end |
#update(param, update_string) ⇒ Object
431 432 433 434 435 436 437 438 |
# File 'lib/gtasks.rb', line 431 def update(param, update_string) if param =~ /^[0-9]+$/ @gtasks.update(param.to_i, "title" => update_string) else raise ArgumentError end list end |