Sha256: 751e09c53e2eb4cb71a93d2aa9c1bf914af675dc8a4652296263dad277a3e710

Contents?: true

Size: 829 Bytes

Versions: 3

Compression:

Stored size: 829 Bytes

Contents

require "todoly/rest_interface"
require "todoly/project"
require "todoly/filter"
require "todoly/task"

class Todoly
  def initialize(opt={})
    @rest_if = RestInterface.new(opt)
    @projects = nil
    @filters = nil
    @tasks = nil
  end

  def projects
    @projects ||= Project.list(@rest_if)
  end

  def find_project(name)
    projects().find{|prj| name === prj.name }
  end

  def filters
    @filters ||= Filter.list(@rest_if)
  end

  def find_filters(name)
    filters().find{|f| name === f.name }
  end

  def tasks
    @tasks ||= Task.list(@rest_if)
  end

  def find_task(name)
    tasks().find{|t| name === t.name }
  end

  def new_task(str, project = nil)
    obj = {}
    if project
      obj["ProjectId"] = project.id
    end
    t = Task.create(@rest_if, str, obj)
    @tasks << t if @tasks
    t
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
todoly-0.0.4 lib/todoly.rb
todoly-0.0.3 lib/todoly.rb
todoly-0.0.2 lib/todoly.rb