Class: Configuration::OutputMultiBase
- Inherits:
-
Object
- Object
- Configuration::OutputMultiBase
- Defined in:
- lib/httpimagestore/configuration/output.rb
Direct Known Subclasses
Defined Under Namespace
Classes: OutputSpec
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(output_specs) ⇒ OutputMultiBase
constructor
A new instance of OutputMultiBase.
Constructor Details
#initialize(output_specs) ⇒ OutputMultiBase
Returns a new instance of OutputMultiBase.
85 86 87 |
# File 'lib/httpimagestore/configuration/output.rb', line 85 def initialize(output_specs) @output_specs = output_specs end |
Class Method Details
.parse(configuration, node) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/httpimagestore/configuration/output.rb', line 68 def self.parse(configuration, node) nodes = node.values.empty? ? node.children : [node] output_specs = nodes.map do |node| image_name = node.grab_values('image name').first scheme, host, port, path_spec, remaining = *node.grab_attributes_with_remaining('scheme', 'host', 'port', 'path') conditions, remaining = *HandlerStatement::ConditionalInclusion.grab_conditions_with_remaining(remaining) remaining.empty? or raise UnexpectedAttributesError.new(node, remaining) out = OutputSpec.new(configuration.global, image_name, scheme, host, port, path_spec) out.with_conditions(conditions) out end configuration.output and raise StatementCollisionError.new(node, 'output') configuration.output = self.new(output_specs) end |