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
:nodoc:.
Constructor Details
#initialize(*args) ⇒ DropzoneInstallGenerator
:nodoc:
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 |