active_admin_role 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile +0 -1
- data/lib/active_admin_role/active_admin/dsl.rb +1 -1
- data/lib/active_admin_role/active_admin/resource_controller.rb +8 -0
- data/lib/active_admin_role/config.rb +2 -1
- data/lib/active_admin_role/manageable_resource.rb +2 -1
- data/lib/active_admin_role/version.rb +1 -1
- data/lib/generators/active_admin_role/templates/initializer.rb +4 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 50b0ce4d721281f6862803084c1bc877d0e16194
|
4
|
+
data.tar.gz: 3a68d53325063176c30fe76ac76eec1e33dc81e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b95f322b9997282163ab7ea8e5ae97ceec3337317c6b862624c9477e563c8c346e3c135a7cba49d88edc4f5a2426a0e25a19169a64c86b0cd92604f650c5c9db
|
7
|
+
data.tar.gz: 16a35e6b5be3ee64c92bbc9ea8c95d0e6bb2c9ed1e6bbf3e24071b639b99cef6e52856703d176bfaba853f8b3197a4ace434d307541265656f28f7dbe069bb9b
|
data/Gemfile
CHANGED
@@ -8,7 +8,7 @@ module ActiveAdminRole
|
|
8
8
|
|
9
9
|
controller.resource_class.roles.each_key do |role|
|
10
10
|
batch_action "assign as #{role}" do |ids|
|
11
|
-
formatted_ids = ids - [
|
11
|
+
formatted_ids = ids - [active_admin_role_current_user.try!(:id).to_s]
|
12
12
|
resource_class.where(id: formatted_ids).update_all(role: resource_class.roles[role])
|
13
13
|
|
14
14
|
if Rails::VERSION::MAJOR >= 5
|
@@ -16,6 +16,14 @@ module ActiveAdminRole
|
|
16
16
|
def authorize_access_resource!
|
17
17
|
authorize_resource!(active_admin_config.resource_class)
|
18
18
|
end
|
19
|
+
|
20
|
+
def active_admin_role_current_user
|
21
|
+
send(active_admin_role_current_user_method_name)
|
22
|
+
end
|
23
|
+
|
24
|
+
def active_admin_role_current_user_method_name
|
25
|
+
ActiveAdminRole.config.current_user_method_name
|
26
|
+
end
|
19
27
|
end
|
20
28
|
end
|
21
29
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module ActiveAdminRole
|
2
2
|
class Config
|
3
|
-
attr_accessor :roles, :super_user_roles, :guest_user_roles, :user_class_name, :default_state
|
3
|
+
attr_accessor :roles, :super_user_roles, :guest_user_roles, :user_class_name, :default_state, :current_user_method_name
|
4
4
|
|
5
5
|
def initialize
|
6
6
|
@roles = { guest: 0, support: 1, staff: 2, manager: 3, admin: 99 }
|
@@ -8,6 +8,7 @@ module ActiveAdminRole
|
|
8
8
|
@super_user_roles = [:admin]
|
9
9
|
@user_class_name = "AdminUser"
|
10
10
|
@default_state = :cannot
|
11
|
+
@current_user_method_name = "current_admin_user"
|
11
12
|
end
|
12
13
|
|
13
14
|
def default_state=(value)
|
@@ -3,7 +3,8 @@ require "set"
|
|
3
3
|
module ActiveAdminRole
|
4
4
|
class ManageableResource
|
5
5
|
def call
|
6
|
-
::ActiveAdmin.application.
|
6
|
+
namespace = ::ActiveAdmin.application.default_namespace
|
7
|
+
::ActiveAdmin.application.namespaces[namespace].resources.inject([]) do |result, resource|
|
7
8
|
class_name = resource.controller.resource_class.to_s
|
8
9
|
name = resource.resource_name.name
|
9
10
|
actions = collect_defined_actions(resource)
|
@@ -12,6 +12,10 @@ ActiveAdminRole.configure do |config|
|
|
12
12
|
# == User class name | default: 'AdminUser'
|
13
13
|
config.user_class_name = "<%= model_class_name %>"
|
14
14
|
|
15
|
+
# [Optional:String]
|
16
|
+
# == method name of #current_user in Controller
|
17
|
+
config.current_user_method_name = "current_<%= model_class_name.underscore.tr('/', '_') %>"
|
18
|
+
|
15
19
|
# [Optional:Symbol]
|
16
20
|
# == Default permission | default: :cannot
|
17
21
|
config.default_state = :cannot
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_admin_role
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yoshiyuki Hirano
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-10-09 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activeadmin
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
requirements: []
|
105
105
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.
|
106
|
+
rubygems_version: 2.6.13
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: Role based authorization with CanCanCan for Active Admin
|