Class: UploadcareImportmapGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- UploadcareImportmapGenerator
- Defined in:
- lib/generators/uploadcare_importmap_generator.rb
Overview
A generator that sets up Uploadcare File Uploader for Rails importmap
Instance Method Summary collapse
- #add_importmap_pins ⇒ Object
- #create_uploadcare_initializer ⇒ Object
- #show_post_install_message ⇒ Object
Instance Method Details
#add_importmap_pins ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/generators/uploadcare_importmap_generator.rb', line 9 def add_importmap_pins return unless importmap_path.exist? append_to_file importmap_path do <<~RUBY # Uploadcare File Uploader pin "@uploadcare/file-uploader", to: "https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@v1/web/file-uploader.min.js" pin "uploadcare" RUBY end say_status :pin, "@uploadcare/file-uploader" say_status :pin, "uploadcare" end |
#create_uploadcare_initializer ⇒ Object
25 26 27 |
# File 'lib/generators/uploadcare_importmap_generator.rb', line 25 def create_uploadcare_initializer copy_file "uploadcare_js_initializer.js", "app/javascript/uploadcare.js" end |
#show_post_install_message ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/generators/uploadcare_importmap_generator.rb', line 29 def say "" say "=" * 60 say "Uploadcare File Uploader setup complete!", :green say "=" * 60 say "" say "Next steps:" say "" say "1. Add the Uploadcare stylesheet to your layout (e.g. app/views/layouts/application.html.erb):" say ' <%= stylesheet_link_tag "https://cdn.jsdelivr.net/npm/@uploadcare/file-uploader@v1/web/uc-file-uploader-regular.min.css" %>', :cyan say "" say "2. Import the initializer in your application.js:" say ' import "uploadcare"', :cyan say "" say "3. Add the config and uploader to your views:" say ' <%= uploadcare_config_tag(ctx_name: "my-uploader") %>', :cyan say ' <%= uploadcare_uploader_field :post, :image, ctx_name: "my-uploader" %>', :cyan say "" say "4. (Optional) Customize the JavaScript in app/javascript/uploadcare.js" say "" end |