Class: Dcmgr::Models::NetfilterGroup
Constant Summary
Constants inherited
from BaseNew
BaseNew::LOCK_TABLES_KEY
Class Method Summary
collapse
Instance Method Summary
collapse
#account
Methods inherited from BaseNew
Proxy, dataset, install_data, install_data_hooks, lock!, unlock!
Class Method Details
.create_group(account_id, params) ⇒ Object
39
40
41
42
43
44
45
46
|
# File 'lib/dcmgr/models/netfilter_group.rb', line 39
def self.create_group(account_id, params)
grp = self.create(:account_id => account_id,
:name => params[:name],
:rule => params[:rule],
:description => params[:description])
grp.build_rule
grp
end
|
Instance Method Details
#build_rule ⇒ Object
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/dcmgr/models/netfilter_group.rb', line 62
def build_rule
return if self.rule.nil?
self.rule.split("\n").each { |permission|
next if permission =~ /\A#/
next if permission.length == 0
NetfilterRule.create(:netfilter_group_id => self.id,
:permission => permission)
}
end
|
#destroy_group ⇒ Object
52
53
54
55
|
# File 'lib/dcmgr/models/netfilter_group.rb', line 52
def destroy_group
self.flush_rule
self.destroy
end
|
#flush_rule ⇒ Object
48
49
50
|
# File 'lib/dcmgr/models/netfilter_group.rb', line 48
def flush_rule
NetfilterRule.filter(:netfilter_group_id => self.id).destroy
end
|
#instances ⇒ Object
81
82
83
84
85
|
# File 'lib/dcmgr/models/netfilter_group.rb', line 81
def instances
self.instance_netfilter_groups.map { |instance_netfilter_group|
instance_netfilter_group.instance
}
end
|
#rebuild_rule ⇒ Object
57
58
59
60
|
# File 'lib/dcmgr/models/netfilter_group.rb', line 57
def rebuild_rule
self.flush_rule
self.build_rule
end
|
#to_hash ⇒ Object
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/dcmgr/models/netfilter_group.rb', line 18
def to_hash
h = super
h = h.merge({
:rule => rule.to_s,
:rules => netfilter_rules.map { |rule| rule.to_hash },
})
end
|
#to_tiny_hash ⇒ Object
32
33
34
35
36
37
|
# File 'lib/dcmgr/models/netfilter_group.rb', line 32
def to_tiny_hash
{
:name => self.name,
:uuid => self.canonical_uuid,
}
end
|