Class: Layered::Ui::Generators::ImportCssGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/layered/ui/import_css_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_css_importObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/generators/layered/ui/import_css_generator.rb', line 7

def add_css_import
  application_css = "app/assets/tailwind/application.css"

  return unless File.exist?(application_css)

  content = File.read(application_css)
  import_line = '@import "./layered_ui";'
  overrides_line = '@import "./layered_ui_overrides";'

  unless content.include?(import_line)
    if content.include?('@import "tailwindcss"')
      inject_into_file application_css, "\n#{import_line}", after: '@import "tailwindcss";'
      say "Added import to #{application_css}", :green
    else
      append_to_file application_css, "\n#{import_line}\n"
      say "Appended import to #{application_css}", :green
    end
  end

  # Re-read in case we just modified it
  content = File.read(application_css)

  unless content.include?(overrides_line)
    inject_into_file application_css, "\n#{overrides_line}", after: import_line
    say "Added overrides import to #{application_css}", :green
  end
end