active_model_serializers_cancancan 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0c73184a79fdd879b8191cb33131026be82a74a4
4
- data.tar.gz: a3b5dcad57c29c664b7af657e8713530594318ce
3
+ metadata.gz: f0ec85b16ca00aa3dc67b76e197749a3201765b4
4
+ data.tar.gz: faf305683d37e1786a558acb890865caf5a8e205
5
5
  SHA512:
6
- metadata.gz: a6abdaa71b6e3ed251c6e31caa8376b66e33f69af1d79662d756d8c55199957fda5ebe1d2833cf291a3da1067d4aea02addafd59aa1c3015690231cda1a1e4e5
7
- data.tar.gz: 8ba3ced18b6092081ce2efdaa1d7b7f0e4e28d3586f80fd264890728bdd9c64619e64ada9c88d882861958828f6cfd24381b9f9cc122259f74c084895e72d682
6
+ metadata.gz: 51daa4dad16cd539c2990329e22989d6f95ab0eb405a660f2192707a113f155c2957f42158f97a12a5497ac73f67c80eaf01ac1b1378d3cdfb44cf178216af4a
7
+ data.tar.gz: 973ca7e04de70f4203e0cd3b04a757a7561cce4861c8d443cba19e6674bcefa5cc85a0d74edf797f260b34f9fb570c20f8955bfe1a1d171d41414f39b6905310
@@ -21,7 +21,8 @@ Gem::Specification.new do |gem|
21
21
 
22
22
  gem.add_development_dependency 'bundler'
23
23
  gem.add_development_dependency 'rake'
24
- gem.add_development_dependency 'rspec', '~> 2.99.0'
24
+ gem.add_development_dependency 'rspec', '~> 3'
25
+ gem.add_development_dependency 'rspec-its'
25
26
  gem.add_development_dependency 'pry'
26
- gem.add_development_dependency 'mongoid', '~> 5'
27
+ gem.add_development_dependency 'mongoid', '~> 6'
27
28
  end
@@ -7,8 +7,8 @@ module ActiveModel
7
7
  !!options[:authorize]
8
8
  end
9
9
 
10
- def value_with_cancan(serializer)
11
- val = value_without_cancan(serializer)
10
+ def value_with_cancan(serializer, include_slice)
11
+ val = value_without_cancan(serializer, include_slice)
12
12
  unless authorize?
13
13
  return val
14
14
  end
@@ -1,7 +1,7 @@
1
1
  module ActiveModel
2
2
  module Serializers
3
3
  module Cancan
4
- VERSION = "0.1.1"
4
+ VERSION = "0.2.0"
5
5
  end
6
6
  end
7
7
  end
@@ -4,6 +4,13 @@ describe ActiveModel::Serializer::CanCan::Abilities do
4
4
  let(:user) { User.first }
5
5
  let(:category) { Category.first }
6
6
 
7
+ describe 'sane' do
8
+ it do
9
+ expect(user).to_not be_nil
10
+ expect(category).to_not be_nil
11
+ end
12
+ end
13
+
7
14
  class MockAbility
8
15
  include CanCan::Ability
9
16
  def initialize(user)
@@ -15,7 +22,7 @@ describe ActiveModel::Serializer::CanCan::Abilities do
15
22
  describe '.abilities' do
16
23
  let(:serializer) do
17
24
  Class.new(ActiveModel::Serializer) do
18
- attributes :id
25
+ attribute :id
19
26
  abilities :restful, :foo, :bar
20
27
  def current_ability
21
28
  MockAbility.new(nil)
@@ -27,7 +34,7 @@ describe ActiveModel::Serializer::CanCan::Abilities do
27
34
 
28
35
  def can_bar?
29
36
  cannot? :read, Category
30
- end
37
+ end
31
38
  end
32
39
  end
33
40
 
@@ -41,10 +48,10 @@ describe ActiveModel::Serializer::CanCan::Abilities do
41
48
  context 'abilities key' do
42
49
  subject { category_serializer.serializable_hash[:can] }
43
50
  its([:restful]) { should be_nil }
44
- its([:update]) { should be_true }
45
- its([:show]) { should be_false }
46
- its([:foo]) { should be_true }
47
- its([:bar]) { should be_true }
51
+ its([:update]) { should be true }
52
+ its([:show]) { should be false }
53
+ its([:foo]) { should be true }
54
+ its([:bar]) { should be true }
48
55
  end
49
56
  end
50
57
  end
@@ -94,7 +94,7 @@ describe ActiveModel::Serializer::Associations do
94
94
  def initialize(user)
95
95
  can :read, Category
96
96
  can :read, Project do |pr|
97
- pr.user == user
97
+ pr.user.id == user.id
98
98
  end
99
99
  end
100
100
  end
data/spec/spec_helper.rb CHANGED
@@ -5,6 +5,8 @@ Bundler.require(:default, :test)
5
5
  require 'mongoid'
6
6
  require 'active_model_serializers_cancancan'
7
7
 
8
+ require 'rspec/its'
9
+
8
10
  Mongoid.configure do |config|
9
11
  config.connect_to "ams-test"
10
12
  end
@@ -19,30 +21,30 @@ end
19
21
 
20
22
  class Project
21
23
  include Mongoid::Document
22
- belongs_to :user
23
- belongs_to :category
24
+ belongs_to :user, required: false
25
+ belongs_to :category, required: false
24
26
  has_many :categories
25
27
  end
26
28
 
27
29
  class Category
28
30
  include Mongoid::Document
29
- belongs_to :user
30
- belongs_to :project
31
+ belongs_to :user, required: false
32
+ belongs_to :project, required: false
31
33
  has_many :projects
32
34
  end
33
35
 
34
36
  RSpec.configure do |config|
35
- config.before do
36
- user1 = User.create(id: 1, name: "User1")
37
- user2 = User.create(id: 2, name: "User2")
37
+ config.before(:each) do
38
+ user1 = User.create!(id: 1, name: "User1")
39
+ user2 = User.create!(id: 2, name: "User2")
38
40
 
39
- c = Category.create(project: Project.create(user: user2))
41
+ c = Category.create!(project: Project.create!(user: user2))
40
42
 
41
- Project.create(user: user1, category: c)
42
- Project.create(user: user2, category: c)
43
+ Project.create!(user: user1, category: c)
44
+ Project.create!(user: user2, category: c)
43
45
  end
44
46
 
45
- config.after do
47
+ config.after(:each) do
46
48
  User.delete_all
47
49
  Project.delete_all
48
50
  Category.delete_all
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_model_serializers_cancancan
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GlebTv
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2016-08-04 00:00:00.000000000 Z
12
+ date: 2017-02-03 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: active_model_serializers
@@ -73,14 +73,28 @@ dependencies:
73
73
  requirements:
74
74
  - - "~>"
75
75
  - !ruby/object:Gem::Version
76
- version: 2.99.0
76
+ version: '3'
77
77
  type: :development
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: 2.99.0
83
+ version: '3'
84
+ - !ruby/object:Gem::Dependency
85
+ name: rspec-its
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
84
98
  - !ruby/object:Gem::Dependency
85
99
  name: pry
86
100
  requirement: !ruby/object:Gem::Requirement
@@ -101,14 +115,14 @@ dependencies:
101
115
  requirements:
102
116
  - - "~>"
103
117
  - !ruby/object:Gem::Version
104
- version: '5'
118
+ version: '6'
105
119
  type: :development
106
120
  prerelease: false
107
121
  version_requirements: !ruby/object:Gem::Requirement
108
122
  requirements:
109
123
  - - "~>"
110
124
  - !ruby/object:Gem::Version
111
- version: '5'
125
+ version: '6'
112
126
  description:
113
127
  email:
114
128
  - glebtv@gmail.com
@@ -154,7 +168,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
168
  version: '0'
155
169
  requirements: []
156
170
  rubyforge_project:
157
- rubygems_version: 2.5.1
171
+ rubygems_version: 2.6.8
158
172
  signing_key:
159
173
  specification_version: 4
160
174
  summary: CanCanCan integration with Active Model Serializers