class TokyoMetro::Factory::Seed::Static::RailwayLine::Info

@note 運行事業者名(インスタンス変数 operator)が東京メトロの場合は、{TokyoMetro::Api::RailwayLine::Info} の情報も同時に流し込む。

Public Class Methods

new( info ) click to toggle source
# File lib/tokyo_metro/factory/seed/static/railway_line/info.rb, line 9
def initialize( info )
  super( info , get_id: true )

  @id_urn = nil
  @geojson = nil
  @dc_date = nil

  set_variables_of_railway_lines_operated_by_tokyo_metro
end

Private Instance Methods

dc_date() click to toggle source
# File lib/tokyo_metro/factory/seed/static/railway_line/info.rb, line 21
def dc_date
  if @dc_date.present?
    super( create_from: @dc_date )
  else
    nil
  end
end
hash_to_db() click to toggle source
# File lib/tokyo_metro/factory/seed/static/railway_line/info.rb, line 29
def hash_to_db
  h = {
    color: @info.color_normal_web ,
    name_code: @info.name_code_normal ,
    #
    id_urn: @id_urn ,
    geo_json: @geo_json
  }

  [ :name_ja , :name_hira , :name_en , :dc_date , :operator_id ].each do | key_name |
    h[ key_name ] = self.send( key_name )
  end

  [
    :same_as ,
    :name_ja_normal , :name_ja_with_operator_name_precise , :name_ja_with_operator_name ,
    :name_en_normal , :name_en_with_operator_name_precise , :name_en_with_operator_name ,
    :index , :css_class_name , :start_on , :end_on # , :twitter_widget_id , :twitter_account_name
  ].each do | key_name |
    h[ key_name ] = @info.send( key_name )
  end

  h
end
seed_optional_infos() click to toggle source
# File lib/tokyo_metro/factory/seed/static/railway_line/info.rb, line 83
def seed_optional_infos
  seed_twitter_account
end
set_variables_of_railway_lines_operated_by_tokyo_metro() click to toggle source
# File lib/tokyo_metro/factory/seed/static/railway_line/info.rb, line 54
  def set_variables_of_railway_lines_operated_by_tokyo_metro
    if @info.operated_by_tokyo_metro?
      railway_line_info_in_api = ::TokyoMetro::Api.railway_lines.find{ | railway_line | railway_line.same_as?( @info.same_as ) }

      [ :id_urn , :geo_json , :dc_date ].each do | method_name |
        eval <<-DEF
          @#{ method_name } = railway_line_info_in_api.#{ method_name }
        DEF
      end

    end
  end