Class: Synthra::Generators::InstallGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- Synthra::Generators::InstallGenerator
- Defined in:
- lib/generators/synthra/install_generator.rb
Overview
Rails generator for setting up Synthra in a Rails application
Instance Method Summary collapse
- #add_gitignore_entries ⇒ Object
- #create_config_file ⇒ Object
- #create_generated_directory ⇒ Object
- #create_rake_tasks ⇒ Object
- #create_rspec_support ⇒ Object
- #create_schemas_directory ⇒ Object
- #show_readme ⇒ Object
Instance Method Details
#add_gitignore_entries ⇒ Object
49 50 51 52 53 54 55 56 57 58 |
# File 'lib/generators/synthra/install_generator.rb', line 49 def add_gitignore_entries append_to_file ".gitignore", <<~GITIGNORE # Synthra generated files /generated/types/* /generated/mocks/* /generated/docs/* !/generated/*/.gitkeep GITIGNORE end |
#create_config_file ⇒ Object
17 18 19 |
# File 'lib/generators/synthra/install_generator.rb', line 17 def create_config_file template "synthra.yml", "config/synthra.yml" end |
#create_generated_directory ⇒ Object
27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/generators/synthra/install_generator.rb', line 27 def create_generated_directory empty_directory "generated" empty_directory "generated/types" empty_directory "generated/mocks" empty_directory "generated/docs" create_file "generated/.gitkeep" create_file "generated/types/.gitkeep" create_file "generated/mocks/.gitkeep" create_file "generated/docs/.gitkeep" end |
#create_rake_tasks ⇒ Object
45 46 47 |
# File 'lib/generators/synthra/install_generator.rb', line 45 def create_rake_tasks template "fake_data.rake", "lib/tasks/fake_data.rake" end |
#create_rspec_support ⇒ Object
39 40 41 42 43 |
# File 'lib/generators/synthra/install_generator.rb', line 39 def create_rspec_support return unless File.exist?("spec/spec_helper.rb") template "synthra_support.rb", "spec/support/synthra.rb" end |
#create_schemas_directory ⇒ Object
21 22 23 24 25 |
# File 'lib/generators/synthra/install_generator.rb', line 21 def create_schemas_directory empty_directory "schemas" template "user.dsl", "schemas/user.dsl" template "api_response.dsl", "schemas/api_response.dsl" end |
#show_readme ⇒ Object
60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/generators/synthra/install_generator.rb', line 60 def show_readme say "" say "=" * 60, :green say " Synthra installed successfully! 🎉", :green say "=" * 60, :green say "" say "Next steps:", :yellow say "" say " 1. Edit your schemas in schemas/" say " 2. Generate TypeScript types:" say " rails fake_data:types", :cyan say "" say " 3. Generate mock data:" say " rails fake_data:mocks", :cyan say "" say " 4. Start live preview server:" say " rails fake_data:live", :cyan say "" say " 5. Run schema linter:" say " rails fake_data:lint", :cyan say "" say "Documentation: https://github.com/talaatmagdyx/synthra" say "" end |