Class: CafeCar::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#install_controllerObject



41
42
43
44
45
# File 'lib/generators/cafe_car/install/install_generator.rb', line 41

def install_controller
  inject_into_class "app/controllers/application_controller.rb", "ApplicationController" do
    "  include CafeCar::Controller\n"
  end
end

#install_depsObject



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/generators/cafe_car/install/install_generator.rb', line 6

def install_deps
  gem "bcrypt"
  gem "paper_trail"
  gem "factory_bot_rails"
  gem "faker"
  gem "rouge"

  gem_group :development do
    gem "hotwire-livereload"
    gem "better_errors"
    gem "binding_of_caller"
    gem "chrome_devtools_rails"
    gem "i18n-debug"
  end
  bundle_command "install"
end

#install_jsObject



31
32
33
34
35
36
37
38
39
# File 'lib/generators/cafe_car/install/install_generator.rb', line 31

def install_js
  inside "app/javascript" do
    append_to_file "application.js", <<~JS
      import "cafe_car"
      import "trix"
      import "@rails/actiontext"
    JS
  end
end

#install_punditObject



27
28
29
# File 'lib/generators/cafe_car/install/install_generator.rb', line 27

def install_pundit
  template "application_policy.rb", "app/policies/application_policy.rb"
end

#routesObject



23
24
25
# File 'lib/generators/cafe_car/install/install_generator.rb', line 23

def routes
  route %(mount CafeCar::Engine => "/"), namespace: :admin
end