class Vue::Generators::ApiFileGenerator

Public Instance Methods

copy_api_file() click to toggle source

def the_api_init

unless File.exist?(Rails.root.join("app/javascript/packs/api", "index.js"))
  create_file "app/javascript/packs/api/index.js", 'export default {}'
end 
unless File.exist?(Rails.root.join("app/javascript/packs/api", "methods.js"))
  copy_file 'methods.js', "app/javascript/packs/api/methods.js"
end

end

# File lib/generators/vue/api_file_generator.rb, line 16
def copy_api_file
  log :copy_api, controller_file_path
  template "javascript/api.js", "app/javascript/packs/api/res/#{controller_file_path}.js"
end
write_components() click to toggle source
# File lib/generators/vue/api_file_generator.rb, line 33
def write_components
  sentinel = /<template>\s*\n*<ul>\s*\n*/m
  content = "<li><router-link to='/#{controller_file_path}'>#{controller_file_path.capitalize}</router-link></li>\n"
  log :add_components, controller_file_path
  inject_into_file "app/javascript/packs/components/SideBar.vue", content, after: sentinel, verbose: false, force: false
end
write_export_api() click to toggle source
# File lib/generators/vue/api_file_generator.rb, line 27
def write_export_api
  sentinel = /export default\s*{\n*/m
  content = "#{controller_file_path},\n"
  log :export_api, controller_file_path
  inject_into_file "app/javascript/packs/api/index.js", content, after: sentinel, verbose: false, force: false
end
write_import_api_form_index() click to toggle source
# File lib/generators/vue/api_file_generator.rb, line 21
def write_import_api_form_index
  sentinel = /export default\s*{\s*/m
  content = "import #{controller_file_path} from './res/#{controller_file_path}' \n"
  log :import_api, content
  inject_into_file "app/javascript/packs/api/index.js", content, before: sentinel, verbose: false, force: false
end