Class: Aikido::Zen::RuntimeSettings::IPList

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

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(key:, source:, description:, ips:) ⇒ IPList

Returns a new instance of IPList.



19
20
21
22
23
24
# File 'lib/aikido/zen/runtime_settings/ip_list.rb', line 19

def initialize(key:, source:, description:, ips:)
  @key = key
  @source = source
  @description = description
  @ips = ips
end

Instance Attribute Details

#descriptionObject (readonly)

Returns the value of attribute description.



7
8
9
# File 'lib/aikido/zen/runtime_settings/ip_list.rb', line 7

def description
  @description
end

#ipsObject (readonly)

Returns the value of attribute ips.



8
9
10
# File 'lib/aikido/zen/runtime_settings/ip_list.rb', line 8

def ips
  @ips
end

#keyObject (readonly)

Returns the value of attribute key.



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

def key
  @key
end

#sourceObject (readonly)

Returns the value of attribute source.



6
7
8
# File 'lib/aikido/zen/runtime_settings/ip_list.rb', line 6

def source
  @source
end

Class Method Details

.from_json(data) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/aikido/zen/runtime_settings/ip_list.rb', line 10

def self.from_json(data)
  new(
    key: data["key"],
    source: data["source"],
    description: data["description"],
    ips: RuntimeSettings::IPSet.from_json(data["ips"])
  )
end

Instance Method Details

#include?(ip) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/aikido/zen/runtime_settings/ip_list.rb', line 30

def include?(ip)
  @ips.include?(ip)
end

#inspectObject



26
27
28
# File 'lib/aikido/zen/runtime_settings/ip_list.rb', line 26

def inspect
  "#<#{self.class} #{@key}>"
end