class TokyoMetro::Factory::Generate::Static::MetaClass::Group::Fundamental

各種ハッシュを作成するための Factory クラス - 0. 基本 @note

単一の YAML ファイルからハッシュを作成するクラスは、このクラス {TokyoMetro::Factory::Generate::Static::MetaClass::Group::Fundamental::FromHash} を継承して作成する。
また、複数の YAML ファイルからハッシュを作成するクラスも、このクラス {TokyoMetro::Factory::Generate::Static::MetaClass::Group::Fundamental::FromHash} を継承するクラス {TokyoMetro::Factory::Generate::Static::MetaClass::Group::MultipleYamls} , {TokyoMetro::Factory::Generate::Static::MetaClass::Group::MultipleYamls::EachFile} をさらに継承して作成する。

Constants

TO_INSPECT

Public Class Methods

new( filename ) click to toggle source

Constructor @param filename [String] YAML ファイルの名称

# File lib/tokyo_metro/factory/generate/static/meta_class/group/fundamental.rb, line 13
def initialize( filename )
  @file = filename
end

Private Class Methods

from_yaml( filename = nil , method_for_hash_class: :hash_class ) click to toggle source

YAML ファイルからインスタンスを生成するクラスメソッド @param filename [String or nil] ファイル名(nil を指定した場合は、yaml_file <private class method> を呼び出す) @note ファイル名は必ず指定しなければならない。

# File lib/tokyo_metro/factory/generate/static/meta_class/group/fundamental.rb, line 46
def self.from_yaml( filename = nil , method_for_hash_class: :hash_class )
  if filename.nil?
    filename = yaml_file
  end
  self.new( filename ).generate
end
info_class() click to toggle source

ハッシュの値のクラス @return [Const (class name)]

# File lib/tokyo_metro/factory/generate/static/meta_class/group/fundamental.rb, line 59
def self.info_class
  raise "The class method \"#{__method__}\" is not defined yet in this class."
end
info_class_for_this_factory() click to toggle source
# File lib/tokyo_metro/factory/generate/static/meta_class/group/fundamental.rb, line 53
def self.info_class_for_this_factory
  info_class
end
yaml_file() click to toggle source
# File lib/tokyo_metro/factory/generate/static/meta_class/group/fundamental.rb, line 67
def yaml_file
  "#{ ::TokyoMetro::dictionary_dir }/#{yaml_file_basename}.yaml"
end

Public Instance Methods

generate() click to toggle source

YAML ファイルからインスタンスを生成するためのインスタンスメソッド @return [subclass of Hash]

# File lib/tokyo_metro/factory/generate/static/meta_class/group/fundamental.rb, line 19
def generate
  if TO_INSPECT
    inspect_title
  end

  generating_procedure( ::YAML.load_file( @file ) )
end

Private Instance Methods

inspect_title() click to toggle source
# File lib/tokyo_metro/factory/generate/static/meta_class/group/fundamental.rb, line 29
def inspect_title
  puts "#{inspect_title_top} #{self.class.name}"
  puts " " * 4 + "< #{self.class.superclass.name}"
  puts ""
  puts " " * 4 + "from".ljust(24) + " : " + @file
  puts " " * 4 + "self.class.info_class".ljust(24) + " : " + self.class.info_class.name
  puts ""
  puts ""
end
inspect_title_top() click to toggle source
# File lib/tokyo_metro/factory/generate/static/meta_class/group/fundamental.rb, line 39
def inspect_title_top
  "●"
end