Class: RailsVueGenerator::ModelGenerator

Inherits:
BaseGenerator show all
Defined in:
lib/rails_vue_generator/model_generator.rb

Constant Summary

Constants inherited from BaseGenerator

BaseGenerator::IGNORED_CONSTANTS

Instance Method Summary collapse

Methods inherited from BaseGenerator

#models

Constructor Details

#initialize(options = {}) ⇒ ModelGenerator

Returns a new instance of ModelGenerator.



3
4
5
6
# File 'lib/rails_vue_generator/model_generator.rb', line 3

def initialize(options = {})
  options[:path] = File.join(Generator::ROOT_PATH, "src", "views") unless options.key?(:path)
  @options = options
end

Instance Method Details

#generateObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/rails_vue_generator/model_generator.rb', line 8

def generate
  models.map do |model|
    FileUtils.mkdir_p(File.join(@options[:path], model.to_s.downcase))
    puts "Writing #{File.join(@options[:path], model.to_s.downcase, "index.vue")}"
    puts File.write(File.join(@options[:path], model.to_s.downcase, "index.vue"), Handlers::IndexHandler.new(model).generate)
    puts "Writing #{File.join(@options[:path], model.to_s.downcase, "show.vue")}"
    puts File.write(File.join(@options[:path], model.to_s.downcase, "show.vue"), Handlers::ShowHandler.new(model).generate)
    puts "Writing #{File.join(@options[:path], model.to_s.downcase, "edit.vue")}"
    puts File.write(File.join(@options[:path], model.to_s.downcase, "edit.vue"), Handlers::EditHandler.new(model).generate)
  end
end