Class: TSAdmin::TrafficServer
- Inherits:
-
Object
- Object
- TSAdmin::TrafficServer
show all
- Defined in:
- lib/ts-admin/traffic_server.rb
Defined Under Namespace
Classes: RemapEntry, RemapError, ValidatingArray
Constant Summary
collapse
- MARKER_TEXT =
"CONFIGURATION FROM TSADMIN"
Instance Method Summary
collapse
Constructor Details
#initialize(options = {}) ⇒ TrafficServer
Returns a new instance of TrafficServer.
56
57
58
59
60
61
62
|
# File 'lib/ts-admin/traffic_server.rb', line 56
def initialize(options={})
@options = {
'config_path' => '/etc/trafficserver',
'restart_cmd' => '/etc/init.d/trafficserver restart'
}.merge(options)
@config_path = @options['config_path']
end
|
Instance Method Details
#new_remap_entry(type, from, to) ⇒ Object
69
70
71
|
# File 'lib/ts-admin/traffic_server.rb', line 69
def new_remap_entry(type, from, to)
RemapEntry.new(self, type, from, to)
end
|
#remap_entries ⇒ Object
64
65
66
67
|
# File 'lib/ts-admin/traffic_server.rb', line 64
def remap_entries
load unless defined?(@remap_entries)
@remap_entries
end
|
#restart ⇒ Object
107
108
109
|
# File 'lib/ts-admin/traffic_server.rb', line 107
def restart
`#{@options['restart_cmd']}`
end
|
#save ⇒ Object
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/ts-admin/traffic_server.rb', line 73
def save
own_config = ''
own_config << "#{self.class.marker_begin}\n"
remap_entries.each do |remap_entry|
own_config << "#{remap_entry.type.to_s} #{remap_entry.from} #{remap_entry.to}\n"
end
own_config << "#{self.class.marker_end}\n"
file_content = ''
in_config_block = false
own_config_written = false
File.read(remap_path).each_line do |line|
if line.strip == self.class.marker_begin
in_config_block = true
next
elsif line.strip == self.class.marker_end
in_config_block = false
next
end
if in_config_block
file_content << own_config unless own_config_written
own_config_written = true
else
file_content << line
end
end
file_content << own_config unless own_config_written
remap_file = File.new(remap_path, 'w')
remap_file.write(file_content)
remap_file.close
end
|