Method: Hanami::Sequel::Command.seed

Defined in:
lib/hanami/sequel/commands/seed.rb

.seed(**options) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/hanami/sequel/commands/seed.rb', line 12

def self.seed(**options)
  Hanami::Environment.new             # load DATABASE_URL

  require 'sequel'

  log = Logger.new($stdout)
  db = ::Sequel.connect(ENV.fetch('DATABASE_URL'),
                        loggers: log)
  ::Sequel::Model.db = db

  path = File.join('.', CLI.models_path, '*_model.rb')
  log.level = Logger::WARN
  Dir[path].each { |m| require m }
  log.level = Logger::INFO

  db.transaction do
    s = Hanami::Sequel::Seed
    s.methods(false).each { |m| s.send(m) }
  end
end