Class: HotGlue::DropzoneInstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- HotGlue::DropzoneInstallGenerator
- Defined in:
- lib/generators/hot_glue/dropzone_install_generator.rb
Instance Method Summary collapse
- #filepath_prefix ⇒ Object
-
#initialize(*args) ⇒ DropzoneInstallGenerator
constructor
A new instance of DropzoneInstallGenerator.
Constructor Details
#initialize(*args) ⇒ DropzoneInstallGenerator
Returns a new instance of DropzoneInstallGenerator.
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/hot_glue/dropzone_install_generator.rb', line 11 def initialize(*args) #:nodoc: super system("./bin/rails generate stimulus Dropzone") copy_file "javascript/dropzone_controller.js", "#{filepath_prefix}app/javascript/controllers/dropzone_controller.js" puts "HOT GLUE --> copying dropzone stimulus controller into app/javascript/controllers/dropzone_controller.js" if File.exist?("#{filepath_prefix}app/assets/stylesheets/application.bootstrap.scss") scss_file = "#{filepath_prefix}app/assets/stylesheets/application.bootstrap.scss" elsif File.exist?("#{filepath_prefix}app/assets/stylesheets/application.scss") scss_file = "#{filepath_prefix}app/assets/stylesheets/application.scss" else raise HotGlue::Error, "Could not detect your stylesheet, aborting..." end file_contents = File.read(scss_file) if !file_contents.include?("@import \"dropzone/dist/dropzone\"") file_contents << "\n@import \"dropzone/dist/dropzone\";\n@import \"dropzone/dist/basic\";" File.write(scss_file, file_contents) puts " HOTGLUE --> added to #{scss_file}: @import dropzone ... " else puts " HOTGLUE --> #{scss_file} already contains @import dropzone" end end |
Instance Method Details
#filepath_prefix ⇒ Object
5 6 7 8 |
# File 'lib/generators/hot_glue/dropzone_install_generator.rb', line 5 def filepath_prefix # todo: inject the context 'spec/dummy/' if $INTERNAL_SPECS end |