Class: Aikido::Zen::RuntimeSettings::Domains
- Inherits:
-
Object
- Object
- Aikido::Zen::RuntimeSettings::Domains
- Defined in:
- lib/aikido/zen/runtime_settings/domains.rb
Class Method Summary collapse
Instance Method Summary collapse
- #[](hostname) ⇒ Object
- #include?(hostname) ⇒ Boolean
-
#initialize(domains = {}) ⇒ Domains
constructor
A new instance of Domains.
- #size ⇒ Object
Constructor Details
#initialize(domains = {}) ⇒ Domains
Returns a new instance of Domains.
18 19 20 21 |
# File 'lib/aikido/zen/runtime_settings/domains.rb', line 18 def initialize(domains = {}) @domains = domains @domains.default = RuntimeSettings::DomainSettings.none end |
Class Method Details
.from_json(data) ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/aikido/zen/runtime_settings/domains.rb', line 8 def self.from_json(data) domain_pairs = Array(data).map do |value| hostname = value["hostname"].downcase settings = RuntimeSettings::DomainSettings.from_json(value) [hostname, settings] end new(domain_pairs.to_h) end |
Instance Method Details
#[](hostname) ⇒ Object
23 24 25 |
# File 'lib/aikido/zen/runtime_settings/domains.rb', line 23 def [](hostname) @domains[normalize(hostname)] end |
#include?(hostname) ⇒ Boolean
27 28 29 |
# File 'lib/aikido/zen/runtime_settings/domains.rb', line 27 def include?(hostname) @domains.key?(normalize(hostname)) end |
#size ⇒ Object
31 32 33 |
# File 'lib/aikido/zen/runtime_settings/domains.rb', line 31 def size @domains.size end |