Class: Dovico::Project
- Inherits:
-
Assignment
- Object
- Assignment
- Dovico::Project
- Defined in:
- lib/dovico/model/project.rb
Constant Summary
Constants inherited from Assignment
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.all ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/dovico/model/project.rb', line 14 def self.all projects_search = ApiClient.get(URL_PATH) projects = projects_search["Assignments"].map {|project_hash| parse(project_hash) } projects.each do |project| tasks_search = ApiClient.get("#{URL_PATH}/#{project.assignement_id}") tasks = tasks_search["Assignments"].map {|task_hash| Task.parse(task_hash) } project.tasks = tasks.sort_by do |task| task.id end end projects end |
.format_all ⇒ Object
30 31 32 33 |
# File 'lib/dovico/model/project.rb', line 30 def self.format_all text = " Project | Task | Description\n" text += all.map(&:to_s).join("\n") end |
.parse(hash) ⇒ Object
8 9 10 11 12 |
# File 'lib/dovico/model/project.rb', line 8 def self.parse(hash) project = super(hash) project.tasks ||= [] project end |
Instance Method Details
#to_s ⇒ Object
35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/dovico/model/project.rb', line 35 def to_s text = '' if tasks.count > 0 text += tasks.map do |task| sprintf " %7d | %4d | %s: %s", id, task.id, name, task.name end.join("\n") else text += sprintf " %7d | | %s (No tasks linked)", id, name end text end |