Class: Vue::Generators::ApiFileGenerator
- Inherits:
-
Rails::Generators::NamedBase
- Object
- Rails::Generators::NamedBase
- Vue::Generators::ApiFileGenerator
- Includes:
- Rails::Generators::ResourceHelpers
- Defined in:
- lib/generators/vue/api_file_generator.rb
Instance Method Summary collapse
-
#copy_api_file ⇒ Object
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.
- #write_components ⇒ Object
- #write_export_api ⇒ Object
- #write_import_api_form_index ⇒ Object
Instance Method Details
#copy_api_file ⇒ Object
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
16 17 18 19 |
# 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 ⇒ Object
33 34 35 36 37 38 |
# 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 ⇒ Object
27 28 29 30 31 32 |
# 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 ⇒ Object
21 22 23 24 25 26 |
# 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 |