mumukit-auth 0.2.3 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +8 -8
- data/lib/mumukit/auth/metadata.rb +18 -4
- data/lib/mumukit/auth/user.rb +13 -2
- data/lib/mumukit/auth/version.rb +1 -1
- metadata +4 -18
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
OTg2YjA1MGExZDRlODhkMjk4MTJiNGFlN2FlZWE5NDcwNTgxYjM1YQ==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
M2U4ZmU4MDE1NjViNGIxYzgzMzNmNzRmNmE1MjMxMWMxNjE4ZTM3OA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
ODZkYTk5NjcxNzcxYTRkYWE1MjU5MmYwMmQzYmZmNzFiNDUxNmU2YjIxMGM1
|
10
|
+
ZWVmZjMyZWVjY2MzZDkzMDQyNTRjOGQwZTRhMjA3ODkyYTM1ZjgxNGMxYzgx
|
11
|
+
ZjkxNmUwNDMyYTI0MzQ2N2MwMmYxYjE0ZDA3ZTQ1NjIxMDJjZDM=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
YTUyZWExNzBlMTQyMWRmNTcwMzEzZWZkYmYyNWE3NzdlNjgxY2UyOWM0ZWYy
|
14
|
+
ZTYyZTQ4ZmRkYmUzOGI2MTNkZDFiYzhjOWE3NWExNWIwNWQ0MzBmNGM2ZDE1
|
15
|
+
MTJkNjE0MDBjNjVlNjc3YzdlZGI4ZmIyYjQ0MTZhYzczMDFjYmQ=
|
@@ -13,15 +13,29 @@ class Mumukit::Auth::Metadata
|
|
13
13
|
|
14
14
|
def add_permission!(app, permission)
|
15
15
|
if permissions(app).present?
|
16
|
-
@json[app] =
|
16
|
+
@json[app] = process_add_permission(app, permission)
|
17
17
|
else
|
18
18
|
@json.merge!("#{app}" => {'permissions' => permission})
|
19
19
|
end
|
20
|
-
@json
|
21
20
|
end
|
22
21
|
|
23
|
-
def
|
24
|
-
|
22
|
+
def remove_permission!(app, permission)
|
23
|
+
if permissions(app).present?
|
24
|
+
@json[app] = process_remove_permission(app, permission)
|
25
|
+
end
|
26
|
+
@json.delete(app) if @json.dig(app, 'permissions').blank?
|
27
|
+
end
|
28
|
+
|
29
|
+
def process_permission(new_permissions)
|
30
|
+
{'permissions' => Mumukit::Auth::Permissions.load(new_permissions).to_s}
|
31
|
+
end
|
32
|
+
|
33
|
+
def process_remove_permission(app, permission)
|
34
|
+
process_permission(permissions(app).as_json.split(':').reject { |it| it == permission }.join(':'))
|
35
|
+
end
|
36
|
+
|
37
|
+
def process_add_permission(app, permission)
|
38
|
+
process_permission(permissions(app).as_json + ":#{permission}")
|
25
39
|
end
|
26
40
|
|
27
41
|
def librarian?(slug)
|
data/lib/mumukit/auth/user.rb
CHANGED
@@ -9,9 +9,14 @@ class Mumukit::Auth::User
|
|
9
9
|
@user = user || client.user(@social_id)
|
10
10
|
end
|
11
11
|
|
12
|
-
def
|
12
|
+
def add_permission!(key, permission)
|
13
13
|
metadata.add_permission!(key, permission)
|
14
|
-
|
14
|
+
update_user_metadata!
|
15
|
+
end
|
16
|
+
|
17
|
+
def remove_permission!(key, permission)
|
18
|
+
metadata.remove_permission!(key, permission)
|
19
|
+
update_user_metadata!
|
15
20
|
end
|
16
21
|
|
17
22
|
def permissions_string
|
@@ -64,4 +69,10 @@ class Mumukit::Auth::User
|
|
64
69
|
)
|
65
70
|
end
|
66
71
|
|
72
|
+
private
|
73
|
+
|
74
|
+
def update_user_metadata!
|
75
|
+
client.update_user_metadata social_id, metadata.as_json
|
76
|
+
end
|
77
|
+
|
67
78
|
end
|
data/lib/mumukit/auth/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mumukit-auth
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Franco Leonardo Bulgarelli
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-09-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -80,34 +80,20 @@ dependencies:
|
|
80
80
|
- - ! '>='
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: activesupport
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ! '>='
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :runtime
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ! '>='
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: mumukit-core
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
100
86
|
requirements:
|
101
87
|
- - ~>
|
102
88
|
- !ruby/object:Gem::Version
|
103
|
-
version: '0.
|
89
|
+
version: '0.2'
|
104
90
|
type: :runtime
|
105
91
|
prerelease: false
|
106
92
|
version_requirements: !ruby/object:Gem::Requirement
|
107
93
|
requirements:
|
108
94
|
- - ~>
|
109
95
|
- !ruby/object:Gem::Version
|
110
|
-
version: '0.
|
96
|
+
version: '0.2'
|
111
97
|
description:
|
112
98
|
email:
|
113
99
|
- franco@mumuki.org
|