@@ -24,14 +24,10 @@ def index?
2424
2525 def show?
2626 true
27- # scope.where(:id => record.id).exists?
2827 end
2928
3029 def create?
31- # Only admin, scraper_user or curator roles can create
32- #@user.has_role?(:admin) or @user.has_role?(:scraper_user) or @user.has_role?(:curator)
33- # Any registered user user can create
34- @user && !@user . role . blank?
30+ @user
3531 end
3632
3733 def new?
@@ -52,19 +48,11 @@ def destroy?
5248
5349 # "manage" isn't actually an action, but the "destroy?" and "update?" policies delegate to this method.
5450 def manage?
55- @user && @user . is_admin?
56- end
57-
58- def request_is_api? ( request )
59- return false if request . nil?
60- return ( ( request . post? or request . put? or request . patch? ) and request . format . json? )
51+ @user &.is_admin?
6152 end
6253
6354 def curators_and_admin
64- @user && (
65- @user . has_role? ( :curator ) ||
66- @user . has_role? ( :admin ) ||
67- @user . has_role? ( :scraper_user ) )
55+ user_has_role? ( :curator , :admin , :scraper_user )
6856 end
6957
7058 def scope
@@ -84,4 +72,20 @@ def resolve
8472 end
8573 end
8674
75+ private
76+
77+ def request_is_api?
78+ !!@request && ( ( @request . post? || @request . put? || @request . patch? ) && @request . format . json? )
79+ end
80+
81+ def scraper?
82+ request_is_api? && @user &.has_role? ( :scraper_user )
83+ end
84+
85+ # Check if the user has any of the given roles.
86+ def user_has_role? ( *roles )
87+ return false if @user . nil?
88+ roles . any? { |r | @user . has_role? ( r ) }
89+ end
90+
8791end
0 commit comments