Sha256: 051e0c0efbf395f82141ec39a91481316237010eca8753beae30d7b776c67ae5

Contents?: true

Size: 983 Bytes

Versions: 1

Compression:

Stored size: 983 Bytes

Contents

require 'forwardable'
require 'yaml'
require 'gimei/version'
require 'gimei/name'
require 'gimei/address'

class Gimei
  extend Forwardable

  NAMES = YAML.load_file(File.expand_path(File.join('..', 'data', 'names.yml'), __FILE__))
  ADDRESSES = YAML.load_file(File.expand_path(File.join('..', 'data', 'addresses.yml'), __FILE__))
  GENDER = [:male, :female].freeze

  def_delegators :@name, :kanji, :hiragana, :katakana, :first, :last, :male?, :female?, :romaji
  def_delegators :@address, :prefecture, :city, :town
  alias_method :to_s, :kanji

  attr_reader :name, :address

  class << self
    extend Forwardable

    def_delegators :name, :kanji, :hiragana, :katakana, :first, :last, :romaji
    def_delegators Gimei::Name, :male, :female
    def_delegators :address, :prefecture, :city, :town

    def name
      Name.new
    end

    def address
      Address.new
    end
  end

  def initialize(gender = nil)
    @name = Name.new(gender)
    @address = Address.new
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gimei-0.3.0 lib/gimei.rb