Class: ActionMarkdown::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/action_markdown/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_action_markdown_filesObject



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/generators/action_markdown/install/install_generator.rb', line 10

def create_action_markdown_files
  copy_file(
    "app/assets/stylesheets/action_markdown/action_markdown.css",
    "app/assets/stylesheets/action_markdown.css"
  )

  copy_file(
    "app/assets/stylesheets/action_markdown/action_markdown_toolbar.css",
    "app/assets/stylesheets/action_markdown_toolbar.css"
  )

  copy_file(
    "app/views/action_markdown/contents/_content.html.erb",
    "app/views/action_markdown/contents/_content.html.erb"
  )
end

#create_migrationsObject



6
7
8
# File 'lib/generators/action_markdown/install/install_generator.rb', line 6

def create_migrations
  rails_command "railties:install:migrations FROM=action_markdown", inline: true
end

#install_javascript_dependenciesObject



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/generators/action_markdown/install/install_generator.rb', line 27

def install_javascript_dependencies
  if Rails.root.join("config/importmap.rb").exist?
    say "Import @github/markdown-toolbar-element", :green
    append_to_file "app/javascript/application.js", %(import "@github/markdown-toolbar-element"\n)

    github_lib  = "@github/markdown-toolbar-element"
    github_link = "https://ga.jspm.io/npm:@github/[email protected]/dist/index.js"

    say "Pin #{github_lib}", :green
    append_to_file "config/importmap.rb", %(pin "#{github_lib}", to: "#{github_link}"\n)
  elsif Rails.root.join("package.json").exist?
    say "Import @github/markdown-toolbar-element", :green
    append_to_file "app/javascript/application.js", %(import "@github/markdown-toolbar-element"\n)

    say "Install @github/markdown-toolbar-element", :green
    run "yarn add @github/[email protected]"
  else
    say "      You must either be running with node (package.json) or\n      importmap-rails (config/importmap.rb) to use action_markdown.\n    TEXT\n  end\nend\n".squish, :red