class RailsVueGenerator::ApiGenerator

Public Class Methods

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

Public Instance Methods

generate() click to toggle source
# File lib/rails_vue_generator/api_generator.rb, line 9
def generate
  FileUtils.mkdir_p(@options[:path])
  index_lines = []
  models.each do |model|
    index_lines << "import #{model.to_s.downcase} from '@/api/#{model.to_s.downcase}'"
  end
  index_lines << ""
  index_lines << "export default {"
  models.each do |model|
    index_lines << "  #{model.to_s.downcase}: #{model.to_s.downcase},"
  end 
  index_lines << "}"
  File.write(File.join(@options[:path], "index.js"), index_lines.join("\n") )
  
  models.map{|model| File.write(File.join(@options[:path], "#{model.to_s.downcase}.js"), Handlers::ApiHandler.new(model).generate) }
end