Class: GoogleTask
- Inherits:
-
Object
- Object
- GoogleTask
- Defined in:
- lib/gtasks.rb
Instance Method Summary collapse
- #add(task_name, list_ident = '@default') ⇒ Object
- #all_tasks(username = '@me') ⇒ Object
- #clear(list_ident = '@default') ⇒ Object
- #delete(task_number, list_ident = '@default') ⇒ Object
- #delete_if(regexp, list_ident = '@default') ⇒ Object
- #done(task_number, list_ident = '@default') ⇒ Object
- #done_if(regexp, list_ident = '@default') ⇒ Object
-
#initialize(options = {}) ⇒ GoogleTask
constructor
A new instance of GoogleTask.
- #lists(username = '@me') ⇒ Object
- #regexp_if(regexp, list_ident = '@default') ⇒ Object
- #show(username = '@me') ⇒ Object
- #tasks(list_ident = '@default') ⇒ Object
Constructor Details
#initialize(options = {}) ⇒ GoogleTask
Returns a new instance of GoogleTask.
253 254 255 256 257 258 259 260 |
# File 'lib/gtasks.rb', line 253 def initialize(={}) @client_id = [:client_id] or raise ArgumentError.new @client_secret = [:client_secret] or raise ArgumentError.new @logger = [:logger] ||= Logger.new(nil) @no_refresh = [:no_refresh] ||= false @gs_api = GoogleTaskAPI.new(:client_id => @client_id, :client_secret => @client_secret, :logger => @logger, :no_refresh => @no_refresh) end |
Instance Method Details
#add(task_name, list_ident = '@default') ⇒ Object
270 271 272 |
# File 'lib/gtasks.rb', line 270 def add(task_name, list_ident = '@default') @gs_api.task_insert(list_ident, :title => task_name) end |
#all_tasks(username = '@me') ⇒ Object
317 318 319 320 321 322 323 324 |
# File 'lib/gtasks.rb', line 317 def all_tasks(username = '@me') hash = {} @gs_api.tasklist_list(username)["items"].map{ |item| hash[item["title"]] ||= [] hash[item["title"]] += tasks(item["id"]).map{|e| e["title"]} } hash end |
#clear(list_ident = '@default') ⇒ Object
266 267 268 |
# File 'lib/gtasks.rb', line 266 def clear(list_ident = '@default') @gs_api.task_clear(list_ident) end |
#delete(task_number, list_ident = '@default') ⇒ Object
285 286 287 288 289 |
# File 'lib/gtasks.rb', line 285 def delete(task_number, list_ident = '@default') task_proc(task_number){ |task| @gs_api.task_delete(list_ident, task["id"]) } end |
#delete_if(regexp, list_ident = '@default') ⇒ Object
291 292 293 294 295 296 297 |
# File 'lib/gtasks.rb', line 291 def delete_if(regexp, list_ident = '@default') regexp_if(regexp, list_ident){ |item| @logger.info "try to delete: #{item["title"]} (#{item["id"]})" @gs_api.task_delete(list_ident, item["id"]) @logger.info "deleted: #{item["title"]}" } end |
#done(task_number, list_ident = '@default') ⇒ Object
299 300 301 302 303 |
# File 'lib/gtasks.rb', line 299 def done(task_number, list_ident = '@default') task_proc(task_number) { |task| @gs_api.task_update(list_ident, task["id"], "status" => "completed") } end |
#done_if(regexp, list_ident = '@default') ⇒ Object
305 306 307 308 309 310 311 |
# File 'lib/gtasks.rb', line 305 def done_if(regexp, list_ident = '@default') regexp_if(regexp, list_ident){ |item| @logger.info "try to done task: #{item["title"]} (#{item["id"]})" @gs_api.task_update(list_ident, item["id"], "status" => "completed") @logger.info "updated: #{item["title"]}" } end |
#lists(username = '@me') ⇒ Object
313 314 315 |
# File 'lib/gtasks.rb', line 313 def lists(username = '@me') @gs_api.tasklist_list(username)["items"] end |
#regexp_if(regexp, list_ident = '@default') ⇒ Object
274 275 276 277 278 279 280 281 282 283 |
# File 'lib/gtasks.rb', line 274 def regexp_if(regexp, list_ident = '@default') matched = [] @gs_api.task_list(list_ident)["items"].each{ |item| if regexp.match(item["title"]) yield(item) if block_given? matched << item end } matched end |
#show(username = '@me') ⇒ Object
326 327 328 329 330 331 332 333 |
# File 'lib/gtasks.rb', line 326 def show(username = '@me') all_tasks.each{ |list_title, tasks| puts "*#{list_title}" tasks.each{ |task| puts "\t#{task}" } } end |
#tasks(list_ident = '@default') ⇒ Object
262 263 264 |
# File 'lib/gtasks.rb', line 262 def tasks(list_ident = '@default') @gs_api.task_list(list_ident)["items"] end |