class ReservedSubdomain::File

Constants

DIRECTORY

Attributes

fileroot[R]
literals[R]

Public Class Methods

load(fileroot = '*') click to toggle source
# File lib/reserved_subdomain/file.rb, line 6
def load(fileroot = '*')
  new(fileroot).literals
end
new(fileroot = '*') click to toggle source
# File lib/reserved_subdomain/file.rb, line 13
def initialize(fileroot = '*')
  @fileroot = fileroot
  @literals = files.map { |filename| ::File.read(filename).split("\n") }.compact.flatten
end

Public Instance Methods

dedupe!(content) click to toggle source
# File lib/reserved_subdomain/file.rb, line 27
def dedupe!(content)
  literals.reject! { |literal| content.include?(literal) }
  self
end
literals=(list) click to toggle source
# File lib/reserved_subdomain/file.rb, line 18
def literals=(list)
  @literals = list.sort.uniq
end
remove_reserved!() click to toggle source
# File lib/reserved_subdomain/file.rb, line 32
def remove_reserved!
  literals.reject! do |literal|
    (literal =~ /^#/) ||
      ReservedSubdomain::Prefix.new(literal).reserved? ||
      ReservedSubdomain::Pattern.new(literal).reserved?
  end

  self
end
save() click to toggle source
# File lib/reserved_subdomain/file.rb, line 22
def save
  ::File.open(files.first, 'w') { |f| f.write literals.join("\n") }
  self
end

Private Instance Methods

files() click to toggle source
# File lib/reserved_subdomain/file.rb, line 44
def files
  Dir.glob(::File.join(DIRECTORY, "#{fileroot}.txt"))
end