Class: Errands::Runners

Inherits:
Hash
  • Object
show all
Includes:
ThreadAccessor::PrivateAccess
Defined in:
lib/errands/runner.rb

Instance Method Summary collapse

Methods included from ThreadAccessor::PrivateAccess

#err

Instance Method Details

#[](k) ⇒ Object



128
129
130
131
# File 'lib/errands/runner.rb', line 128

def [](k)
  v = super
  v if v && v.alive?
end

#[]=(k, v) ⇒ Object



133
134
135
# File 'lib/errands/runner.rb', line 133

def []=(k, v)
  our[k] = super if v.is_a? Thread
end

#aliveObject



151
152
153
# File 'lib/errands/runner.rb', line 151

def alive
  typecast select { |k, v| self[k] }
end

#delete(k) ⇒ Object



137
138
139
140
# File 'lib/errands/runner.rb', line 137

def delete(k)
  our.delete k
  super
end

#key_sliced(*list) ⇒ Object



146
147
148
149
# File 'lib/errands/runner.rb', line 146

def key_sliced(*list)
  select_keys = keys & list.flatten
  typecast select { |k, v| select_keys.include? k }
end

#scope(s, value = true) ⇒ Object



155
156
157
# File 'lib/errands/runner.rb', line 155

def scope(s, value = true)
  typecast select { |k, v| his(v)[s] == value }
end

#stopping_order(all = false) ⇒ Object



142
143
144
# File 'lib/errands/runner.rb', line 142

def stopping_order(all = false)
  scope(:type, :starter).merge(scope(:type, :data_acquisition)).merge all ? self : {}
end