module Haiku

Constants

VERSION

Attributes

default_range[RW]
default_variant[RW]

Public Class Methods

adjectives() click to toggle source
# File lib/haikunate.rb, line 29
def self.adjectives
  @adjectives ||= data_dir.join("adjectives.txt").read.lines.map(&:chomp)
end
adjectives=(adjectives) click to toggle source
# File lib/haikunate.rb, line 33
def self.adjectives=(adjectives)
  @adjectives = adjectives.map(&:chomp)
end
call(joiner: "-", variant: default_variant) click to toggle source
# File lib/haikunate.rb, line 37
def self.call(joiner: "-", variant: default_variant)
  [adjectives.sample, nouns.sample, variant.call].join(joiner)
end
data_dir() click to toggle source
# File lib/haikunate.rb, line 17
def self.data_dir
  @data_dir ||= Pathname.new(File.expand_path("#{__dir__}/../data"))
end
next(joiner: "-", variant: default_variant, &block) click to toggle source
# File lib/haikunate.rb, line 41
def self.next(joiner: "-", variant: default_variant, &block)
  options = {joiner: joiner, variant: variant}
  name = call(**options) while !name || block.call(name)
  name
end
nouns() click to toggle source
# File lib/haikunate.rb, line 21
def self.nouns
  @nouns ||= data_dir.join("nouns.txt").read.lines.map(&:chomp)
end
nouns=(nouns) click to toggle source
# File lib/haikunate.rb, line 25
def self.nouns=(nouns)
  @nouns = nouns.map(&:chomp)
end