class RailsVueGenerator::RouterGenerator

Public Class Methods

new(options = {}) click to toggle source
# File lib/rails_vue_generator/router_generator.rb, line 3
def initialize(options = {})
  options[:path] = File.join(Generator::ROOT_PATH, "src", "router") unless options.key?(:path)
  options[:filename] = "index.js" unless options.key?(:filename)
  @options = options
end

Public Instance Methods

generate() click to toggle source
# File lib/rails_vue_generator/router_generator.rb, line 9
def generate
  FileUtils.mkdir_p(@options[:path])
  routes = []
  models.each do |model|
    routes += Handlers::RouterHandler.new(model).generate
  end
  File.write(File.join(@options[:path], @options[:filename]), "import Vue from 'vue'\nimport VueRouter from 'vue-router'\nVue.use(VueRouter)\nconst routes = [" + routes.join + "]\nconst router = new VueRouter({\nmode: 'history',\nbase: process.env.BASE_URL,\nroutes\n})\nexport default router\n")
end