Class: Aikido::Zen::RuntimeSettings::DomainSettings

Inherits:
Object
  • Object
show all
Defined in:
lib/aikido/zen/runtime_settings/domain_settings.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(mode:) ⇒ DomainSettings

Returns a new instance of DomainSettings.

Raises:

  • (ArgumentError)


17
18
19
20
21
# File 'lib/aikido/zen/runtime_settings/domain_settings.rb', line 17

def initialize(mode:)
  raise ArgumentError, "mode must be either :block or :allow" unless [:block, :allow].include?(mode)

  @mode = mode
end

Instance Attribute Details

#modeObject (readonly)

Returns the value of attribute mode.



15
16
17
# File 'lib/aikido/zen/runtime_settings/domain_settings.rb', line 15

def mode
  @mode
end

Class Method Details

.from_json(data) ⇒ Object



9
10
11
12
13
# File 'lib/aikido/zen/runtime_settings/domain_settings.rb', line 9

def self.from_json(data)
  new(
    mode: data["mode"]&.to_sym
  )
end

.noneObject



5
6
7
# File 'lib/aikido/zen/runtime_settings/domain_settings.rb', line 5

def self.none
  @no_settings ||= new(mode: :block)
end

Instance Method Details

#block?Boolean

Returns:

  • (Boolean)


23
24
25
# File 'lib/aikido/zen/runtime_settings/domain_settings.rb', line 23

def block?
  @mode == :block
end