Class: Jobba::State

Inherits:
Object
  • Object
show all
Defined in:
lib/jobba/state.rb

Constant Summary collapse

UNQUEUED =
new('unqueued', 'recorded_at')
QUEUED =
new('queued', 'queued_at')
STARTED =
new('started', 'started_at')
SUCCEEDED =
new('succeeded', 'succeeded_at')
FAILED =
new('failed', 'failed_at')
KILLED =
new('killed', 'killed_at')
UNKNOWN =
new('unknown', 'recorded_at')
ALL =
[
  UNQUEUED,
  QUEUED,
  STARTED,
  SUCCEEDED,
  FAILED,
  KILLED,
  UNKNOWN
].freeze
COMPLETED =
[
  SUCCEEDED,
  FAILED
].freeze
INCOMPLETE =
[
  UNQUEUED,
  QUEUED,
  STARTED,
  KILLED
].freeze
ENTERABLE =
[
  UNQUEUED,
  QUEUED,
  STARTED,
  SUCCEEDED,
  FAILED,
  KILLED,
  UNKNOWN
].freeze
ALL_TIMESTAMP_SYMBOLS =
ALL.collect{|state| state.timestamp_name_key}.freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(name, timestamp_name) ⇒ State

Returns a new instance of State.



5
6
7
8
9
# File 'lib/jobba/state.rb', line 5

def initialize(name, timestamp_name)
  @name = name
  @timestamp_name = timestamp_name
  @timestamp_name_key = timestamp_name.to_sym
end

Instance Attribute Details

#nameObject (readonly)

Returns the value of attribute name.



3
4
5
# File 'lib/jobba/state.rb', line 3

def name
  @name
end

#timestamp_nameObject (readonly)

Returns the value of attribute timestamp_name.



3
4
5
# File 'lib/jobba/state.rb', line 3

def timestamp_name
  @timestamp_name
end

Class Method Details

.from_name(state_name) ⇒ Object



15
16
17
# File 'lib/jobba/state.rb', line 15

def self.from_name(state_name)
  ALL.select{|state| state.name == state_name}.first
end

Instance Method Details

#timestamp_name_keyObject



11
12
13
# File 'lib/jobba/state.rb', line 11

def timestamp_name_key
  @timestamp_name_key
end

#to_jsonObject



61
62
63
# File 'lib/jobba/state.rb', line 61

def to_json
  "\"#{name}\""
end