Module: DistribCore::Distrib
- Defined in:
- lib/distrib_core/distrib.rb
Overview
This module is used to define common methods on root classes.
Instance Method Summary collapse
-
#configure ⇒ Object
Call to prepare configuration.
-
#kind ⇒ Object
Kind of current instance.
-
#kind=(kind) ⇒ Object
Set kind of the current instance.
-
#leader? ⇒ TrueClass, FalseClass
‘true` when `kind` is `:leader`.
-
#worker? ⇒ TrueClass, FalseClass
True when ‘kind` is `:worker`.
Instance Method Details
#configure ⇒ Object
Call to prepare configuration.
7 8 9 |
# File 'lib/distrib_core/distrib.rb', line 7 def configure(...) configuration.instance_eval(...) end |
#kind ⇒ Object
Returns kind of current instance. ‘:leader` or `:worker`.
27 28 29 |
# File 'lib/distrib_core/distrib.rb', line 27 def kind @kind || raise('kind is not set') end |
#kind=(kind) ⇒ Object
Set kind of the current instance
14 15 16 17 18 19 20 21 22 |
# File 'lib/distrib_core/distrib.rb', line 14 def kind=(kind) raise("Mode is already set: #{kind}") if @kind kind = kind&.to_sym raise(ArgumentError, 'Invalid kind, should be `leader` or `worker`') unless %i[leader worker].include?(kind) @kind = kind end |
#leader? ⇒ TrueClass, FalseClass
Returns ‘true` when `kind` is `:leader`.
32 33 34 |
# File 'lib/distrib_core/distrib.rb', line 32 def leader? kind == :leader end |
#worker? ⇒ TrueClass, FalseClass
Returns true when ‘kind` is `:worker`.
37 38 39 |
# File 'lib/distrib_core/distrib.rb', line 37 def worker? kind == :worker end |