Class: TasksCollection
- Inherits:
-
Object
- Object
- TasksCollection
- Defined in:
- lib/doneski/tasks_collection.rb
Constant Summary collapse
- @@location =
File. '~/.task.store'
Class Method Summary collapse
Instance Method Summary collapse
- #add(title) ⇒ Object
- #all ⇒ Object
- #finish(id) ⇒ Object
-
#initialize ⇒ TasksCollection
constructor
A new instance of TasksCollection.
- #remove(options) ⇒ Object
- #set_priority(id, priority) ⇒ Object
- #sort(column = :stage) ⇒ Object
- #start(id) ⇒ Object
Constructor Details
#initialize ⇒ TasksCollection
Returns a new instance of TasksCollection.
7 8 9 10 11 12 |
# File 'lib/doneski/tasks_collection.rb', line 7 def initialize create unless File.exists? @@location @yaml = YAML.load_file(@@location) @tasks = @yaml ? @yaml['tasks'] : [] update_attributes(@tasks) end |
Class Method Details
.display_footer ⇒ Object
51 52 53 |
# File 'lib/doneski/tasks_collection.rb', line 51 def self. "#{'-'*132}" end |
.display_header ⇒ Object
47 48 49 |
# File 'lib/doneski/tasks_collection.rb', line 47 def self.display_header "#{'-'*132}\n| #{'id:'.ljust(8)}#{'title:'.ljust(80)}#{'created:'.ljust(30)}#{'priority:'.ljust(10)} |\n#{'-'*132}" end |
Instance Method Details
#add(title) ⇒ Object
32 33 34 35 |
# File 'lib/doneski/tasks_collection.rb', line 32 def add(title) @tasks << Task.new({'title' => title}) store end |
#all ⇒ Object
14 15 16 |
# File 'lib/doneski/tasks_collection.rb', line 14 def all @tasks end |
#finish(id) ⇒ Object
37 38 39 40 |
# File 'lib/doneski/tasks_collection.rb', line 37 def finish(id) @tasks.select{|task| task.id.to_s == id.to_s}.first.complete store end |
#remove(options) ⇒ Object
22 23 24 25 |
# File 'lib/doneski/tasks_collection.rb', line 22 def remove() @tasks = @tasks.select{|task| !task.match()} store end |
#set_priority(id, priority) ⇒ Object
27 28 29 30 |
# File 'lib/doneski/tasks_collection.rb', line 27 def set_priority(id, priority) @tasks.select{|task| task.match({id: id})}.first.priority = priority store end |
#sort(column = :stage) ⇒ Object
18 19 20 |
# File 'lib/doneski/tasks_collection.rb', line 18 def sort(column = :stage) @tasks.sort {|a, b| a.send(column) <=> b.send(column)} if @tasks.length > 0 end |
#start(id) ⇒ Object
42 43 44 45 |
# File 'lib/doneski/tasks_collection.rb', line 42 def start(id) @tasks.select{|task| task.id.to_s == id.to_s}.first.start store end |