From f8e430b0874a14c8c0f75643872437f3caef847e Mon Sep 17 00:00:00 2001 From: Tim Connor Date: Mon, 10 Aug 2020 11:22:25 +1200 Subject: [PATCH 1/2] ensure the all_public_actions method works for Grape APIs --- lib/declarative_authorization/test/helpers.rb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/declarative_authorization/test/helpers.rb b/lib/declarative_authorization/test/helpers.rb index 598783e..e419826 100644 --- a/lib/declarative_authorization/test/helpers.rb +++ b/lib/declarative_authorization/test/helpers.rb @@ -155,8 +155,14 @@ def this_is_an_abstract_controller_so_it_needs_no_access_tests alias :access_tests_not_required :this_is_an_abstract_controller_so_it_needs_no_access_tests def all_public_actions - actions = controller_class.public_instance_methods(false) - actions += controller_class.superclass.public_instance_methods(false) + actions = [] + if defined?(Grape) && [Grape::API, Grape::API::Instance].any? { |base| controller_class < base } + actions += controller_class.routes.map { |api| "#{api.request_method} #{api.origin}" } + else + actions += controller_class.public_instance_methods(false) + actions += controller_class.superclass.public_instance_methods(false) + end + actions.reject! do |method| method =~ /^_/ || method =~ /^rescue_action/ || From 14983ee794ccae1995e203b89fc85593666819ed Mon Sep 17 00:00:00 2001 From: Tim Connor Date: Mon, 10 Aug 2020 11:28:27 +1200 Subject: [PATCH 2/2] Bump declarative_authorization to 0.12.1.tim1 --- lib/declarative_authorization/version.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/declarative_authorization/version.rb b/lib/declarative_authorization/version.rb index 5fd6f6a..47e5b00 100644 --- a/lib/declarative_authorization/version.rb +++ b/lib/declarative_authorization/version.rb @@ -1,3 +1,3 @@ module DeclarativeAuthorization - VERSION = '0.12.0'.freeze + VERSION = '0.12.1.tim1'.freeze end