Module: NobleNames::Data

Defined in:
lib/noble_names/data.rb

Overview

The module responsible for maintaining and delivering the match data as defined in the data directory.

Constant Summary collapse

DATA_PATH =
File.expand_path('../../../data/', __FILE__).freeze
MATCH_DATA =
Hash[Dir.glob(DATA_PATH + '/*.yml').collect do |f|
  yaml = YAML.load_file(f)
  yaml.first
end]

Class Method Summary collapse

Class Method Details

.particlesObject



13
14
15
# File 'lib/noble_names/data.rb', line 13

def self.particles
  select_languages(MATCH_DATA['particles'])
end

.prefixesObject



17
18
19
# File 'lib/noble_names/data.rb', line 17

def self.prefixes
  select_languages(MATCH_DATA['prefixes'])
end

.select_languages(collection) ⇒ Object



21
22
23
24
25
26
# File 'lib/noble_names/data.rb', line 21

def self.select_languages(collection)
  collection
    .select { |l| NobleNames.configuration.languages.include? l.to_sym }
    .values
    .flatten
end