class Kakine::SecurityGroup
Attributes
description[R]
id[R]
name[R]
rules[R]
tenant_name[R]
Public Class Methods
new(tenant_name, params)
click to toggle source
# File lib/kakine/security_group.rb, line 6 def initialize(tenant_name, params) @name = params[0] @tenant_name = tenant_name @id = params[1]["id"] || "" @description = params[1]["description"] || "" @rules = get_rule_instances(params) || [] end
Public Instance Methods
!=(target_sg)
click to toggle source
# File lib/kakine/security_group.rb, line 22 def !=(target_sg) !(self == target_sg) end
==(target_sg)
click to toggle source
# File lib/kakine/security_group.rb, line 18 def ==(target_sg) same_group?(target_sg) && same_rule?(self, target_sg) && same_rule?(target_sg, self) end
find_by_rule(target_rule)
click to toggle source
# File lib/kakine/security_group.rb, line 44 def find_by_rule(target_rule) @rules.find { |rule| rule == target_rule } end
get_rule_instances(params)
click to toggle source
# File lib/kakine/security_group.rb, line 38 def get_rule_instances(params) params[1]["rules"].map do |rule| SecurityRule.new(rule, @tenant_name, @name) end unless params[1]["rules"].nil? end
has_rules?()
click to toggle source
# File lib/kakine/security_group.rb, line 48 def has_rules? @rules.detect {|v| !v.nil?} end
same_group?(target_sg)
click to toggle source
# File lib/kakine/security_group.rb, line 26 def same_group?(target_sg) %i(@name @tenant_name @description).all? do |val| instance_variable_get(val) == target_sg.instance_variable_get(val) end end
same_rule?(a, b)
click to toggle source
# File lib/kakine/security_group.rb, line 32 def same_rule?(a, b) a.rules.all? do |rule| b.find_by_rule(rule) end end
tenant_id()
click to toggle source
# File lib/kakine/security_group.rb, line 14 def tenant_id Yao.current_tenant_id end