Class: Charming::DatabaseInstaller

Inherits:
Object
  • Object
show all
Defined in:
lib/charming/database_installer.rb

Instance Method Summary collapse

Constructor Details

#initialize(database, out:, destination:) ⇒ DatabaseInstaller

Returns a new instance of DatabaseInstaller.



7
8
9
10
11
12
# File 'lib/charming/database_installer.rb', line 7

def initialize(database, out:, destination:)
  @database = database
  @out = out
  @destination = destination
  @app_name = Generators::Name.new(app_name_from_gemspec)
end

Instance Method Details

#installObject

Raises:



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/charming/database_installer.rb', line 14

def install
  raise Generators::Error, "Unsupported database: #{database.inspect}" unless database == "sqlite3"

  create_file("config/database.rb", database_config)
  create_file("app/models/application_record.rb", application_record)
  create_file("db/migrate/.keep", "")
  create_file("db/seeds.rb", %(# frozen_string_literal: true
))
  update_gemspec
  update_root_file
end