Class: Machina::PermissionSync
- Inherits:
-
Object
- Object
- Machina::PermissionSync
- Defined in:
- lib/machina/permission_sync.rb
Overview
Reads the local permission manifest (machina.yml) and synchronises it with the Machina Console so the Console knows which permissions exist.
Supports flat manifests, environment-scoped manifests, and ERB interpolation.
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.call! ⇒ Object
10 11 12 |
# File 'lib/machina/permission_sync.rb', line 10 def self.call! new.call! end |
Instance Method Details
#call! ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/machina/permission_sync.rb', line 14 def call! manifest = load_manifest if Machina.config.product_id.blank? raise Machina::ConfigurationError, 'product_id is required for permission sync (set Machina.config.product_id)' end Machina.identity_client.( product_id: Machina.config.product_id, policies: manifest.fetch(:policies, []), permissions: manifest.fetch(:permissions), ) end |