vigilante 1.0.15 → 1.0.16
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/VERSION +1 -1
- data/app/models/ability.rb +2 -0
- data/app/models/permission_hash.rb +6 -1
- data/lib/vigilante/watched_operator.rb +1 -7
- data/vigilante.gemspec +3 -3
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 65cd0618f1a0a21c3ec6d6c9d01ec843ceccd6fc
|
|
4
|
+
data.tar.gz: 6c85af886163c0d2a0ed54d46b15c81b3846fc19
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: f4a67192aa48291e9b67b7681e8c569338591513ac13ba091f6c906ce60af578328db980c1c0deaa584aa7605f37965eeaffd913a608fbb07a04bb83f046a8fa
|
|
7
|
+
data.tar.gz: 880b40e4a515fd03250499857dcc26b2fc1afd86528b9e1f2af173a4945b39c54a0214164cd7f9cb8a9e03f450abfd2adff772741e6ab8070cf3ebc603948087
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.0.
|
|
1
|
+
1.0.16
|
data/app/models/ability.rb
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
class Ability < ActiveRecord::Base
|
|
2
2
|
has_many :ability_permissions
|
|
3
3
|
has_many :permissions, :through => :ability_permissions
|
|
4
|
+
has_many :authorizations
|
|
5
|
+
has_many :operators, :through => :authorizations
|
|
4
6
|
|
|
5
7
|
accepts_nested_attributes_for :permissions
|
|
6
8
|
accepts_nested_attributes_for :ability_permissions
|
|
@@ -25,8 +25,13 @@ class PermissionHash < HashWithIndifferentAccess
|
|
|
25
25
|
self[extent][path] ||= {}
|
|
26
26
|
|
|
27
27
|
allowed_actions = [:index, :show] if allowed_actions.nil? || allowed_actions.empty?
|
|
28
|
+
# always allow edit/update and create/new as a pair (allowing one immediately allows the other)
|
|
28
29
|
allowed_actions.push(:update) if allowed_actions.include?(:edit) && !allowed_actions.include?(:update)
|
|
30
|
+
allowed_actions.push(:edit) if allowed_actions.include?(:update) && !allowed_actions.include?(:edit)
|
|
29
31
|
allowed_actions.push(:create) if allowed_actions.include?(:new) && !allowed_actions.include?(:create)
|
|
32
|
+
allowed_actions.push(:new) if allowed_actions.include?(:create) && !allowed_actions.include?(:new)
|
|
33
|
+
allowed_actions.push(:destroy) if allowed_actions.include?(:delete) && !allowed_actions.include?(:destroy)
|
|
34
|
+
allowed_actions.push(:delete) if allowed_actions.include?(:destroy) && !allowed_actions.include?(:delete)
|
|
30
35
|
|
|
31
36
|
allowed_actions.each do |a|
|
|
32
37
|
self[extent][path][a] = 1
|
|
@@ -134,4 +139,4 @@ class PermissionHash < HashWithIndifferentAccess
|
|
|
134
139
|
result
|
|
135
140
|
end
|
|
136
141
|
|
|
137
|
-
end
|
|
142
|
+
end
|
|
@@ -13,12 +13,6 @@ module Vigilante
|
|
|
13
13
|
ability = Ability.where("lower(name) = '#{role.downcase}'").first
|
|
14
14
|
raise StandardError.new("Role #{role} is not converted to a corresponding authorization. It does not exist.") if ability.nil?
|
|
15
15
|
|
|
16
|
-
# extent_params = {}
|
|
17
|
-
# unless extent.nil?
|
|
18
|
-
# extent_params[:extent] = extent.id
|
|
19
|
-
# extent_params[:extent_type] = extent.class.name
|
|
20
|
-
# end
|
|
21
|
-
|
|
22
16
|
new_authorization = ::Authorization.create(:operator_id => self.id, :ability_id => ability.id)
|
|
23
17
|
unless extent.nil?
|
|
24
18
|
new_authorization.add_extent(extent)
|
|
@@ -232,4 +226,4 @@ module Vigilante
|
|
|
232
226
|
end
|
|
233
227
|
|
|
234
228
|
end
|
|
235
|
-
end
|
|
229
|
+
end
|
data/vigilante.gemspec
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: vigilante 1.0.
|
|
5
|
+
# stub: vigilante 1.0.16 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "vigilante"
|
|
9
|
-
s.version = "1.0.
|
|
9
|
+
s.version = "1.0.16"
|
|
10
10
|
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
12
12
|
s.require_paths = ["lib"]
|
|
13
13
|
s.authors = ["Nathan Van der Auwera"]
|
|
14
|
-
s.date = "
|
|
14
|
+
s.date = "2020-04-04"
|
|
15
15
|
s.description = "Vigilante is a db-backed authorisation, completely configurable and dynamic; where permissions can be limited to extents."
|
|
16
16
|
s.email = "nathan@dixis.com"
|
|
17
17
|
s.extra_rdoc_files = [
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vigilante
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.16
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nathan Van der Auwera
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2020-04-04 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|