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.
Files changed (37) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +7 -21
  3. data/lib/super_test_engine.rb +1 -3
  4. data/lib/super_test_engine/copy_app_templates/controllers/favorite_things_controller.rb +50 -0
  5. data/lib/super_test_engine/copy_app_templates/controllers/members_controller.rb +57 -0
  6. data/lib/super_test_engine/copy_app_templates/controllers/ships_controller.rb +47 -0
  7. data/{db/migrate → lib/super_test_engine/copy_app_templates/migrations}/20190216224956_create_members.rb +0 -0
  8. data/lib/super_test_engine/copy_app_templates/migrations/20190803143320_create_ships.rb +11 -0
  9. data/lib/super_test_engine/copy_app_templates/migrations/20190806014121_add_ship_to_members.rb +5 -0
  10. data/lib/super_test_engine/copy_app_templates/migrations/20191126050453_create_favorite_things.rb +10 -0
  11. data/lib/super_test_engine/copy_app_templates/models/favorite_thing.rb +7 -0
  12. data/{app → lib/super_test_engine/copy_app_templates}/models/member.rb +10 -0
  13. data/lib/super_test_engine/copy_app_templates/models/ship.rb +3 -0
  14. data/lib/super_test_engine/copy_app_templates/routes.rb +11 -0
  15. data/lib/super_test_engine/copy_app_templates/seeds.rb +2 -0
  16. data/lib/super_test_engine/copy_app_templates/views/members/_favorite_things.html.erb +11 -0
  17. data/lib/super_test_engine/copy_app_templates/views/members/show.html.erb +11 -0
  18. data/lib/super_test_engine/fixtures/favorite_things.yml +9 -0
  19. data/{test → lib/super_test_engine}/fixtures/members.yml +56 -0
  20. data/lib/super_test_engine/fixtures/ships.yml +10 -0
  21. data/lib/super_test_engine/generate_copy_app.rb +49 -0
  22. data/lib/super_test_engine/generate_dummy.rb +98 -0
  23. data/lib/super_test_engine/starfleet_seeder.rb +50 -0
  24. data/super_test_engine.gemspec +23 -0
  25. metadata +47 -28
  26. data/MIT-LICENSE +0 -20
  27. data/Rakefile +0 -32
  28. data/app/controllers/admin/members_controller.rb +0 -9
  29. data/app/controllers/admin_controller.rb +0 -2
  30. data/app/dashboards/member_dashboard.rb +0 -81
  31. data/config/routes.rb +0 -5
  32. data/db/seeds.rb +0 -34
  33. data/lib/generators/super_test_engine/dummy/USAGE +0 -8
  34. data/lib/generators/super_test_engine/dummy/dummy_generator.rb +0 -108
  35. data/lib/generators/super_test_engine/dummy/templates/db_seeds.rb.tt +0 -1
  36. data/lib/super_test_engine/engine.rb +0 -9
  37. data/lib/super_test_engine/version.rb +0 -3
@@ -1,5 +0,0 @@
1
- Rails.application.routes.draw do
2
- namespace :admin do
3
- resources :members
4
- end
5
- end
@@ -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,8 +0,0 @@
1
- Description:
2
- Deletes the existing test dummy application and recreates it
3
-
4
- Example:
5
- rails generate super_test_engine:dummy
6
-
7
- This will create:
8
- test/dummy/
@@ -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
@@ -1,9 +0,0 @@
1
- module SuperTestEngine
2
- class Engine < ::Rails::Engine
3
- isolate_namespace SuperTestEngine
4
-
5
- initializer "config.paths" do |app|
6
- app.config.paths["db/migrate"].push(*config.paths["db/migrate"].expanded)
7
- end
8
- end
9
- end
@@ -1,3 +0,0 @@
1
- module SuperTestEngine
2
- VERSION = "0.0.6"
3
- end