Class: TokyoMetro::Factory::Generate::Static::MetaClass::Group::HashInHash

Inherits:
MultipleYamls show all
Defined in:
lib/tokyo_metro/factory/generate/static/meta_class/group/hash_in_hash.rb

Overview

各種ハッシュを作成するための Factory クラス - 3.1 複数の YAML ファイルから、「ハッシュを値とするハッシュ」を作成

Direct Known Subclasses

Station::RailwayLines

Defined Under Namespace

Classes: EachFile

Constant Summary

Constants inherited from Fundamental

Fundamental::TO_INSPECT

Instance Method Summary collapse

Methods inherited from MultipleYamls

#generate, #inspect_title

Methods inherited from Fundamental

#generate

Constructor Details

#initialize(h) ⇒ HashInHash

Constructor

Parameters:

  • h (::Hash)


6
7
8
9
# File 'lib/tokyo_metro/factory/generate/static/meta_class/group/hash_in_hash.rb', line 6

def initialize(h)
  raise "Error" unless h.instance_of?( ::Hash )
  @h = h
end

Instance Method Details

#generating_procedure(h_new) ⇒ Hash

Note:

MultipleYamls#generating_procedure とはロジックが異なることに注意

YAML ファイルからインスタンスを生成する際のロジック

Returns:

  • (Hash)


14
15
16
17
18
19
# File 'lib/tokyo_metro/factory/generate/static/meta_class/group/hash_in_hash.rb', line 14

def generating_procedure( h_new )
  @h.each do | key , filename |
    h_new[ key ] = self.class.factory_for_generating_from_each_saved_file.from_yaml( filename )
  end
  h_new
end