class TokyoMetro::Factory::Generate::Static::TrainType::Custom::DefaultSetting::Info

Constants

TITLE

Public Class Methods

referenced_hash() click to toggle source

@note {TokyoMetro::Factory::Generate::Static::TrainType::Custom::Main::Info} で上書き

# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 9
def self.referenced_hash
  ::TokyoMetro::Static.train_types_other_operator
end

Private Instance Methods

check_varidity_of_referenced_info( info , include_ancestors: false ) click to toggle source
# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 57
def check_varidity_of_referenced_info( info , include_ancestors: false )
  class_name = ::TokyoMetro::Static::TrainType::Custom::OtherOperator::Info

  unless ( include_ancestors and info.kind_of?( class_name ) ) or info.instance_of?( class_name )
    str = "\n" + "Error: The variable \#1 \"referenced_info\" is not valid. ("
    if key_for_reference.present?
      str << "Key for reference: #{ key_for_reference }, "
    end
    str << "Class: #{info.class.name})"
    str << "\n"
    str << "The variable should be an instance "
    if include_ancestors
      str << "or inheritance "
    end
    str << "of \"#{class_name}\"."
    raise str
  end

  if info.nil?
    raise "Error: The variable \#1 \"referenced_info\" should not be nil."
  end
end
decinding_keys_in_variables_from_hash() click to toggle source
# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 41
def decinding_keys_in_variables_from_hash
  @h.keys
end
key_for_reference() click to toggle source

参照のためのキー

# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 46
def key_for_reference
  @h[ "ref" ]
end
referenced_info() click to toggle source
# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 50
def referenced_info
  # ハッシュから取得する値
  info = self.class.referenced_hash[ key_for_reference ]
  check_varidity_of_referenced_info( info )
  info
end
set_values_to_hash_for_making_variables() click to toggle source
# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 17
def set_values_to_hash_for_making_variables
  if use_reference?
    # puts "Use reference"
    set_values_to_hash_for_making_variables_when_reference_is_used
  else
    # puts "Not use referece"
    set_values_to_hash_for_making_variables_when_reference_is_not_used
  end
end
set_values_to_hash_for_making_variables_from_referenced_info( hash_key_array: self.class.hash_keys ) click to toggle source
# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 31
def set_values_to_hash_for_making_variables_from_referenced_info( hash_key_array: self.class.hash_keys )
  hash_key_array.each do | key_name |
    @hash_for_making_variables[ key_name ] = referenced_info.send( key_name )
  end
end
set_values_to_hash_for_making_variables_when_reference_is_not_used()
set_values_to_hash_for_making_variables_when_reference_is_used() click to toggle source
# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 27
def set_values_to_hash_for_making_variables_when_reference_is_used
  set_values_to_hash_for_making_variables_from_referenced_info
end
use_reference?() click to toggle source
# File lib/tokyo_metro/factory/generate/static/train_type/custom/default_setting/info.rb, line 37
def use_reference?
  decinding_keys_in_variables_from_hash == [ "ref" ]
end