From bd927ef98c6b204dbfb700ee7cca506d2a4162b2 Mon Sep 17 00:00:00 2001 From: Francois Deschenes Date: Fri, 16 Aug 2024 18:52:08 +0100 Subject: [PATCH 1/3] Addresses the fact enums with keyword arguments are deprecated --- lib/active_admin_role/role_based_authorizable.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/active_admin_role/role_based_authorizable.rb b/lib/active_admin_role/role_based_authorizable.rb index 3177d53..556e748 100644 --- a/lib/active_admin_role/role_based_authorizable.rb +++ b/lib/active_admin_role/role_based_authorizable.rb @@ -3,7 +3,7 @@ module RoleBasedAuthorizable extend ActiveSupport::Concern included do - enum role: config.roles + enum :role, config.roles delegate :super_user_roles, :guest_user_roles, to: :class validates :role, presence: true end From 75a41c178056f61d2f666731fd41ba94ba7041c1 Mon Sep 17 00:00:00 2001 From: Francois Deschenes Date: Fri, 16 Aug 2024 19:14:28 +0100 Subject: [PATCH 2/3] Also fixes the enum in permission.rb --- app/models/active_admin/permission.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/active_admin/permission.rb b/app/models/active_admin/permission.rb index 2fd66e3..4ff5847 100644 --- a/app/models/active_admin/permission.rb +++ b/app/models/active_admin/permission.rb @@ -3,7 +3,7 @@ class Permission < ActiveRecord::Base self.table_name = :active_admin_permissions role_based_authorizable - enum state: { cannot: 0, can: 1 } + enum :state, { cannot: 0, can: 1 } belongs_to :managed_resource delegate :class_name, :action, :name, :const, :active?, :for_active_admin_page?, to: :managed_resource From 0f62e8c69c3c25fd2ee4e77c09dead2a67b2e412 Mon Sep 17 00:00:00 2001 From: Francois Deschenes Date: Fri, 16 Aug 2024 20:35:00 +0100 Subject: [PATCH 3/3] Ensures that the changes are compatible with older version of Rails --- app/models/active_admin/permission.rb | 6 +++++- lib/active_admin_role/role_based_authorizable.rb | 7 ++++++- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/app/models/active_admin/permission.rb b/app/models/active_admin/permission.rb index 4ff5847..7b1f617 100644 --- a/app/models/active_admin/permission.rb +++ b/app/models/active_admin/permission.rb @@ -3,7 +3,11 @@ class Permission < ActiveRecord::Base self.table_name = :active_admin_permissions role_based_authorizable - enum :state, { cannot: 0, can: 1 } + if Rails::VERSION::STRING >= '7.0.0' + enum :state, { cannot: 0, can: 1 } + else + enum state: { cannot: 0, can: 1 } + end belongs_to :managed_resource delegate :class_name, :action, :name, :const, :active?, :for_active_admin_page?, to: :managed_resource diff --git a/lib/active_admin_role/role_based_authorizable.rb b/lib/active_admin_role/role_based_authorizable.rb index 556e748..583da5b 100644 --- a/lib/active_admin_role/role_based_authorizable.rb +++ b/lib/active_admin_role/role_based_authorizable.rb @@ -3,7 +3,12 @@ module RoleBasedAuthorizable extend ActiveSupport::Concern included do - enum :role, config.roles + if Rails::VERSION::STRING >= '7.0.0' + enum :role, config.roles + else + enum role: config.roles + end + delegate :super_user_roles, :guest_user_roles, to: :class validates :role, presence: true end