Class: Sgdoc::EC2::IpPermissionCollection

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/sgdoc/ec2/ip_permission_collection.rb

Instance Method Summary collapse

Constructor Details

#initialize(ip_permissions) ⇒ IpPermissionCollection

Returns a new instance of IpPermissionCollection.



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/sgdoc/ec2/ip_permission_collection.rb', line 6

def initialize(ip_permissions)
  # ip_ranges, user_id_group_pairs(security_group) がそれぞれ Source, Destination として定義される
  # ip_rages, user_id_group_pairsはそれぞれ配列で複数ある場合がある
  @ip_permissions = ip_permissions.each_with_object([]) do |ip_permission, memo|
    ip_permission.ip_ranges.each do |ip_range|
      memo << IpPermission.new(ip_permission: ip_permission, ip_range: ip_range)
    end

    ip_permission.user_id_group_pairs.each do |user_id_group_pair|
      memo << IpPermission.new(ip_permission: ip_permission, user_id_group_pair: user_id_group_pair)
    end
  end
end

Instance Method Details

#eachObject



20
21
22
23
24
# File 'lib/sgdoc/ec2/ip_permission_collection.rb', line 20

def each
  @ip_permissions.each do |ip_permission|
    yield ip_permission
  end
end