Class: Host

Inherits:
Object
  • Object
show all
Defined in:
lib/blockhosts.rb

Class Method Summary collapse

Class Method Details

.add(hostname) ⇒ Object



19
20
21
22
# File 'lib/blockhosts.rb', line 19

def self.add(hostname)
  s = "#{@ip} #{hostname}"
  open(@file, 'a') { |f| f.puts s } unless File.read(@file).include? hostname
end

.disable(hostname) ⇒ Object



24
25
26
# File 'lib/blockhosts.rb', line 24

def self.disable(hostname)
  modify() {|s| s.sub(/^#(#{@ip}\s+#{hostname}[^$]+)$/,'\1')}
end

.enable(hostname) ⇒ Object



28
29
30
# File 'lib/blockhosts.rb', line 28

def self.enable(hostname)
  modify() {|s| s.sub(/^(#{@ip}\s+#{hostname}[^$]+)$/,'#\1')}
end

.modifyObject



32
33
34
35
36
37
38
39
40
# File 'lib/blockhosts.rb', line 32

def self.modify()
 
  return unless block_given?

  s = File.read(@file)
  s2 = yield(s)
  File.write(@file, s2) unless s == s2

end