Class: LcpRuby::Generators::OidcRoleMappingsGenerator
- Inherits:
-
Rails::Generators::Base
- Object
- Rails::Generators::Base
- LcpRuby::Generators::OidcRoleMappingsGenerator
show all
- Includes:
- FormatSupport
- Defined in:
- lib/generators/lcp_ruby/oidc_role_mappings_generator.rb
Overview
Generates the model, presenter, permission, and locale files needed by ‘role_source: db` (Phase 2). When the host has at least one OIDC provider configured with `role_source: db`, running this generator (and `db:prepare`) is what activates DB-backed role mapping.
Mirrors the api_tokens generator pattern: DSL by default, ‘–format=yaml` for YAML mode; permissions and locales are always YAML.
Constant Summary
FormatSupport::VALID_FORMATS
Instance Method Summary
collapse
included, #validate_format
Instance Method Details
#copy_locale ⇒ Object
38
39
40
|
# File 'lib/generators/lcp_ruby/oidc_role_mappings_generator.rb', line 38
def copy_locale
template "locales.en.yml", "config/locales/lcp_ruby/oidc_role_mappings.en.yml"
end
|
#copy_model ⇒ Object
22
23
24
25
26
|
# File 'lib/generators/lcp_ruby/oidc_role_mappings_generator.rb', line 22
def copy_model
copy_dsl_or_yaml "model.rb",
dsl_target: "config/lcp_ruby/models/oidc_role_mapping.rb",
yaml_target: "config/lcp_ruby/models/oidc_role_mapping.yml"
end
|
#copy_permissions ⇒ Object
34
35
36
|
# File 'lib/generators/lcp_ruby/oidc_role_mappings_generator.rb', line 34
def copy_permissions
template "permissions.yml", "config/lcp_ruby/permissions/oidc_role_mapping.yml"
end
|
#copy_presenter ⇒ Object
28
29
30
31
32
|
# File 'lib/generators/lcp_ruby/oidc_role_mappings_generator.rb', line 28
def copy_presenter
copy_dsl_or_yaml "presenter.rb",
dsl_target: "config/lcp_ruby/presenters/oidc_role_mappings.rb",
yaml_target: "config/lcp_ruby/presenters/oidc_role_mappings.yml"
end
|
#show_post_install_message ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# File 'lib/generators/lcp_ruby/oidc_role_mappings_generator.rb', line 42
def show_post_install_message
say ""
say "LCP Ruby OIDC role mappings installed!", :green
say ""
say "Generated files:"
say " - config/lcp_ruby/models/oidc_role_mapping.#{format_extension}"
say " - config/lcp_ruby/presenters/oidc_role_mappings.#{format_extension}"
say " - config/lcp_ruby/permissions/oidc_role_mapping.yml"
say " - config/locales/lcp_ruby/oidc_role_mappings.en.yml"
say ""
say "Next steps:"
say " 1. Set role_source: db on at least one OIDC provider in auth.yml."
say " 2. bundle exec rails db:prepare # creates lcp_ruby_oidc_role_mappings table"
say " 3. Start server, sign in as an admin, manage rows at /oidc-role-mappings."
say ""
end
|