super 0.0.2 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (110) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +11 -0
  3. data/README.md +68 -76
  4. data/app/assets/javascripts/super/application.js +1252 -316
  5. data/app/assets/stylesheets/super/application.css +102704 -17321
  6. data/app/controllers/super/application_controller.rb +49 -71
  7. data/app/views/layouts/super/application.html.erb +10 -8
  8. data/app/views/super/application/_collection_header.html.erb +15 -0
  9. data/app/views/super/application/_filter.html.erb +14 -0
  10. data/app/views/super/application/_filter_type_select.html.erb +31 -0
  11. data/app/views/super/application/_filter_type_text.html.erb +22 -0
  12. data/app/views/super/application/_filter_type_timestamp.html.erb +35 -0
  13. data/app/views/super/application/_flash.html.erb +13 -13
  14. data/app/views/super/application/_form_field__destroy.html.erb +9 -0
  15. data/app/views/super/application/_form_field_select.html.erb +23 -0
  16. data/app/views/super/application/_form_field_text.html.erb +13 -0
  17. data/app/views/super/application/_form_fieldset.html.erb +8 -0
  18. data/app/views/super/application/_form_has_many.html.erb +21 -0
  19. data/app/views/super/application/_form_has_one.html.erb +11 -0
  20. data/app/views/super/application/_form_inline_errors.html.erb +10 -0
  21. data/app/views/super/application/_member_header.html.erb +16 -0
  22. data/app/views/super/application/_super_layout.html.erb +29 -0
  23. data/app/views/super/application/_super_pagination.html.erb +16 -0
  24. data/app/views/super/application/_super_panel.html.erb +7 -0
  25. data/app/views/super/application/_super_schema_display_actions.html.erb +5 -0
  26. data/app/views/super/application/_super_schema_display_index.html.erb +24 -0
  27. data/app/views/super/application/_super_schema_display_show.html.erb +8 -0
  28. data/app/views/super/application/_super_schema_form.html.erb +15 -0
  29. data/app/views/super/application/edit.html.erb +1 -6
  30. data/app/views/super/application/index.html.erb +1 -1
  31. data/app/views/super/application/new.html.erb +1 -6
  32. data/app/views/super/application/show.html.erb +1 -1
  33. data/app/views/super/feather/{_chevron_down.svg → _chevron_down.html} +0 -0
  34. data/config/locales/en.yml +5 -0
  35. data/docs/README.md +6 -0
  36. data/docs/cheat.md +41 -0
  37. data/docs/faq.md +44 -0
  38. data/docs/quick_start.md +45 -0
  39. data/docs/webpacker.md +17 -0
  40. data/docs/yard_customizations.rb +41 -0
  41. data/frontend/super-frontend/build.js +14 -12
  42. data/frontend/super-frontend/dist/application.css +102704 -17321
  43. data/frontend/super-frontend/dist/application.js +1252 -316
  44. data/frontend/super-frontend/package.json +11 -4
  45. data/frontend/super-frontend/postcss.config.js +4 -4
  46. data/frontend/super-frontend/src/javascripts/super/application.ts +18 -0
  47. data/frontend/super-frontend/src/javascripts/super/apply_template_controller.ts +19 -0
  48. data/frontend/super-frontend/src/javascripts/super/rails__ujs.d.ts +1 -0
  49. data/frontend/super-frontend/src/javascripts/super/toggle_pending_destruction_controller.ts +15 -0
  50. data/frontend/super-frontend/src/stylesheets/super/application.css +63 -0
  51. data/frontend/super-frontend/tailwind.config.js +12 -4
  52. data/frontend/super-frontend/tsconfig.json +13 -0
  53. data/frontend/super-frontend/yarn.lock +1891 -1798
  54. data/lib/generators/super/install/install_generator.rb +16 -0
  55. data/lib/generators/super/webpacker/webpacker_generator.rb +8 -0
  56. data/lib/super.rb +16 -6
  57. data/lib/super/action_inquirer.rb +14 -1
  58. data/lib/super/assets.rb +1 -0
  59. data/lib/super/client_error.rb +43 -0
  60. data/lib/super/compatibility.rb +25 -0
  61. data/lib/super/configuration.rb +66 -44
  62. data/lib/super/controls.rb +26 -15
  63. data/lib/super/controls/optional.rb +54 -0
  64. data/lib/super/controls/required.rb +41 -0
  65. data/lib/super/controls/steps.rb +128 -0
  66. data/lib/super/display/schema_types.rb +90 -18
  67. data/lib/super/engine.rb +7 -0
  68. data/lib/super/error.rb +9 -8
  69. data/lib/super/filter.rb +137 -0
  70. data/lib/super/filter/operator.rb +103 -0
  71. data/lib/super/filter/schema_types.rb +118 -0
  72. data/lib/super/form.rb +48 -0
  73. data/lib/super/form/schema_types.rb +96 -21
  74. data/lib/super/layout.rb +47 -0
  75. data/lib/super/link.rb +110 -0
  76. data/lib/super/navigation/automatic.rb +2 -0
  77. data/lib/super/pagination.rb +80 -8
  78. data/lib/super/panel.rb +30 -0
  79. data/lib/super/partial.rb +23 -0
  80. data/lib/super/partial/resolving.rb +24 -0
  81. data/lib/super/plugin.rb +34 -63
  82. data/lib/super/schema.rb +65 -1
  83. data/lib/super/version.rb +1 -1
  84. data/lib/super/view_helper.rb +43 -0
  85. metadata +132 -33
  86. data/app/views/super/application/_form.html.erb +0 -15
  87. data/app/views/super/application/_form_field.html.erb +0 -7
  88. data/app/views/super/application/_form_generic_select.html.erb +0 -19
  89. data/app/views/super/application/_form_generic_text.html.erb +0 -7
  90. data/app/views/super/application/_index.html.erb +0 -60
  91. data/app/views/super/application/_show.html.erb +0 -12
  92. data/frontend/super-frontend/src/javascripts/super/application.js +0 -11
  93. data/lib/super/display.rb +0 -9
  94. data/lib/super/inline_callback.rb +0 -82
  95. data/lib/super/test_support/copy_app_templates/20190216224956_create_members.rb +0 -11
  96. data/lib/super/test_support/copy_app_templates/20190803143320_create_ships.rb +0 -11
  97. data/lib/super/test_support/copy_app_templates/20190806014121_add_ship_to_members.rb +0 -5
  98. data/lib/super/test_support/copy_app_templates/member.rb +0 -16
  99. data/lib/super/test_support/copy_app_templates/members_controller.rb +0 -52
  100. data/lib/super/test_support/copy_app_templates/routes.rb +0 -10
  101. data/lib/super/test_support/copy_app_templates/seeds.rb +0 -2
  102. data/lib/super/test_support/copy_app_templates/ship.rb +0 -3
  103. data/lib/super/test_support/copy_app_templates/ships_controller.rb +0 -47
  104. data/lib/super/test_support/fixtures/members.yml +0 -336
  105. data/lib/super/test_support/fixtures/ships.yml +0 -10
  106. data/lib/super/test_support/generate_copy_app.rb +0 -52
  107. data/lib/super/test_support/generate_dummy.rb +0 -94
  108. data/lib/super/test_support/starfleet_seeder.rb +0 -49
  109. data/lib/super/view.rb +0 -25
  110. data/lib/tasks/super_tasks.rake +0 -4
@@ -1,10 +0,0 @@
1
- ---
2
- uss_enterprise_d:
3
- name: USS Enterprise
4
- registry: NCC-1701-D
5
- class_name: Galaxy
6
-
7
- uss_jenolan:
8
- name: USS Jenolan
9
- registry: NCC-2010
10
- class_name: Sydney
@@ -1,52 +0,0 @@
1
- #!/usr/bin/env ruby
2
-
3
- require "rails/generators"
4
-
5
- class SuperCopyAppGenerator < Rails::Generators::Base
6
- source_root(File.expand_path("copy_app_templates", __dir__))
7
-
8
- class_option :destination, required: true
9
-
10
- def set_destination_root
11
- self.destination_root = options[:destination]
12
- end
13
-
14
- def ensure_reasonable_directory
15
- app_path = File.join(destination_root, "app")
16
- if !File.directory?(app_path)
17
- raise "Can't find dir: #{app_path}"
18
- end
19
- end
20
-
21
- def install_super
22
- Rails::Generators.invoke("super:install", [], destination_root: destination_root)
23
- end
24
-
25
- def copy_app
26
- copy_file "member.rb", "app/models/member.rb"
27
- copy_file "ship.rb", "app/models/ship.rb"
28
-
29
- copy_file "ships_controller.rb", "app/controllers/admin/ships_controller.rb"
30
- copy_file "members_controller.rb", "app/controllers/admin/members_controller.rb"
31
- end
32
-
33
- def copy_db
34
- migrations = [
35
- "20190216224956_create_members.rb",
36
- "20190803143320_create_ships.rb",
37
- "20190806014121_add_ship_to_members.rb",
38
- ]
39
-
40
- migrations.each do |migration|
41
- copy_file migration, "db/migrate/#{migration}"
42
- end
43
-
44
- copy_file "seeds.rb", "db/seeds.rb"
45
- end
46
-
47
- def copy_config
48
- copy_file "routes.rb", "config/routes.rb"
49
- end
50
- end
51
-
52
- SuperCopyAppGenerator.start
@@ -1,94 +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
- module Rails
10
- module Generators
11
- class AppGenerator
12
- def valid_const?
13
- true
14
- end
15
- end
16
-
17
- class PluginGenerator
18
- def valid_const?
19
- true
20
- end
21
- end
22
- end
23
- end
24
-
25
- class SuperDummyGenerator < Rails::Generators::Base
26
- source_root(File.expand_path("templates", __dir__))
27
-
28
- class_option :destination, required: true
29
-
30
- def create_new_plugin
31
- if plugin_name.blank?
32
- warn "Not currently in a plugin directory"
33
- exit
34
- end
35
-
36
- opts = {
37
- force: true,
38
- skip_active_storage: true,
39
- skip_action_mailer: true,
40
- skip_action_mailbox: true,
41
- skip_action_text: true,
42
- skip_active_storage: true,
43
- skip_action_cable: true,
44
- skip_puma: true,
45
- skip_coffee: true,
46
- database: "sqlite3",
47
- }
48
-
49
- Dir.mktmpdir do |dir|
50
- plugin_path = File.join(dir, plugin_name)
51
- generated_dummy_path = File.join(plugin_path, "test/dummy")
52
-
53
- invoke(Rails::Generators::PluginGenerator, [plugin_path], opts)
54
-
55
- inside(generated_dummy_path) do
56
- remove_file(".ruby-version")
57
- end
58
-
59
- FileUtils.rm_rf(dummy_path)
60
- FileUtils.mv(generated_dummy_path, dummy_path)
61
- end
62
- end
63
-
64
- def delete_unnecessary_files
65
- inside(dummy_path) do
66
- remove_file("app/assets/javascripts/cable.js")
67
- remove_file("app/channels/")
68
- remove_file("public/apple-touch-icon-precomposed.png")
69
- remove_file("public/apple-touch-icon.png")
70
- remove_file("public/favicon.ico")
71
- end
72
- end
73
-
74
- private
75
-
76
- def dummy_path
77
- @dummy_path ||= File.expand_path(options[:destination], destination_root)
78
- end
79
-
80
- def plugin_name
81
- @plugin_name ||=
82
- begin
83
- filename = Dir.glob("*.gemspec").first
84
-
85
- if filename.present?
86
- File.basename(filename, ".gemspec")
87
- else
88
- ""
89
- end
90
- end
91
- end
92
- end
93
-
94
- SuperDummyGenerator.start
@@ -1,49 +0,0 @@
1
- class StarfleetSeeder
2
- def self.seed
3
- seeder = StarfleetSeeder.new
4
- seeder.seed_from_fixture("ships", Ship)
5
- seeder.seed_from_fixture("members", Member)
6
- end
7
-
8
- def initialize
9
- @seeded = {}
10
- @association_reflections = {}
11
- end
12
-
13
- def seed(basename, key, klass, value)
14
- @seeded[basename] ||= {}
15
- puts "--> #{key} (#{value})"
16
- @association_reflections[klass] ||= klass.reflect_on_all_associations
17
-
18
- @association_reflections[klass].each do |ar|
19
- ar_name = ar.name.to_s
20
- ar_plural_name = ar.plural_name.to_s
21
-
22
- if value.key?(ar_name)
23
- value[ar_name] = @seeded.fetch(ar_plural_name).fetch(value[ar_name])
24
- end
25
- end
26
-
27
- @seeded[basename][key] = klass.find_or_create_by(value)
28
- puts " success!"
29
- rescue => e
30
- puts " failure (#{e.message})"
31
- end
32
-
33
- def seed_from_fixture(basename, klass)
34
- puts "==> #{basename}"
35
- fixtures(basename).each do |key, value|
36
- seed(basename, key, klass, value)
37
- end
38
-
39
- nil
40
- end
41
-
42
- private
43
-
44
- def fixtures(basename)
45
- @fixtures_dir ||= Pathname.new("./fixtures").expand_path(__dir__)
46
-
47
- YAML.load_file(@fixtures_dir.join("#{basename}.yml"))
48
- end
49
- end
@@ -1,25 +0,0 @@
1
- module Super
2
- module View
3
- module_function
4
-
5
- def gutter_h(pm, positive = true)
6
- if pm == :p
7
- if positive
8
- "px-2"
9
- else
10
- raise Error::InvalidStyle, "invalid style: -px-2"
11
- end
12
- else
13
- if positive
14
- "mx-2"
15
- else
16
- "-mx-2"
17
- end
18
- end
19
- end
20
-
21
- def classes(*list)
22
- list.flatten.select(&:present?).join(" ")
23
- end
24
- end
25
- end
@@ -1,4 +0,0 @@
1
- # desc "Explaining what the task does"
2
- # task :super do
3
- # # Task goes here
4
- # end