cancancan 1.9.1 → 1.9.2
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 72e7c59df453fdbf97f4f3f9daf1faa01f102af1
|
4
|
+
data.tar.gz: a939e62999f39b20089742ebf5d12e1d384cabc4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 32a8944af1356a883b6bb9365afddce4d89a66a3fbf3c84d5351531091f7d7533644e48b44515303dc2c5a19a39399b91189fb19dfd73574206f7ca06adf30b9
|
7
|
+
data.tar.gz: 904cd58c86b3af22979dfe44cd802c44035e3a15c241efd0c35e65a8c3369bd88047e8731e180ad557fe820f19d113ff82a9f49644495a5b5e950f2e0b8a82e2
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
Develop
|
2
2
|
|
3
3
|
|
4
|
+
1.9.2 (August 8th, 2014)
|
5
|
+
|
6
|
+
* Fix cancancan#77, 78 - Fix an issue with associations for namespaced models. (jjp)
|
7
|
+
|
8
|
+
|
4
9
|
1.9.1 (July 21st, 2014)
|
5
10
|
|
6
11
|
* Fix cancancan#101 - Fixes an issue where overjealous use of references would cause issues with scopes when loading associations. (bryanrite)
|
@@ -32,7 +32,7 @@ module CanCan
|
|
32
32
|
conditions.inject({}) do |result_hash, (name, value)|
|
33
33
|
if value.kind_of? Hash
|
34
34
|
value = value.dup
|
35
|
-
association_class = model_class.reflect_on_association(name).
|
35
|
+
association_class = model_class.reflect_on_association(name).klass.name.constantize
|
36
36
|
nested = value.inject({}) do |nested,(k,v)|
|
37
37
|
if v.kind_of? Hash
|
38
38
|
value.delete(k)
|
data/lib/cancan/version.rb
CHANGED
@@ -342,6 +342,45 @@ if defined? CanCan::ModelAdapters::ActiveRecordAdapter
|
|
342
342
|
expect { @ability.can? :read, Article }.not_to raise_error
|
343
343
|
end
|
344
344
|
|
345
|
+
context "with namespaced models" do
|
346
|
+
before :each do
|
347
|
+
ActiveRecord::Schema.define do
|
348
|
+
create_table( :table_xes ) do |t|
|
349
|
+
t.timestamps
|
350
|
+
end
|
351
|
+
|
352
|
+
create_table( :table_zs ) do |t|
|
353
|
+
t.integer :table_x_id
|
354
|
+
t.integer :user_id
|
355
|
+
t.timestamps
|
356
|
+
end
|
357
|
+
end
|
358
|
+
|
359
|
+
module Namespace
|
360
|
+
end
|
361
|
+
|
362
|
+
class Namespace::TableX < ActiveRecord::Base
|
363
|
+
has_many :table_zs
|
364
|
+
end
|
365
|
+
|
366
|
+
class Namespace::TableZ < ActiveRecord::Base
|
367
|
+
belongs_to :table_x
|
368
|
+
belongs_to :user
|
369
|
+
end
|
370
|
+
end
|
371
|
+
|
372
|
+
it "fetches all namespace::table_x when one is related by table_y" do
|
373
|
+
user = User.create!
|
374
|
+
|
375
|
+
ability = Ability.new(user)
|
376
|
+
ability.can :read, Namespace::TableX, :table_zs => { :user_id => user.id }
|
377
|
+
|
378
|
+
table_x = Namespace::TableX.create!
|
379
|
+
table_z = table_x.table_zs.create( :user => user )
|
380
|
+
expect(Namespace::TableX.accessible_by(ability)).to eq([table_x])
|
381
|
+
end
|
382
|
+
end
|
383
|
+
|
345
384
|
context "when MetaWhere is defined" do
|
346
385
|
before :each do
|
347
386
|
pending "[Deprecated] MetaWhere support is being removed" unless defined? MetaWhere
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cancancan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bryan Rite
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2014-
|
12
|
+
date: 2014-08-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|