Sha256: f8243bde2445c474c2b940de981820b183f6ced7c7df70172e7b6aa8c956c994
Contents?: true
Size: 1.43 KB
Versions: 320
Compression:
Stored size: 1.43 KB
Contents
# frozen_string_literal: true module Aws module Partitions class PartitionList include Enumerable def initialize @partitions = {} end # @return [Enumerator<Partition>] def each(&block) @partitions.each_value(&block) end # @param [String] partition_name # @return [Partition] def partition(partition_name) if @partitions.key?(partition_name) @partitions[partition_name] else msg = "invalid partition name #{partition_name.inspect}; valid "\ "partition names include %s" % [@partitions.keys.join(', ')] raise ArgumentError, msg end end # @return [Array<Partition>] def partitions @partitions.values end # @param [Partition] partition # @api private def add_partition(partition) if Partition === partition @partitions[partition.name] = partition else raise ArgumentError, "expected Partition, got #{partition.class}" end end # Removed all partitions. # @api private def clear @partitions = {} end class << self # @api private def build(partitions) partitions['partitions'].inject(PartitionList.new) do |list, partition| list.add_partition(Partition.build(partition)) list end end end end end end
Version data entries
320 entries across 320 versions & 1 rubygems