Class: ConsoleRtm::RtmTaskRepository

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

Instance Method Summary collapse

Constructor Details

#initialize(list_repository) ⇒ RtmTaskRepository

Returns a new instance of RtmTaskRepository.



6
7
8
# File 'lib/rmilk/rtm_task_repository.rb', line 6

def initialize(list_repository)
  @list_repository = list_repository
end

Instance Method Details

#add!(task) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/rmilk/rtm_task_repository.rb', line 22

def add!(task)
  list_id = @list_repository.get_list_id_by_name(task.list_name)
  raise "invalid list name" if list_id.nil?
  new_added_task = Rufus::RTM::Task.add! task.text, list_id
  task.milk_task = new_added_task
  task
end

#get_tasks(filter) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/rmilk/rtm_task_repository.rb', line 10

def get_tasks(filter)
  filter_str = filter.inject("") do |r, (k, v)|
    str = "#{k}:#{v}"
    r.empty? ? str : "#{r} and #{str}"
  end
  tasks = all_tasks_filtered(filter_str).collect do |t|
    list_name = @list_repository.get_list_name_by_id(t.list_id)
    Task.new(t.task_id, t.name, list_name, t)
  end
  tasks.sort {|a,b| a.priority <=> b.priority}
end

#move_task(task, list_name) ⇒ Object



30
31
32
33
34
# File 'lib/rmilk/rtm_task_repository.rb', line 30

def move_task(task, list_name)
  list_id = @list_repository.get_list_id_by_name(list_name)
  raise "invalid list name" if list_id.nil?
  task.move_to list_id
end