class Svelte::InstallGenerator
Constants
- TEMPLATE_DIR
Public Instance Methods
copy_templates()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 16 def copy_templates copy_template(webpack_dir, 'environment.js') copy_template(webpack_dir, 'development.js') copy_template(webpack_dir, 'production.js') copy_template(webpack_dir, 'test.js') copy_template(webpack_dir, 'loaders', 'svelte.js') copy_template(webpack_dir, 'loaders', 'svelte-ssr.js') copy_template(packs_dir, 'server_rendering.js') copy_template(components_dir, 'Hello.svelte') end
create_directories()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 11 def create_directories empty_directory components_dir create_file File.join(components_dir, '.keep') end
install_svelte_ujs()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 40 def install_svelte_ujs `yarn add svelte_ujs_ng svelte-preprocess` end
update_application_entry()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 29 def update_application_entry path = Pathname.new('app/javascript/packs/application.js') content = File.read(File.join(TEMPLATE_DIR, path)) if path.exist? append_file(path, content) else create_file(path, content) end end
Private Instance Methods
components_dir()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 58 def components_dir File.join(js_dir, 'components') end
copy_template(*path_segments)
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 66 def copy_template(*path_segments) source = File.join(*path_segments) template(source, ::Rails.root.join(source)) end
js_dir()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 54 def js_dir packs_dir.parent end
packs_dir()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 50 def packs_dir Webpacker.config.source_entry_path.relative_path_from(::Rails.root) end
rails_dir()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 46 def rails_dir Pathname.new(destination_root).relative_path_from(::Rails.root) end
webpack_dir()
click to toggle source
# File lib/svelte/rails/install_generator.rb, line 62 def webpack_dir File.join(rails_dir, 'config', 'webpack') end