-
Notifications
You must be signed in to change notification settings - Fork 4
/
vagrant-config.rb
54 lines (54 loc) · 1.53 KB
/
vagrant-config.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
module Configuration
class Parser
def initialize(lines)
#puts "initialize"
@lines = []
lines.each do |line|
@lines.push(line.gsub(/#.*/, ""))
end
#puts @lines
end
def get_string(name)
#puts "get_string"
#puts @lines
regex = Regexp.new(/^\s*#{name}\s*:/i)
matches = @lines.grep(regex)
if (matches.empty?)
return nil
else
value = matches[0].split(":")[1].strip
#puts value
return value
end
end
def get_boolean(name)
#puts "get_boolean"
print "Key=#{name}, "
value = get_string(name)
if ((value != nil) and (value.upcase == "TRUE"))
puts "Value=true"
return true
else
puts "Value=false"
return false
end
end
def get_string_in_list(name, list, default)
print "Key=#{name}, "
value = get_string(name)
if (value != nil)
found = list.grep(value)
if (found.empty?)
puts "Value=#{default}"
return default
else
puts "Value=#{value}"
return value
end
else
puts "Value=#{default}"
return default
end
end
end
end