Class: GoogleTaskCLI

Inherits:
Object
  • Object
show all
Defined in:
lib/gtasks.rb

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ GoogleTaskCLI

Returns a new instance of GoogleTaskCLI.



354
355
356
# File 'lib/gtasks.rb', line 354

def initialize(options={})
  @gtasks = GoogleTask.new(options)
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

#choiceObject



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

#clearObject



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_allObject



377
378
379
# File 'lib/gtasks.rb', line 377

def list_all
  @gtasks.show
end

#listsObject



373
374
375
# File 'lib/gtasks.rb', line 373

def lists
  print_selector @gtasks.lists.map{|e| e["title"]}
end


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