trollo 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
data/lib/trollo/board.rb CHANGED
@@ -6,18 +6,17 @@ module Trollo
6
6
  attr_accessible :name
7
7
 
8
8
  def tasks
9
- task_ids = lists.map(&:cards).flatten.compact.map(&:tasklists).flatten.compact.map(&:tasks).flatten.compact.map(&:id)
10
- Task.where(id: task_ids)
9
+ card_ids = Trollo::Card.where(list_id: list_ids).pluck(:id)
10
+ tasklist_ids = Trollo::Tasklist.where(card_id: card_ids).pluck(:id)
11
+ Trollo::Task.where(tasklist_id: tasklist_ids)
11
12
  end
12
13
 
13
14
  def incomplete_tasks
14
- task_ids = lists.map(&:cards).flatten.compact.map(&:tasklists).flatten.compact.map(&:tasks).flatten.compact.select{|t| t.incomplete?}.map(&:id)
15
- Task.where(id: task_ids)
15
+ tasks.with_incomplete_state
16
16
  end
17
17
 
18
18
  def overdue_tasks
19
- task_ids = lists.map(&:cards).flatten.compact.map(&:tasklists).flatten.compact.map(&:tasks).flatten.compact.select{|t| t.overdue?}.map(&:id)
20
- Task.where(id: task_ids)
19
+ incomplete_tasks.overdue
21
20
  end
22
21
  end
23
22
 
data/lib/trollo/card.rb CHANGED
@@ -11,7 +11,6 @@ module Trollo
11
11
  before_save :set_ordinal
12
12
  attr_accessible :name, :description, :workflow_state, :due_at, :trollable
13
13
 
14
- scope :due_today, lambda { where(due_at: Time.now.beginning_of_day..Time.now.end_of_day) }
15
14
  scope :overdue, lambda { where('due_at < ?', Time.now) }
16
15
 
17
16
  workflow do
data/lib/trollo/task.rb CHANGED
@@ -11,6 +11,7 @@ module Trollo
11
11
  attr_accessible :name, :group, :workflow_state, :due_at, :trollable
12
12
 
13
13
  scope :search, lambda {|term| unless term.blank?;where("name LIKE :q", q: "%#{term}%");end;}
14
+ scope :overdue, lambda { with_incomplete_state.where('due_at IS NOT NULL AND due_at < ?', Time.now) }
14
15
 
15
16
  workflow do
16
17
  state :incomplete do
@@ -25,7 +25,7 @@ module Trollo
25
25
  end
26
26
 
27
27
  def next_task
28
- tasks.select(&:incomplete?).first
28
+ tasks.with_incomplete_state.first
29
29
  end
30
30
 
31
31
  def check
@@ -35,14 +35,14 @@ module Trollo
35
35
 
36
36
  def check_complete
37
37
  if complete?
38
- undo! if tasks.any?(&:incomplete?)
38
+ undo! if tasks.with_incomplete_state.any?
39
39
  elsif incomplete?
40
- finish! if tasks.all?(&:complete?)
40
+ finish! if tasks.with_incomplete_state.none?
41
41
  end
42
42
  end
43
43
 
44
44
  def check_due_at
45
- self.due_at = tasks.where(workflow_state: 'incomplete').minimum(:due_at)
45
+ self.due_at = tasks.with_incomplete_state.minimum(:due_at)
46
46
  self.save!
47
47
  end
48
48
 
@@ -1,3 +1,3 @@
1
1
  module Trollo
2
- VERSION = "0.2.0"
2
+ VERSION = "0.2.1"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: trollo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-06-11 00:00:00.000000000 Z
12
+ date: 2014-06-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport