Class: Charming::Generators::ModelGenerator

Inherits:
AppFileGenerator show all
Defined in:
lib/charming/generators/model_generator.rb

Defined Under Namespace

Classes: Field

Constant Summary collapse

VALID_TYPES =
%w[string text integer float decimal boolean date datetime time].freeze

Instance Method Summary collapse

Constructor Details

#initialize(name, args, out:, destination:, force: false) ⇒ ModelGenerator

Returns a new instance of ModelGenerator.



9
10
11
12
# File 'lib/charming/generators/model_generator.rb', line 9

def initialize(name, args, out:, destination:, force: false)
  super
  @fields = args.map { |arg| parse_field(arg) }
end

Instance Method Details

#generateObject

Raises:



14
15
16
17
18
19
20
# File 'lib/charming/generators/model_generator.rb', line 14

def generate
  raise Error, "Database support is not configured. Generate the app with --database sqlite3 first." unless database_configured?

  create_file(model_path, model)
  create_file(migration_path, migration)
  create_file(spec_path, spec)
end