class EmailAssessor::DirectoryDomainList
Attributes
pathname[R]
Public Class Methods
new(pathname)
click to toggle source
# File lib/email_assessor/directory_domain_list.rb, line 23 def initialize(pathname) prioritization_file_name = File.join(pathname, "_prioritization.txt") @prioritization = File.read(prioritization_file_name).split("").freeze if File.exist?(prioritization_file_name) @pathname = pathname @file_map = { # {first_char} => FileDomainList | nil } end
Public Instance Methods
include_any?(domain_token_set)
click to toggle source
# File lib/email_assessor/directory_domain_list.rb, line 7 def include_any?(domain_token_set) chars = if @prioritization.present? @prioritization else domain_token_set.indexes end chars.any? { |char| domain_list(char).include_any?(domain_token_set) } end
sample()
click to toggle source
# File lib/email_assessor/directory_domain_list.rb, line 17 def sample File.open(Dir.glob(File.join(@pathname, "?.txt")).first, &:readline).chomp end
Private Instance Methods
domain_list(char)
click to toggle source
# File lib/email_assessor/directory_domain_list.rb, line 33 def domain_list(char) cached = @file_map[char] return cached unless cached.nil? file_name = File.join(@pathname, "#{char}.txt") domain_list = if File.file?(file_name) FileDomainList.new(file_name) else EmptyDomainList.instance end @file_map[char] = domain_list domain_list end