Class: Dorsale::Flyboy::Folder

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
AASM, Search
Defined in:
app/models/dorsale/flyboy/folder.rb

Instance Method Summary collapse

Methods included from Search

included

Constructor Details

#initialize(*args) ⇒ Folder

Returns a new instance of Folder.



33
34
35
36
# File 'app/models/dorsale/flyboy/folder.rb', line 33

def initialize(*args)
  super
  self.progress = 0 if progress.nil?
end

Instance Method Details

#create_trackingObject



48
49
50
51
# File 'app/models/dorsale/flyboy/folder.rb', line 48

def create_tracking
  dailycounter  = self.class.where("DATE(created_at) = ?", Time.zone.now.to_date).count + 1
  self.tracking = "#{Time.zone.now.strftime("%y%m%d")}-#{dailycounter}"
end

#no_undone_tasks?Boolean

Returns:

  • (Boolean)


38
39
40
# File 'app/models/dorsale/flyboy/folder.rb', line 38

def no_undone_tasks?
  tasks.where(done: false).count == 0
end

#revisionObject



42
43
44
# File 'app/models/dorsale/flyboy/folder.rb', line 42

def revision
  "#{tracking} #{version}"
end

#update_progressObject



60
61
62
63
64
65
66
# File 'app/models/dorsale/flyboy/folder.rb', line 60

def update_progress
  if tasks.count.zero?
    self.progress = 0
  else
    self.progress = tasks.sum(:progress) / tasks.count
  end
end

#update_progress!Object



68
69
70
71
# File 'app/models/dorsale/flyboy/folder.rb', line 68

def update_progress!
  update_progress
  save
end

#update_versionObject



55
56
57
58
# File 'app/models/dorsale/flyboy/folder.rb', line 55

def update_version
  self.version = 0 if self.version.nil?
  self.version = self.version + 1
end