class TokyoMetro::Factory::Seed::Common::Info

Public Class Methods

new( info , *args , get_id: false ) click to toggle source
# File lib/tokyo_metro/factory/seed/common/info.rb, line 5
def initialize( info , *args , get_id: false )
  @info = info
  set_optional_variables( args )
  @get_id = get_id
end
process( *variables ) click to toggle source
# File lib/tokyo_metro/factory/seed/common/info.rb, line 16
def self.process( *variables )
  self.new( *variables ).seed
end

Public Instance Methods

seed() click to toggle source
# File lib/tokyo_metro/factory/seed/common/info.rb, line 11
def seed
  seed_main
  seed_optional_infos
end

Private Instance Methods

db_class() click to toggle source
# File lib/tokyo_metro/factory/seed/common/info.rb, line 38
def db_class
  self.class.send( method_name_for_db_instance_class )
end
hash_to_db() click to toggle source
# File lib/tokyo_metro/factory/seed/common/info.rb, line 22
def hash_to_db
  raise "#{self.class.name}\##{__method__} is not defined yet."
end
method_name_for_db_instance_class() click to toggle source
# File lib/tokyo_metro/factory/seed/common/info.rb, line 42
def method_name_for_db_instance_class
  :db_instance_class
end
seed_main() click to toggle source
# File lib/tokyo_metro/factory/seed/common/info.rb, line 26
def seed_main
  if @get_id
    @id = db_class.find_or_create_by( hash_to_db ).id
  else
    db_class.find_or_create_by( hash_to_db )
  end
end
seed_optional_infos() click to toggle source
# File lib/tokyo_metro/factory/seed/common/info.rb, line 34
def seed_optional_infos
  nil
end