super_test_engine 0.0.6 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
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