Sha256: bec157de716e74b2bb66c0639633f2967ec007b22c1f3b784ccc955a3b167801
Contents?: true
Size: 1.17 KB
Versions: 1
Compression:
Stored size: 1.17 KB
Contents
module Pbw class AttachedProcess belongs_to :token, :class_name => 'Pbw::Token' belongs_to :area, :class_name => 'Pbw::Area' belongs_to :process, :class_name => 'Pbw::Process' field :tickable, :type => Boolean, :default => false field :updatable, :type => Boolean, :default => false field :ticks_waiting, :type => Integer, :default => 0 field :updates_waiting, :type => Integer, :default => 0 scope :tickable, where(tickable: true) scope :updatable, where(updatable: true) def tick! return unless self.tickable && self.process && (self.token || self.area) unless self.ticks_waiting > 0 self.process.run!(token_or_area) destroy else self.ticks_waiting = self.ticks_waiting - 1 save! end end def update! return unless self.updatable && self.process && (self.token || self.area) unless self.updates_waiting > 0 self.process.run!(token_or_area) destroy else self.updates_waiting = self.updates_waiting - 1 save! end end def token_or_area self.token || self.area end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
pbw-0.0.10 | app/models/pbw/attached_process.rb |