Class: Archipelago::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#create_initializerObject



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/generators/archipelago/install/install_generator.rb', line 14

def create_initializer
  create_file "config/initializers/archipelago.rb", <<~RUBY
    Archipelago.configure do |config|
      config.root_namespace = "Islands"
      config.current_user_method = :current_user
      config.authorize_by_default = true
      config.strict_origin_check = false
      config.allowed_redirect_hosts = []
    end
  RUBY
end

#create_islands_directoryObject



10
11
12
# File 'lib/generators/archipelago/install/install_generator.rb', line 10

def create_islands_directory
  empty_directory "app/islands"
end

#mount_engineObject



26
27
28
29
30
31
32
33
# File 'lib/generators/archipelago/install/install_generator.rb', line 26

def mount_engine
  route_line = "mount Archipelago::Engine => \"/islands\""
  routes_path = "config/routes.rb"

  if File.exist?(routes_path) && !File.read(routes_path).include?(route_line)
    route(route_line)
  end
end


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

def print_next_steps
  say "If package install fails on Yarn mirror, add to .npmrc:"
  say "  @archipelago-js:registry=https://registry.npmjs.org"
  say "Install JS packages: yarn add @archipelago-js/client @archipelago-js/react"
  say "Optional React bootstrap wizard: rails g archipelago:install:react"
  say "Non-interactive mode: rails g archipelago:install:react --interactive=false"
  say "esbuild users get auto-registry wiring by default in install:react"
end