module

Krikri::PluginHelpers::PostgresqlRoleFlags

PostgresqlRoleFlags - pure logic for parsing/rendering/comparing a postgresql_user role_attr_flags: string. No I/O - postgresql_user.cr does the actual CREATE/ALTER ROLE and pg_roles lookups.

Constants

FLAGS = ["LOGIN", "CREATEDB", "CREATEROLE", "SUPERUSER", "INHERIT", "REPLICATION", "BYPASSRLS"] of ::String

Class methods

column_for(flag : String) : String

The pg_roles column backing a given flag - verified against a real PostgreSQL 17 server's pg_roles view.

Source
parse(spec : String) : Hash(String, Bool)

Parses "LOGIN,CREATEDB,NOSUPERUSER" (real Ansible's own role_attr_flags: format) into {"LOGIN" => true, "CREATEDB" => true, "SUPERUSER" => false}.

Source
to_sql(flags : Hash(String, Bool)) : String

Renders {"LOGIN" => true, "SUPERUSER" => false} into "LOGIN NOSUPERUSER" for a CREATE/ALTER ROLE statement.

Source