class TSAdmin::TrafficServer
Constants
- MARKER_TEXT
Public Class Methods
new(options={})
click to toggle source
# 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
Private Class Methods
marker_begin()
click to toggle source
# File lib/ts-admin/traffic_server.rb, line 138 def self.marker_begin "# BEGIN #{MARKER_TEXT}" end
marker_end()
click to toggle source
# File lib/ts-admin/traffic_server.rb, line 142 def self.marker_end "# END #{MARKER_TEXT}" end
Public Instance Methods
new_remap_entry(type, from, to)
click to toggle source
# 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()
click to toggle source
# File lib/ts-admin/traffic_server.rb, line 64 def remap_entries load unless defined?(@remap_entries) @remap_entries end
restart()
click to toggle source
# File lib/ts-admin/traffic_server.rb, line 107 def restart `#{@options['restart_cmd']}` end
save()
click to toggle source
# 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
Private Instance Methods
load()
click to toggle source
# File lib/ts-admin/traffic_server.rb, line 117 def load @remap_entries = ValidatingArray.new in_config_block = 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 next unless in_config_block type, from, to, *options = line.split(/\s+/) @remap_entries << RemapEntry.new(self, type, from, to) @remap_entries.delete_if{|e| !e.valid?} end end
remap_path()
click to toggle source
# File lib/ts-admin/traffic_server.rb, line 113 def remap_path File.join(@config_path, 'remap.config') end