Sha256: 089c1f384def7bdd77661e10b9c3f4fb53a7766208650d77a98170705457e275

Contents?: true

Size: 959 Bytes

Versions: 2

Compression:

Stored size: 959 Bytes

Contents

require "rails/generators/named_base"

class CssZero::InstallGenerator < Rails::Generators::Base
  source_root File.expand_path("templates", __dir__)

  def copy_base_css
    copy_file "app/assets/stylesheets/base.css"
  end

  def copy_javascript_helpers
    directory "app/javascript/helpers"
  end

  def pin_javascript_helpers
    return unless install_with_importmap?
    append_to_file "config/importmap.rb", %(pin_all_from "app/javascript/helpers", under: "helpers"\n)
  end

  def copy_javascript_initializers
    copy_file "app/javascript/initializers/index.js"
  end

  def pin_javascript_initializers
    return unless install_with_importmap?
    append_to_file "config/importmap.rb", %(pin_all_from "app/javascript/initializers", under: "initializers"\n)
    append_to_file "app/javascript/application.js", %(import "initializers"\n)
  end

  private
    def install_with_importmap?
      Rails.root.join("config/importmap.rb").exist?
    end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
css-zero-0.0.50 lib/generators/css_zero/install/install_generator.rb
css-zero-0.0.49 lib/generators/css_zero/install/install_generator.rb