Class: CidrGroupMapping

Inherits:
Object
  • Object
show all
Defined in:
lib/ec2/security_groups.rb

Instance Method Summary collapse

Constructor Details

#initialize(all_groups, user_groups) ⇒ CidrGroupMapping

Returns a new instance of CidrGroupMapping.



60
61
62
63
# File 'lib/ec2/security_groups.rb', line 60

def initialize(all_groups, user_groups)
  @all_groups = all_groups
  @user_groups = user_groups
end

Instance Method Details

#map(all_traffic) ⇒ Object



65
66
67
68
69
70
# File 'lib/ec2/security_groups.rb', line 65

def map(all_traffic)
  traffic = all_traffic.collect { |traffic|
    traffic.copy(mapping(traffic.from), mapping(traffic.to))
  }
  traffic.uniq.group_by {|t| [t.from, t.to, t.ingress]}.collect {|k,v| Traffic.grouped(v)}.uniq
end