plutonium 0.42.0 → 0.43.1
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/.claude/skills/plutonium-controller/SKILL.md +38 -1
- data/.claude/skills/plutonium-definition/SKILL.md +14 -0
- data/.claude/skills/plutonium-forms/SKILL.md +16 -1
- data/.claude/skills/plutonium-profile/SKILL.md +276 -0
- data/.claude/skills/plutonium-views/SKILL.md +23 -1
- data/CHANGELOG.md +42 -0
- data/app/assets/plutonium.css +2 -2
- data/app/views/plutonium/_resource_header.html.erb +6 -27
- data/app/views/plutonium/_resource_sidebar.html.erb +1 -2
- data/app/views/resource/_resource_details.rabl +3 -2
- data/app/views/resource/index.rabl +3 -2
- data/app/views/resource/show.rabl +3 -2
- data/docs/guides/user-profile.md +322 -0
- data/docs/reference/controller/index.md +38 -1
- data/docs/reference/definition/index.md +16 -0
- data/docs/reference/views/forms.md +15 -0
- data/docs/reference/views/index.md +23 -1
- data/gemfiles/rails_7.gemfile.lock +1 -1
- data/gemfiles/rails_8.0.gemfile.lock +1 -1
- data/gemfiles/rails_8.1.gemfile.lock +1 -1
- data/lib/generators/pu/core/assets/assets_generator.rb +12 -0
- data/lib/generators/pu/core/install/templates/app/controllers/resource_controller.rb.tt +11 -0
- data/lib/generators/pu/core/typespec/templates/common.tsp.tt +95 -0
- data/lib/generators/pu/core/typespec/templates/main.tsp.tt +27 -0
- data/lib/generators/pu/core/typespec/templates/main_multi.tsp.tt +25 -0
- data/lib/generators/pu/core/typespec/templates/model.tsp.tt +226 -0
- data/lib/generators/pu/core/typespec/typespec_generator.rb +342 -0
- data/lib/generators/pu/invites/USAGE +0 -1
- data/lib/generators/pu/invites/install_generator.rb +62 -15
- data/lib/generators/pu/invites/templates/db/migrate/create_user_invites.rb.tt +2 -2
- data/lib/generators/pu/invites/templates/packages/invites/app/controllers/invites/user_invitations_controller.rb.tt +2 -0
- data/lib/generators/pu/invites/templates/packages/invites/app/controllers/invites/welcome_controller.rb.tt +1 -0
- data/lib/generators/pu/invites/templates/packages/invites/app/models/invites/user_invite.rb.tt +5 -5
- data/lib/generators/pu/invites/templates/packages/invites/app/views/invites/user_invitations/signup.html.erb.tt +4 -4
- data/lib/generators/pu/lib/plutonium_generators/concerns/actions.rb +1 -1
- data/lib/generators/pu/lib/plutonium_generators/generator.rb +29 -0
- data/lib/generators/pu/lib/plutonium_generators/model_generator_base.rb +6 -23
- data/lib/generators/pu/pkg/portal/portal_generator.rb +5 -1
- data/lib/generators/pu/profile/USAGE +59 -0
- data/lib/generators/pu/profile/concerns/profile_arguments.rb +27 -0
- data/lib/generators/pu/profile/conn/USAGE +33 -0
- data/lib/generators/pu/profile/conn_generator.rb +167 -0
- data/lib/generators/pu/profile/install_generator.rb +119 -0
- data/lib/generators/pu/profile/setup/USAGE +42 -0
- data/lib/generators/pu/profile/setup_generator.rb +73 -0
- data/lib/generators/pu/rodauth/account_generator.rb +2 -4
- data/lib/generators/pu/rodauth/install_generator.rb +2 -2
- data/lib/generators/pu/rodauth/templates/app/rodauth/account_rodauth_plugin.rb.tt +3 -0
- data/lib/generators/pu/saas/api_client_generator.rb +0 -2
- data/lib/generators/pu/saas/membership_generator.rb +68 -19
- data/lib/generators/pu/saas/setup_generator.rb +7 -2
- data/lib/generators/pu/saas/user_generator.rb +0 -2
- data/lib/plutonium/auth/rodauth.rb +8 -0
- data/lib/plutonium/core/controller.rb +7 -4
- data/lib/plutonium/core/controllers/authorizable.rb +5 -1
- data/lib/plutonium/definition/base.rb +7 -0
- data/lib/plutonium/helpers/display_helper.rb +6 -0
- data/lib/plutonium/profile/security_section.rb +118 -0
- data/lib/plutonium/resource/controller.rb +17 -7
- data/lib/plutonium/resource/controllers/interactive_actions.rb +11 -25
- data/lib/plutonium/resource/controllers/presentable.rb +46 -3
- data/lib/plutonium/resource/record/associated_with.rb +7 -1
- data/lib/plutonium/routing/mapper_extensions.rb +18 -18
- data/lib/plutonium/routing/route_set_extensions.rb +23 -2
- data/lib/plutonium/ui/breadcrumbs.rb +111 -131
- data/lib/plutonium/ui/dyna_frame/content.rb +12 -2
- data/lib/plutonium/ui/form/resource.rb +26 -19
- data/lib/plutonium/ui/page/base.rb +14 -14
- data/lib/plutonium/ui/table/components/scopes_bar.rb +2 -74
- data/lib/plutonium/ui/table/components/selection_column.rb +6 -2
- data/lib/plutonium/ui/table/resource.rb +3 -2
- data/lib/plutonium/version.rb +1 -1
- data/lib/tasks/release.rake +6 -6
- data/package.json +1 -1
- metadata +17 -3
- data/lib/generators/pu/rodauth/concerns/gem_helpers.rb +0 -19
data/lib/tasks/release.rake
CHANGED
|
@@ -131,10 +131,10 @@ namespace :release do
|
|
|
131
131
|
task :publish_npm do
|
|
132
132
|
puts "Publishing npm package..."
|
|
133
133
|
|
|
134
|
-
# Check if user is logged in to npm
|
|
134
|
+
# Check if user is logged in to npm, login if needed
|
|
135
135
|
unless system("npm whoami > /dev/null 2>&1")
|
|
136
|
-
puts "
|
|
137
|
-
abort("npm
|
|
136
|
+
puts "Not logged in to npm. Opening login..."
|
|
137
|
+
system("npm login") || abort("npm login failed")
|
|
138
138
|
end
|
|
139
139
|
|
|
140
140
|
# Publish to npm
|
|
@@ -162,10 +162,10 @@ namespace :release do
|
|
|
162
162
|
|
|
163
163
|
puts "Starting release workflow for v#{version}..."
|
|
164
164
|
|
|
165
|
-
# Check npm authentication early
|
|
165
|
+
# Check npm authentication early, login if needed
|
|
166
166
|
unless system("npm whoami > /dev/null 2>&1")
|
|
167
|
-
puts "
|
|
168
|
-
|
|
167
|
+
puts "Not logged in to npm. Opening login..."
|
|
168
|
+
system("npm login") || abort("npm login failed")
|
|
169
169
|
end
|
|
170
170
|
puts "✓ npm authenticated as: #{`npm whoami`.strip}"
|
|
171
171
|
|
data/package.json
CHANGED
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.
|
|
4
|
+
version: 0.43.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stefan Froelich
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-03-09 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: zeitwerk
|
|
@@ -418,6 +418,7 @@ files:
|
|
|
418
418
|
- ".claude/skills/plutonium-package/SKILL.md"
|
|
419
419
|
- ".claude/skills/plutonium-policy/SKILL.md"
|
|
420
420
|
- ".claude/skills/plutonium-portal/SKILL.md"
|
|
421
|
+
- ".claude/skills/plutonium-profile/SKILL.md"
|
|
421
422
|
- ".claude/skills/plutonium-resource/SKILL.md"
|
|
422
423
|
- ".claude/skills/plutonium-rodauth/SKILL.md"
|
|
423
424
|
- ".claude/skills/plutonium-theming/SKILL.md"
|
|
@@ -543,6 +544,7 @@ files:
|
|
|
543
544
|
- docs/guides/theming.md
|
|
544
545
|
- docs/guides/troubleshooting.md
|
|
545
546
|
- docs/guides/user-invites.md
|
|
547
|
+
- docs/guides/user-profile.md
|
|
546
548
|
- docs/index.md
|
|
547
549
|
- docs/og-image.html
|
|
548
550
|
- docs/public/android-chrome-192x192.png
|
|
@@ -609,6 +611,11 @@ files:
|
|
|
609
611
|
- lib/generators/pu/core/install/templates/config/packages.rb
|
|
610
612
|
- lib/generators/pu/core/ruby/ruby_generator.rb
|
|
611
613
|
- lib/generators/pu/core/ruby/templates/.keep
|
|
614
|
+
- lib/generators/pu/core/typespec/templates/common.tsp.tt
|
|
615
|
+
- lib/generators/pu/core/typespec/templates/main.tsp.tt
|
|
616
|
+
- lib/generators/pu/core/typespec/templates/main_multi.tsp.tt
|
|
617
|
+
- lib/generators/pu/core/typespec/templates/model.tsp.tt
|
|
618
|
+
- lib/generators/pu/core/typespec/typespec_generator.rb
|
|
612
619
|
- lib/generators/pu/core/update/update_generator.rb
|
|
613
620
|
- lib/generators/pu/docker/install/install_generator.rb
|
|
614
621
|
- lib/generators/pu/docker/install/templates/.keep
|
|
@@ -719,6 +726,13 @@ files:
|
|
|
719
726
|
- lib/generators/pu/pkg/portal/templates/app/views/package/dashboard/index.html.erb
|
|
720
727
|
- lib/generators/pu/pkg/portal/templates/config/routes.rb.tt
|
|
721
728
|
- lib/generators/pu/pkg/portal/templates/lib/engine.rb.tt
|
|
729
|
+
- lib/generators/pu/profile/USAGE
|
|
730
|
+
- lib/generators/pu/profile/concerns/profile_arguments.rb
|
|
731
|
+
- lib/generators/pu/profile/conn/USAGE
|
|
732
|
+
- lib/generators/pu/profile/conn_generator.rb
|
|
733
|
+
- lib/generators/pu/profile/install_generator.rb
|
|
734
|
+
- lib/generators/pu/profile/setup/USAGE
|
|
735
|
+
- lib/generators/pu/profile/setup_generator.rb
|
|
722
736
|
- lib/generators/pu/res/conn/USAGE
|
|
723
737
|
- lib/generators/pu/res/conn/conn_generator.rb
|
|
724
738
|
- lib/generators/pu/res/conn/templates/.keep
|
|
@@ -745,7 +759,6 @@ files:
|
|
|
745
759
|
- lib/generators/pu/rodauth/concerns/account_selector.rb
|
|
746
760
|
- lib/generators/pu/rodauth/concerns/configuration.rb
|
|
747
761
|
- lib/generators/pu/rodauth/concerns/feature_selector.rb
|
|
748
|
-
- lib/generators/pu/rodauth/concerns/gem_helpers.rb
|
|
749
762
|
- lib/generators/pu/rodauth/install_generator.rb
|
|
750
763
|
- lib/generators/pu/rodauth/migration/active_record/account_expiration.erb
|
|
751
764
|
- lib/generators/pu/rodauth/migration/active_record/active_sessions.erb
|
|
@@ -896,6 +909,7 @@ files:
|
|
|
896
909
|
- lib/plutonium/portal/controller.rb
|
|
897
910
|
- lib/plutonium/portal/dynamic_controllers.rb
|
|
898
911
|
- lib/plutonium/portal/engine.rb
|
|
912
|
+
- lib/plutonium/profile/security_section.rb
|
|
899
913
|
- lib/plutonium/query/adhoc_block.rb
|
|
900
914
|
- lib/plutonium/query/base.rb
|
|
901
915
|
- lib/plutonium/query/filter.rb
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
module Pu
|
|
4
|
-
module Rodauth
|
|
5
|
-
module Concerns
|
|
6
|
-
module GemHelpers
|
|
7
|
-
private
|
|
8
|
-
|
|
9
|
-
def gem_in_bundle?(name)
|
|
10
|
-
in_root do
|
|
11
|
-
return true if File.exist?("Gemfile") && File.read("Gemfile").match?(/gem ['"]#{name}['"]/)
|
|
12
|
-
return true if File.exist?("Gemfile.lock") && File.read("Gemfile.lock").include?(" #{name} ")
|
|
13
|
-
end
|
|
14
|
-
false
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|