Module: Mnemorandom

Defined in:
lib/mnemorandom.rb,
lib/mnemorandom/version.rb

Defined Under Namespace

Classes: Error

Constant Summary collapse

GEM_ROOT =
Pathname("#{__dir__}/..")
DATA_PATH =
Pathname(GEM_ROOT.join("vendor/git/corpora.git/data"))
VERSION =
"0.1.1"

Class Method Summary collapse

Class Method Details

.load_categoriesObject



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

def self.load_categories
  Dir.children(DATA_PATH)
end

.load_corpora(category) ⇒ Object



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

def self.load_corpora(category)
  Dir.children(DATA_PATH.join(category.to_s)).map { |filename| filename.delete_suffix(".json") }
end

.load_raw_corpus(category, name) ⇒ Object



21
22
23
# File 'lib/mnemorandom.rb', line 21

def self.load_raw_corpus(category, name)
  JSON.parse((DATA_PATH + category.to_s + "#{name}.json").read)
end

.load_smart_corpus(*args) ⇒ Object



25
26
27
28
29
# File 'lib/mnemorandom.rb', line 25

def self.load_smart_corpus(*args)
  load_raw_corpus(*args).values.find { |value| value.is_a?(Array) }.tap do |list|
    raise Error.new("Unsupported corpus schema detected") unless list.first.respond_to?(:to_str)
  end
end