class Bumbleworks::Tracker

Attributes

id[R]
original_hash[R]

Public Class Methods

all() click to toggle source
# File lib/bumbleworks/tracker.rb, line 7
def all
  Bumbleworks.dashboard.get_trackers.map do |tid, attrs|
    new(tid, attrs)
  end
end
count() click to toggle source
# File lib/bumbleworks/tracker.rb, line 13
def count
  all.count
end
new(id, original_hash = nil) click to toggle source
# File lib/bumbleworks/tracker.rb, line 18
def initialize(id, original_hash = nil)
  @id = id
  @original_hash = original_hash || Bumbleworks.dashboard.get_trackers[id]
end

Public Instance Methods

action() click to toggle source
# File lib/bumbleworks/tracker.rb, line 45
def action
  @original_hash['action']
end
conditions() click to toggle source
# File lib/bumbleworks/tracker.rb, line 37
def conditions
  @original_hash['conditions'] || {}
end
global?() click to toggle source
# File lib/bumbleworks/tracker.rb, line 33
def global?
  @original_hash['wfid'].nil?
end
process() click to toggle source
# File lib/bumbleworks/tracker.rb, line 27
def process
  if wfid_from_hash = wfid
    Bumbleworks::Process.new(wfid_from_hash)
  end
end
tags() click to toggle source
# File lib/bumbleworks/tracker.rb, line 41
def tags
  [conditions['tag']].flatten.compact
end
waiting_expression() click to toggle source
# File lib/bumbleworks/tracker.rb, line 49
def waiting_expression
  return nil unless fei
  process.expression_at_position(fei['expid']).tree
end
wfid() click to toggle source
# File lib/bumbleworks/tracker.rb, line 23
def wfid
  wfid = fei ? fei['wfid'] : @original_hash['wfid']
end
where_clause() click to toggle source
# File lib/bumbleworks/tracker.rb, line 54
def where_clause
  we = waiting_expression
  return nil unless we
  we[1]['where']
end

Private Instance Methods

fei() click to toggle source
# File lib/bumbleworks/tracker.rb, line 62
def fei
  @original_hash['msg']['fei']
end