class ActionMosaico::Generators::InstallGenerator

Public Instance Methods

append_javascript_dependencies() click to toggle source
# File lib/generators/action_mosaico/install/install_generator.rb, line 18
      def append_javascript_dependencies
        destination = Pathname(destination_root)

        if (application_javascript_path = destination.join('app/javascript/application.js')).exist?
          insert_into_file application_javascript_path.to_s, %(import "mosaico"\nimport actionmosaico"\n)
        else
          say <<~INSTRUCTIONS, :green
            You must import the actionmosaico and mosaico JavaScript modules in your application entrypoint.
          INSTRUCTIONS
        end

        if (importmap_path = destination.join('config/importmap.rb')).exist?
          append_to_file importmap_path.to_s, %(pin "mosaico"\npin "actionmosaico", to: "actionmosaico.js"\n)
        end
      end
create_actionmosaico_files() click to toggle source
# File lib/generators/action_mosaico/install/install_generator.rb, line 34
def create_actionmosaico_files
end
create_migrations() click to toggle source
# File lib/generators/action_mosaico/install/install_generator.rb, line 44
def create_migrations
  rails_command 'railties:install:migrations FROM=active_storage,action_mosaico', inline: true
end
enable_image_processing_gem() click to toggle source
# File lib/generators/action_mosaico/install/install_generator.rb, line 37
def enable_image_processing_gem
  if (gemfile_path = Pathname(destination_root).join('Gemfile')).exist?
    say 'Ensure image_processing gem has been enabled so image uploads will work (remember to bundle!)'
    uncomment_lines gemfile_path, /gem "image_processing"/
  end
end
install_javascript_dependencies() click to toggle source
# File lib/generators/action_mosaico/install/install_generator.rb, line 11
def install_javascript_dependencies
  if Pathname(destination_root).join('package.json').exist?
    say 'Installing JavaScript dependencies', :green
    run 'yarn add action_mosaico mosaico'
  end
end