Class: Intent::Core::Inbox

Inherits:
Object
  • Object
show all
Defined in:
lib/intent/core/inbox.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(db_path) ⇒ Inbox

Returns a new instance of Inbox.



6
7
8
# File 'lib/intent/core/inbox.rb', line 6

def initialize(db_path)
  @list = List.new(db_path)
end

Instance Attribute Details

#listObject (readonly)

Returns the value of attribute list.



4
5
6
# File 'lib/intent/core/inbox.rb', line 4

def list
  @list
end

Instance Method Details

#add_line!(line) ⇒ Object



22
23
24
25
26
# File 'lib/intent/core/inbox.rb', line 22

def add_line!(line)
  record = Record.new("#{Date.today} #{line}")
  @list.prepend(record)
  @list.save!
end

#allObject



10
11
12
# File 'lib/intent/core/inbox.rb', line 10

def all
  @list.by_not_done
end

#focusedObject



14
15
16
# File 'lib/intent/core/inbox.rb', line 14

def focused
  @list.by_context('@focus').by_not_done
end

#focused_projectsObject



18
19
20
# File 'lib/intent/core/inbox.rb', line 18

def focused_projects
  focused.map { |t| t.projects }.flatten.uniq
end