Class: AugeasProviders::Mounttab::Fstab
- Inherits:
-
Object
- Object
- AugeasProviders::Mounttab::Fstab
show all
- Includes:
- Provider
- Defined in:
- lib/augeasproviders/mounttab/fstab.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
-
.atboot(aug, resource) ⇒ Object
-
.create(aug, resource) ⇒ Object
-
.default_file ⇒ Object
-
.dump(aug, resource) ⇒ Object
-
.empty_options ⇒ Object
-
.get_resource(aug, mpath, target) ⇒ Object
-
.insoptions(aug, entry, resource) ⇒ Object
-
.lens ⇒ Object
-
.pass(aug, resource) ⇒ Object
-
.set_atboot(aug, resource, value) ⇒ Object
-
.set_dump(aug, resource, value) ⇒ Object
-
.set_pass(aug, resource, value) ⇒ Object
Methods included from Provider
#aug_handler, #aug_version, #augclose!, #augopen, #augopen!, #augsave!, #destroy, #exists?, #flush, included, #parsed_as?, #path_label, #quoteit, #readquote, #resource_path, #setvars, #supported?, #target, #unquoteit
Instance Attribute Details
#resource ⇒ Object
Returns the value of attribute resource.
17
18
19
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 17
def resource
@resource
end
|
Class Method Details
.atboot(aug, resource) ⇒ Object
115
116
117
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 115
def self.atboot(aug, resource)
resource.should(:atboot)
end
|
.create(aug, resource) ⇒ Object
50
51
52
53
54
55
56
57
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 50
def self.create(aug, resource)
aug.set("$target/01/spec", resource[:device])
aug.set("$target/01/file", resource[:name])
aug.set("$target/01/vfstype", resource[:fstype])
insoptions(aug, "$target/01", resource)
aug.set("$target/01/dump", resource[:dump].to_s)
aug.set("$target/01/passno", resource[:pass].to_s)
end
|
.default_file ⇒ Object
19
20
21
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 19
def self.default_file
'/etc/fstab'
end
|
.dump(aug, resource) ⇒ Object
82
83
84
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 82
def self.dump(aug, resource)
aug.get("$target/*[file = '#{resource[:name]}']/dump")
end
|
.empty_options ⇒ Object
123
124
125
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 123
def self.empty_options
['', 'defaults']
end
|
.get_resource(aug, mpath, target) ⇒ Object
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 27
def self.get_resource(aug, mpath, target)
entry = {
:ensure => :present,
:target => target
}
return nil unless entry[:name] = aug.get("#{mpath}/file")
entry[:device] = aug.get("#{mpath}/spec")
entry[:fstype] = aug.get("#{mpath}/vfstype")
options = []
aug.match("#{mpath}/opt").each do |opath|
opt = aug.get(opath)
optv = aug.get("#{opath}/value")
opt = "#{opt}=#{optv}" if optv
options << opt
end
entry[:options] = options
entry[:pass] = aug.get("#{mpath}/passno") if aug.match("#{mpath}/passno")
entry[:dump] = aug.get("#{mpath}/dump") if aug.match("#{mpath}/dump")
entry
end
|
.insoptions(aug, entry, resource) ⇒ Object
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 59
def self.insoptions(aug, entry, resource)
values = resource.original_parameters[:options]
aug.rm("#{entry}/opt")
insafter = "vfstype"
if values and not values.empty?
[values].flatten.each do |opt|
optk, optv = opt.split("=", 2)
aug.insert("#{entry}/#{insafter}", "opt", false)
aug.set("#{entry}/opt[last()]", optk)
aug.set("#{entry}/opt[last()]/value", optv) if optv
insafter = "opt[last()]"
end
else
aug.insert("#{entry}/#{insafter}", "opt", false)
aug.set("#{entry}/opt", "defaults")
end
end
|
.lens ⇒ Object
23
24
25
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 23
def self.lens
'Fstab.lns'
end
|
.pass(aug, resource) ⇒ Object
96
97
98
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 96
def self.pass(aug, resource)
aug.get("$target/*[file = '#{resource[:name]}']/passno")
end
|
.set_atboot(aug, resource, value) ⇒ Object
119
120
121
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 119
def self.set_atboot(aug, resource, value)
return
end
|
.set_dump(aug, resource, value) ⇒ Object
86
87
88
89
90
91
92
93
94
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 86
def self.set_dump(aug, resource, value)
if aug.match("$target/*[file = '#{resource[:name]}']/opt").empty?
aug.set("$target/*[file = '#{resource[:name]}']/opt", "defaults")
end
aug.set("$target/*[file = '#{resource[:name]}']/dump", value.to_s)
end
|
.set_pass(aug, resource, value) ⇒ Object
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
# File 'lib/augeasproviders/mounttab/fstab.rb', line 100
def self.set_pass(aug, resource, value)
if aug.match("$target/*[file = '#{resource[:name]}']/opt").empty?
aug.set("$target/*[file = '#{resource[:name]}']/opt", "defaults")
end
if aug.match("$target/*[file = '#{resource[:name]}']/dump").empty?
aug.set("$target/*[file = '#{resource[:name]}']/dump", "0")
end
aug.set("$target/*[file = '#{resource[:name]}']/passno", value.to_s)
end
|