Module: Monikers::Generator

Defined in:
lib/monikers/generator/generator.rb

Constant Summary collapse

CSV_FILE_PATH =
'../../data/monikers_list.csv'.freeze
OUT_FILE_PATH =
'../../data/monikers_hash.rb'.freeze

Class Method Summary collapse

Class Method Details

.generate_cacheObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/monikers/generator/generator.rb', line 8

def self.generate_cache
  monikers = Hash.new

  File.open(Monikers::Generator::CSV_FILE_PATH, 'r') do |file_handle|
    file_handle.each do |line|
      split_line = line.split(/,/)

      name = split_line[1].strip.downcase
      moniker = split_line[2].strip.downcase

      if monikers.key?(name)
        if !monikers[name].include?(moniker)
          monikers[name]<< moniker
        end
      else
        monikers[name] = Array.new<< moniker
      end

      if monikers.key?(moniker)
        if !monikers[moniker].include?(name)
          monikers[moniker]<< name
        end
      else
        monikers[moniker] = Array.new<< name
      end
    end
  end

  File.open(OUT_FILE_PATH, 'w') { |out_file| PP.pp(monikers, out_file) }

  return monikers
end