Class: Bumbleworks::Schedule

Inherits:
Object
  • Object
show all
Defined in:
lib/bumbleworks/schedule.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(schedule_hash) ⇒ Schedule

Returns a new instance of Schedule.



17
18
19
20
# File 'lib/bumbleworks/schedule.rb', line 17

def initialize(schedule_hash)
  @original_hash = schedule_hash
  @id = @original_hash['_id']
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



3
4
5
# File 'lib/bumbleworks/schedule.rb', line 3

def id
  @id
end

#original_hashObject (readonly)

Returns the value of attribute original_hash.



3
4
5
# File 'lib/bumbleworks/schedule.rb', line 3

def original_hash
  @original_hash
end

Class Method Details

.allObject



6
7
8
9
10
# File 'lib/bumbleworks/schedule.rb', line 6

def all
  Bumbleworks.dashboard.schedules.map do |hsh|
    new(hsh)
  end
end

.countObject



12
13
14
# File 'lib/bumbleworks/schedule.rb', line 12

def count
  all.count
end

Instance Method Details

#==(other) ⇒ Object



22
23
24
25
# File 'lib/bumbleworks/schedule.rb', line 22

def ==(other)
  return false unless other.is_a?(self.class)
  @id == other.id
end

#expressionObject



35
36
37
# File 'lib/bumbleworks/schedule.rb', line 35

def expression
  Bumbleworks::Expression.from_fei(@original_hash['owner'])
end

#next_atObject



47
48
49
# File 'lib/bumbleworks/schedule.rb', line 47

def next_at
  Time.parse(@original_hash['at'])
end

#once?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/bumbleworks/schedule.rb', line 43

def once?
  !repeating?
end

#original_planObject



51
52
53
# File 'lib/bumbleworks/schedule.rb', line 51

def original_plan
  @original_hash['original']
end

#processObject



31
32
33
# File 'lib/bumbleworks/schedule.rb', line 31

def process
  Bumbleworks::Process.new(wfid)
end

#repeating?Boolean

Returns:

  • (Boolean)


39
40
41
# File 'lib/bumbleworks/schedule.rb', line 39

def repeating?
  ['cron', 'every'].include? expression.tree[0]
end

#test_clauseObject



55
56
57
# File 'lib/bumbleworks/schedule.rb', line 55

def test_clause
  expression.tree[1]['test']
end

#wfidObject



27
28
29
# File 'lib/bumbleworks/schedule.rb', line 27

def wfid
  @original_hash['wfid']
end