active_model_serializers_cancancan 0.1.1 → 0.2.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.
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