super_test_engine 0.0.6 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +7 -21
- data/lib/super_test_engine.rb +1 -3
- data/lib/super_test_engine/copy_app_templates/controllers/favorite_things_controller.rb +50 -0
- data/lib/super_test_engine/copy_app_templates/controllers/members_controller.rb +57 -0
- data/lib/super_test_engine/copy_app_templates/controllers/ships_controller.rb +47 -0
- data/{db/migrate → lib/super_test_engine/copy_app_templates/migrations}/20190216224956_create_members.rb +0 -0
- data/lib/super_test_engine/copy_app_templates/migrations/20190803143320_create_ships.rb +11 -0
- data/lib/super_test_engine/copy_app_templates/migrations/20190806014121_add_ship_to_members.rb +5 -0
- data/lib/super_test_engine/copy_app_templates/migrations/20191126050453_create_favorite_things.rb +10 -0
- data/lib/super_test_engine/copy_app_templates/models/favorite_thing.rb +7 -0
- data/{app → lib/super_test_engine/copy_app_templates}/models/member.rb +10 -0
- data/lib/super_test_engine/copy_app_templates/models/ship.rb +3 -0
- data/lib/super_test_engine/copy_app_templates/routes.rb +11 -0
- data/lib/super_test_engine/copy_app_templates/seeds.rb +2 -0
- data/lib/super_test_engine/copy_app_templates/views/members/_favorite_things.html.erb +11 -0
- data/lib/super_test_engine/copy_app_templates/views/members/show.html.erb +11 -0
- data/lib/super_test_engine/fixtures/favorite_things.yml +9 -0
- data/{test → lib/super_test_engine}/fixtures/members.yml +56 -0
- data/lib/super_test_engine/fixtures/ships.yml +10 -0
- data/lib/super_test_engine/generate_copy_app.rb +49 -0
- data/lib/super_test_engine/generate_dummy.rb +98 -0
- data/lib/super_test_engine/starfleet_seeder.rb +50 -0
- data/super_test_engine.gemspec +23 -0
- metadata +47 -28
- data/MIT-LICENSE +0 -20
- data/Rakefile +0 -32
- data/app/controllers/admin/members_controller.rb +0 -9
- data/app/controllers/admin_controller.rb +0 -2
- data/app/dashboards/member_dashboard.rb +0 -81
- data/config/routes.rb +0 -5
- data/db/seeds.rb +0 -34
- data/lib/generators/super_test_engine/dummy/USAGE +0 -8
- data/lib/generators/super_test_engine/dummy/dummy_generator.rb +0 -108
- data/lib/generators/super_test_engine/dummy/templates/db_seeds.rb.tt +0 -1
- data/lib/super_test_engine/engine.rb +0 -9
- data/lib/super_test_engine/version.rb +0 -3
    
        data/config/routes.rb
    DELETED
    
    
    
        data/db/seeds.rb
    DELETED
    
    | @@ -1,34 +0,0 @@ | |
| 1 | 
            -
            class EnterpriseSeeder
         | 
| 2 | 
            -
              def initialize
         | 
| 3 | 
            -
                @seeded = {}
         | 
| 4 | 
            -
              end
         | 
| 5 | 
            -
             | 
| 6 | 
            -
              def seed(basename, key, klass, value)
         | 
| 7 | 
            -
                @seeded[basename] ||= {}
         | 
| 8 | 
            -
                puts "--> #{key} (#{value})"
         | 
| 9 | 
            -
                @seeded[basename][key] = klass.find_or_create_by(value)
         | 
| 10 | 
            -
                puts "    success!"
         | 
| 11 | 
            -
              rescue => e
         | 
| 12 | 
            -
                puts "    failure (#{e.message})"
         | 
| 13 | 
            -
              end
         | 
| 14 | 
            -
             | 
| 15 | 
            -
              def seed_from_fixture(basename, klass)
         | 
| 16 | 
            -
                puts "==> #{basename}"
         | 
| 17 | 
            -
                fixtures(basename).each do |key, value|
         | 
| 18 | 
            -
                  seed(basename, key, klass, value)
         | 
| 19 | 
            -
                end
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                nil
         | 
| 22 | 
            -
              end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
              private
         | 
| 25 | 
            -
             | 
| 26 | 
            -
              def fixtures(basename)
         | 
| 27 | 
            -
                @fixtures_dir ||= Pathname.new("../test/fixtures").expand_path(__dir__)
         | 
| 28 | 
            -
             | 
| 29 | 
            -
                YAML.load_file(@fixtures_dir.join("#{basename}.yml"))
         | 
| 30 | 
            -
              end
         | 
| 31 | 
            -
            end
         | 
| 32 | 
            -
             | 
| 33 | 
            -
            seeder = EnterpriseSeeder.new
         | 
| 34 | 
            -
            seeder.seed_from_fixture("members", Member)
         | 
| @@ -1,108 +0,0 @@ | |
| 1 | 
            -
            require "fileutils"
         | 
| 2 | 
            -
            require "tmpdir"
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            require "rails"
         | 
| 5 | 
            -
            require "rails/generators/rails/app/app_generator"
         | 
| 6 | 
            -
            require "rails/generators/rails/plugin/plugin_generator"
         | 
| 7 | 
            -
            require "generators/super/install/install_generator"
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            Rails::Generators::AppGenerator
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            module Rails
         | 
| 12 | 
            -
              module Generators
         | 
| 13 | 
            -
                class AppGenerator
         | 
| 14 | 
            -
                  def valid_const?
         | 
| 15 | 
            -
                    true
         | 
| 16 | 
            -
                  end
         | 
| 17 | 
            -
                end
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                class PluginGenerator
         | 
| 20 | 
            -
                  def valid_const?
         | 
| 21 | 
            -
                    true
         | 
| 22 | 
            -
                  end
         | 
| 23 | 
            -
                end
         | 
| 24 | 
            -
              end
         | 
| 25 | 
            -
            end
         | 
| 26 | 
            -
             | 
| 27 | 
            -
            module SuperTestEngine
         | 
| 28 | 
            -
              class DummyGenerator < Rails::Generators::Base
         | 
| 29 | 
            -
                source_root(File.expand_path("templates", __dir__))
         | 
| 30 | 
            -
             | 
| 31 | 
            -
                def create_new_plugin
         | 
| 32 | 
            -
                  if plugin_name.blank?
         | 
| 33 | 
            -
                    warn "Not currently in a plugin directory"
         | 
| 34 | 
            -
                    exit
         | 
| 35 | 
            -
                  end
         | 
| 36 | 
            -
             | 
| 37 | 
            -
                  opts = {
         | 
| 38 | 
            -
                    force: true,
         | 
| 39 | 
            -
                    skip_active_storage: true,
         | 
| 40 | 
            -
                    skip_action_mailer: true,
         | 
| 41 | 
            -
                    skip_action_cable: true,
         | 
| 42 | 
            -
                    skip_puma: true,
         | 
| 43 | 
            -
                    skip_coffee: true,
         | 
| 44 | 
            -
                    database: "sqlite3",
         | 
| 45 | 
            -
                  }
         | 
| 46 | 
            -
             | 
| 47 | 
            -
                  Dir.mktmpdir do |dir|
         | 
| 48 | 
            -
                    plugin_path = File.join(dir, plugin_name)
         | 
| 49 | 
            -
                    new_dummy_path = File.join(plugin_path, "test/dummy")
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                    invoke(Rails::Generators::PluginGenerator, [plugin_path], opts)
         | 
| 52 | 
            -
             | 
| 53 | 
            -
                    inside(new_dummy_path) do
         | 
| 54 | 
            -
                      remove_file(".ruby-version")
         | 
| 55 | 
            -
                    end
         | 
| 56 | 
            -
             | 
| 57 | 
            -
                    FileUtils.rm_rf(dummy_path)
         | 
| 58 | 
            -
                    FileUtils.mv(new_dummy_path, dummy_path)
         | 
| 59 | 
            -
                  end
         | 
| 60 | 
            -
                end
         | 
| 61 | 
            -
             | 
| 62 | 
            -
                def delete_unnecessary_files
         | 
| 63 | 
            -
                  inside(dummy_path) do
         | 
| 64 | 
            -
                    remove_file("app/assets/javascripts/cable.js")
         | 
| 65 | 
            -
                    remove_file("app/channels/")
         | 
| 66 | 
            -
                  end
         | 
| 67 | 
            -
                end
         | 
| 68 | 
            -
             | 
| 69 | 
            -
                def apply_required_changes
         | 
| 70 | 
            -
                  template("db_seeds.rb.tt", File.join(dummy_path, "db/seeds.rb"))
         | 
| 71 | 
            -
             | 
| 72 | 
            -
                  insert_into_file(
         | 
| 73 | 
            -
                    File.join(dummy_path, "config/application.rb"),
         | 
| 74 | 
            -
                    %(require "super_test_engine"\n),
         | 
| 75 | 
            -
                    before: "\nmodule Dummy\n"
         | 
| 76 | 
            -
                  )
         | 
| 77 | 
            -
             | 
| 78 | 
            -
                  inside(dummy_path) do
         | 
| 79 | 
            -
                    invoke(Super::InstallGenerator, [], {})
         | 
| 80 | 
            -
                    remove_file("app/controllers/admin/")
         | 
| 81 | 
            -
                    remove_file("app/controllers/admin_controller.rb")
         | 
| 82 | 
            -
                    remove_file("app/super/")
         | 
| 83 | 
            -
                  end
         | 
| 84 | 
            -
             | 
| 85 | 
            -
                  rake("db:create")
         | 
| 86 | 
            -
                  rake("db:migrate")
         | 
| 87 | 
            -
                end
         | 
| 88 | 
            -
             | 
| 89 | 
            -
                private
         | 
| 90 | 
            -
             | 
| 91 | 
            -
                def dummy_path
         | 
| 92 | 
            -
                  @dummy_path ||= File.expand_path("test/dummy", destination_root)
         | 
| 93 | 
            -
                end
         | 
| 94 | 
            -
             | 
| 95 | 
            -
                def plugin_name
         | 
| 96 | 
            -
                  @plugin_name ||=
         | 
| 97 | 
            -
                    begin
         | 
| 98 | 
            -
                      filename = Dir.glob("*.gemspec").first
         | 
| 99 | 
            -
             | 
| 100 | 
            -
                      if filename.present?
         | 
| 101 | 
            -
                        File.basename(filename, ".gemspec")
         | 
| 102 | 
            -
                      else
         | 
| 103 | 
            -
                        ""
         | 
| 104 | 
            -
                      end
         | 
| 105 | 
            -
                    end
         | 
| 106 | 
            -
                end
         | 
| 107 | 
            -
              end
         | 
| 108 | 
            -
            end
         | 
| @@ -1 +0,0 @@ | |
| 1 | 
            -
            SuperTestEngine::Engine.load_seed
         |