plutonium 0.10.1 → 0.10.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +2 -0
  3. data/app/assets/javascripts/turbo/index.js +1 -1
  4. data/app/views/application/_resource_header.html.erb +12 -12
  5. data/app/views/layouts/resource.html.erb +1 -0
  6. data/app/views/layouts/rodauth.html.erb +4 -4
  7. data/app/views/resource/_nav_user.html.erb +1 -1
  8. data/app/views/resource/index.rabl +1 -1
  9. data/brakeman.ignore +1 -1
  10. data/config/initializers/rabl.rb +2 -0
  11. data/css.manifest +1 -1
  12. data/js.manifest +2 -2
  13. data/lib/generators/pu/core/install/templates/config/initializers/plutonium.rb +0 -3
  14. data/lib/generators/pu/gen/pug/pug_generator.rb +6 -0
  15. data/lib/generators/pu/gen/pug/templates/pug.rb.tt +1 -1
  16. data/lib/generators/pu/pkg/app/templates/config/routes.rb.tt +3 -3
  17. data/lib/plutonium/config.rb +0 -11
  18. data/lib/plutonium/core/autodiscovery/input_discoverer.rb +1 -1
  19. data/lib/plutonium/core/autodiscovery/renderer_discoverer.rb +1 -1
  20. data/lib/plutonium/core/controllers/base.rb +13 -3
  21. data/lib/plutonium/core/controllers/queryable.rb +3 -1
  22. data/lib/plutonium/pkg/app.rb +6 -0
  23. data/lib/plutonium/railtie.rb +15 -0
  24. data/lib/plutonium/reloader.rb +99 -0
  25. data/lib/plutonium/resource/controller.rb +61 -22
  26. data/lib/plutonium/resource/policy.rb +56 -9
  27. data/lib/plutonium/resource/presenter.rb +44 -12
  28. data/lib/plutonium/resource/query_object.rb +186 -73
  29. data/lib/plutonium/resource/record.rb +213 -119
  30. data/lib/plutonium/rodauth/controller_methods.rb +7 -0
  31. data/lib/plutonium/version.rb +1 -1
  32. data/lib/plutonium.rb +50 -12
  33. data/package-lock.json +174 -0
  34. data/package.json +2 -0
  35. data/public/plutonium-assets/plutonium-app-6WILQCTT.js +39 -0
  36. data/public/plutonium-assets/plutonium-app-6WILQCTT.js.map +7 -0
  37. data/public/plutonium-assets/plutonium-logo-original.png +0 -0
  38. data/public/plutonium-assets/plutonium-logo-white.png +0 -0
  39. data/public/plutonium-assets/plutonium-logo.png +0 -0
  40. data/public/plutonium-assets/plutonium.2d4f0c333cd000051d3b.css +3424 -0
  41. data/public/plutonium-assets/plutonium.ico +0 -0
  42. metadata +10 -4
  43. data/lib/plutonium/reactor/core.rb +0 -78
  44. data/public/plutonium-assets/logo.png +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plutonium
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.10.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stefan Froelich
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-05-12 00:00:00.000000000 Z
11
+ date: 2024-05-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: zeitwerk
@@ -1050,8 +1050,8 @@ files:
1050
1050
  - lib/plutonium/preserved__/field.rb.bk
1051
1051
  - lib/plutonium/preserved__/input.rb.bk
1052
1052
  - lib/plutonium/railtie.rb
1053
- - lib/plutonium/reactor/core.rb
1054
1053
  - lib/plutonium/refinements/parameter_refinements.rb
1054
+ - lib/plutonium/reloader.rb
1055
1055
  - lib/plutonium/resource/context.rb
1056
1056
  - lib/plutonium/resource/controller.rb
1057
1057
  - lib/plutonium/resource/interaction.rb
@@ -1072,10 +1072,16 @@ files:
1072
1072
  - public/plutonium-assets/application.js
1073
1073
  - public/plutonium-assets/fonts/bootstrap-icons.woff
1074
1074
  - public/plutonium-assets/fonts/bootstrap-icons.woff2
1075
- - public/plutonium-assets/logo.png
1076
1075
  - public/plutonium-assets/plutonium-app-36KN5FVJ.js
1077
1076
  - public/plutonium-assets/plutonium-app-36KN5FVJ.js.map
1077
+ - public/plutonium-assets/plutonium-app-6WILQCTT.js
1078
+ - public/plutonium-assets/plutonium-app-6WILQCTT.js.map
1079
+ - public/plutonium-assets/plutonium-logo-original.png
1080
+ - public/plutonium-assets/plutonium-logo-white.png
1081
+ - public/plutonium-assets/plutonium-logo.png
1082
+ - public/plutonium-assets/plutonium.2d4f0c333cd000051d3b.css
1078
1083
  - public/plutonium-assets/plutonium.50232e35b5495f5ad90d.css
1084
+ - public/plutonium-assets/plutonium.ico
1079
1085
  - sig/plutonium.rbs
1080
1086
  - tailwind.config.js
1081
1087
  - templates/base.rb
@@ -1,78 +0,0 @@
1
- # Be sure to restart your server when you modify this file.
2
- # This is a glorified initializer
3
-
4
- module Plutonium
5
- module Reactor
6
- class Core
7
- def self.achieve_criticality!
8
- # Eager load the framework
9
- # Plutonium::ZEITWERK_LOADER.eager_load
10
-
11
- # Load view components
12
- load Plutonium.root.join("app", "views", "components", "base.rb")
13
-
14
- # Load initializers
15
- Dir.glob(Plutonium.root.join("config", "initializers", "**", "*.rb")) { |file| load file }
16
-
17
- start_reloader!
18
- end
19
-
20
- def self.start_reloader!
21
- # TODO: see which parts of this can be moved into zeitwerk
22
- return unless Plutonium::Config.enable_hotreload
23
-
24
- # GLORIOUS hotreload!!!
25
- @listener ||= begin
26
- require "listen"
27
-
28
- reload_paths = []
29
-
30
- if Plutonium::Config.development
31
- reload_paths << Plutonium.lib_root.to_s
32
- reload_paths << Plutonium.root.join("app", "views", "components").to_s
33
- reload_paths << Plutonium.root.join("config", "initializers").to_s
34
- end
35
-
36
- # we want to always watch packages for changes to engines
37
- packages_dir = Rails.root.join("packages/").to_s
38
- reload_paths << packages_dir if File.directory?(packages_dir)
39
-
40
- listener = Listen.to(*reload_paths, only: /\.rb$/) do |modified, added, removed|
41
- (modified + added).each do |file|
42
- next if file == __FILE__ # reloading this file does nothing
43
-
44
- if file.starts_with?(packages_dir)
45
- # if package file was added, ignore it
46
- # otherwise rails gets mad at us since engines cannot be loaded after initial boot
47
- # TODO: check if guard has apis to control reloading dynamically
48
- next if added.include? file
49
-
50
- case File.basename(file)
51
- when "engine.rb"
52
- # rails engines are loaded once,
53
- # so in order to detect resource registration changes, we need to handle reloads ourselves
54
-
55
- # load the engine and reload routes to pick up any registration changes
56
- Rails.logger.debug "\nplutonium: reloaded #{file}\n"
57
- load file
58
- Rails.application.reload_routes!
59
- else
60
- # non engine package files are reloaded by rails automatically
61
- end
62
- else
63
- Plutonium::ZEITWERK_LOADER.reload
64
- load Plutonium.root.join("app", "views", "components", "base.rb")
65
- load file # this just a lazy way to ensure we load files that do not contain constants like initializers
66
- end
67
- Rails.logger.debug "\n\nplutonium: reload #{file}\n"
68
- rescue => e
69
- Rails.logger.error "\n\nplutonium: reload failed #{file}\n\n#{e}\n"
70
- end
71
- end
72
- listener.start
73
- listener
74
- end
75
- end
76
- end
77
- end
78
- end
Binary file