class Gimei

Constants

GENDERS
VERSION

Attributes

address[R]
name[R]

Public Class Methods

address() click to toggle source
# File lib/gimei.rb, line 50
def address
  Address.new
end
addresses() click to toggle source
# File lib/gimei.rb, line 38
def addresses
  @addresses ||= YAML.load_file(File.expand_path(File.join('..', 'data', 'addresses.yml'), __FILE__))
end
config() click to toggle source
# File lib/gimei.rb, line 73
def config
  @config ||= Config.new
end
name(gender = nil) click to toggle source
# File lib/gimei.rb, line 30
def name(gender = nil)
  Name.new(gender)
end
names() click to toggle source
# File lib/gimei.rb, line 34
def names
  @names ||= YAML.load_file(File.expand_path(File.join('..', 'data', 'names.yml'), __FILE__))
end
new(gender = nil) click to toggle source
# File lib/gimei.rb, line 79
def initialize(gender = nil)
  @name = Name.new(gender)
  @address = Address.new
end
unique(max_retries = 10_000) click to toggle source
# File lib/gimei.rb, line 54
def unique(max_retries = 10_000)
  return @unique if defined? @unique

  @unique = UniqueGenerator.new(self, max_retries)

  %i[name last first hiragana katakana romaji address prefecture city town].each do |method_name|
    @unique.define_unique_method(method_name)
  end

  @unique.define_unique_method(:family, :last)
  @unique.define_unique_method(:given, :first)

  %i[male female kanji].each do |method_name|
    @unique.define_unique_method(method_name, :name)
  end

  @unique
end