Class: ReactOnRails::Generators::ProGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
GeneratorHelper, JsDependencyManager, ProSetup
Defined in:
lib/generators/react_on_rails/pro_generator.rb

Constant Summary

Constants included from JsDependencyManager

JsDependencyManager::CSS_DEPENDENCIES, JsDependencyManager::DEV_DEPENDENCIES, JsDependencyManager::PRO_DEPENDENCIES, JsDependencyManager::REACT_DEPENDENCIES, JsDependencyManager::RSC_DEPENDENCIES, JsDependencyManager::RSPACK_DEPENDENCIES, JsDependencyManager::RSPACK_DEV_DEPENDENCIES, JsDependencyManager::SWC_DEPENDENCIES, JsDependencyManager::TYPESCRIPT_DEPENDENCIES

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ProSetup

#missing_pro_gem?, #setup_pro

Methods included from GeneratorHelper

#add_documentation_reference, #add_npm_dependencies, #component_extension, #copy_file_and_missing_parent_directories, #dest_dir_exists?, #dest_file_exists?, #detect_react_version, #empty_directory_with_keep_file, #gem_in_lockfile?, #keep_file, #package_json, #print_generator_messages, #pro_gem_installed?, #resolve_server_client_or_both_path, #setup_file_error, #shakapacker_version_9_or_higher?, #symlink_dest_file_to_dest_file, #use_pro?, #use_rsc?, #using_swc?

Class Method Details

.usage_pathObject



18
19
20
# File 'lib/generators/react_on_rails/pro_generator.rb', line 18

def self.usage_path
  File.expand_path("pro/USAGE", __dir__)
end

Instance Method Details

#run_generatorObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/generators/react_on_rails/pro_generator.rb', line 29

def run_generator
  # When invoked by install_generator, skip prerequisites (parent already validated)
  if options[:invoked_by_install] || prerequisites_met?
    setup_pro
    add_pro_npm_dependencies
    print_success_message unless options[:invoked_by_install]
  else
    GeneratorMessages.add_error(<<~MSG.strip)
      🚫 React on Rails Pro generator prerequisites not met!

      Please resolve the issues listed above before continuing.
    MSG
  end
ensure
  print_generator_messages unless options[:invoked_by_install]
end