Class: BaseEditingBootstrap::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#create_initializerObject



8
9
10
11
12
# File 'lib/generators/base_editing_bootstrap/install/install_generator.rb', line 8

def create_initializer
  initializer_file_name = "initializer.rb"
  destination = File.join('config', 'initializers', "base_editing_bootstrap.rb")
  template initializer_file_name, destination
end

#install_and_configure_punditObject



14
15
16
17
# File 'lib/generators/base_editing_bootstrap/install/install_generator.rb', line 14

def install_and_configure_pundit
  generate "pundit:install"
  inject_into_class "app/controllers/application_controller.rb", "ApplicationController", "  include Pundit::Authorization\n"
end

#install_nested_attributes_dependenciesObject



34
35
36
37
38
39
40
41
42
# File 'lib/generators/base_editing_bootstrap/install/install_generator.rb', line 34

def install_nested_attributes_dependencies
  # attualmente penso sia più sensato semplicemente scrivere a video i passaggi necessari, dato che
  # potrebbe essere già presente importmap, nested_attribute_controller e le varie configurazioni

  say "Install dependencies for nested attributes:"
  say "   bin/importmap pin @stimulus-components/rails-nested-form"
  say "Attiva quindi come spiegato qua: https://www.stimulus-components.com/docs/stimulus-rails-nested-form il controller"

end

#prepare_test_environmentObject



19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/generators/base_editing_bootstrap/install/install_generator.rb', line 19

def prepare_test_environment
  actual_gemfile_path = File.join(@destination_stack, "Gemfile")
  if File.exist?(actual_gemfile_path)
    actual_gemfile = File.read(File.join(@destination_stack, "Gemfile"))
  else
    actual_gemfile = ''
  end
  unless actual_gemfile =~ /factory_bot_rails/
    gem "factory_bot_rails", group: :test, version: '~> 6.4', comment: "Necessary for spec"
  end
  unless actual_gemfile =~ /rails-controller-test/
    gem 'rails-controller-testing', group: :test, comment: "Required if used with controllers spec"
  end
end