rails-canhaz 0.2.0 → 0.3.0
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.
- data/lib/rails-canhaz/extensions_object.rb +6 -0
- data/lib/rails-canhaz/model_extensions.rb +2 -0
- data/rails-canhaz.gemspec +2 -2
- data/test/test_canhaz.rb +32 -0
- metadata +10 -5
@@ -24,6 +24,12 @@ module CanHaz
|
|
24
24
|
type.where('id IN (?)', ids)
|
25
25
|
end
|
26
26
|
|
27
|
+
# Removes all rights on this object
|
28
|
+
#
|
29
|
+
def not_accessible
|
30
|
+
CanHazPermission.destroy_all(['cobject_id = ? AND cobject_type = ?', self.id, self.class.to_s])
|
31
|
+
end
|
32
|
+
|
27
33
|
def canhaz_object?
|
28
34
|
true
|
29
35
|
end
|
@@ -17,6 +17,7 @@ module CanHaz
|
|
17
17
|
#
|
18
18
|
def acts_as_canhaz_object
|
19
19
|
include CanHaz::ModelExtensions::Object
|
20
|
+
before_destroy :not_accessible # Removes permission before deleting the object
|
20
21
|
end
|
21
22
|
|
22
23
|
##
|
@@ -24,6 +25,7 @@ module CanHaz
|
|
24
25
|
#
|
25
26
|
def acts_as_canhaz_subject
|
26
27
|
include CanHaz::ModelExtensions::Subject
|
28
|
+
before_destroy :can_do_nothing # Removes permission before deleting the subject
|
27
29
|
end
|
28
30
|
|
29
31
|
end
|
data/rails-canhaz.gemspec
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
Gem::Specification.new do |s|
|
2
2
|
s.name = 'rails-canhaz'
|
3
|
-
s.version = '0.
|
4
|
-
s.date = '2012-
|
3
|
+
s.version = '0.3.0'
|
4
|
+
s.date = '2012-05-20'
|
5
5
|
s.summary = "A simple gem for managing permissions between rails models"
|
6
6
|
s.description = "A simple gem for managing permissions between rails models"
|
7
7
|
s.authors = ["Adrien Siami (Intrepidd)"]
|
data/test/test_canhaz.rb
CHANGED
@@ -216,5 +216,37 @@ class CanHazTest < Test::Unit::TestCase
|
|
216
216
|
|
217
217
|
end
|
218
218
|
|
219
|
+
def test_destroy
|
220
|
+
s = SubjectModel.new
|
221
|
+
o = ObjectModel.new
|
222
|
+
|
223
|
+
s.save
|
224
|
+
o.save
|
225
|
+
|
226
|
+
id = s.id
|
227
|
+
|
228
|
+
s.can(:foo, o)
|
229
|
+
s.can(:bar, o)
|
230
|
+
|
231
|
+
s.destroy
|
232
|
+
|
233
|
+
assert CanHazPermission.find_by_csubject_id(id).nil?
|
234
|
+
|
235
|
+
s = SubjectModel.new
|
236
|
+
o = ObjectModel.new
|
237
|
+
|
238
|
+
s.save
|
239
|
+
o.save
|
240
|
+
|
241
|
+
id = o.id
|
242
|
+
|
243
|
+
s.can(:foo, o)
|
244
|
+
s.can(:bar, o)
|
245
|
+
|
246
|
+
o.destroy
|
247
|
+
|
248
|
+
assert CanHazPermission.find_by_cobject_id(id).nil?
|
249
|
+
end
|
250
|
+
|
219
251
|
end
|
220
252
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails-canhaz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-05-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,7 +21,12 @@ dependencies:
|
|
21
21
|
version: 3.1.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.1.0
|
25
30
|
description: A simple gem for managing permissions between rails models
|
26
31
|
email: adrien@siami.fr
|
27
32
|
executables: []
|
@@ -67,7 +72,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
67
72
|
version: '0'
|
68
73
|
requirements: []
|
69
74
|
rubyforge_project:
|
70
|
-
rubygems_version: 1.8.
|
75
|
+
rubygems_version: 1.8.23
|
71
76
|
signing_key:
|
72
77
|
specification_version: 3
|
73
78
|
summary: A simple gem for managing permissions between rails models
|