bitroleable 0.0.1 → 0.0.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: b0b6ba76c2ef2cca371421b9fdb1416e326c39a2
4
- data.tar.gz: 42981aa3e164c94b05231f1a93b571a37a08bc61
3
+ metadata.gz: 10f67c0fc1f2251121f9a9bee55f6e0bacd159af
4
+ data.tar.gz: f4545cab4d688a0919b95db4d565037fff03b28f
5
5
  SHA512:
6
- metadata.gz: 57ec975878c64be78c84d52038f96844309b5650b05f93fdebc89cbcd6d4e5ebb8538c332e60760e787123a233aaeb89ad34d73e1b3d7c84711d05b9af1adf1e
7
- data.tar.gz: aabf60eeed2f30813599b257e57789e61b7db7d1351cc8a19b0365c6358308da9d15dbb311acbc8adff652959e894ebfdade32c181d60bfde0d679012287388a
6
+ metadata.gz: 3d3bfa99d5f81f5ea7796f4e94433cbd8b514e6c6456c90e5c9e1be95c401f69207acb4978014a70f488ae364df4a7fb37f084b5a315de9cbfb6e1aad0c7c7c7
7
+ data.tar.gz: 395dfa76bca47f97858af6f27213c4debd9690fc25ec1ac643f3a19fe0f10ccd6793df06995c7a065fdbb79a64cdfbdf63912e95fe2e3e709597a829df5665af
data/lib/bitroleable.rb CHANGED
@@ -34,6 +34,7 @@ module Bitroleable
34
34
  end
35
35
 
36
36
  define_method("#{column}=".to_sym) do |value|
37
+ return self[column] = 0 if value.blank?
37
38
  if roles_options[:multi]
38
39
  roles = value.is_a?(Array) ? value : [value]
39
40
  self[column] = 0
@@ -1,3 +1,3 @@
1
1
  module Bitroleable
2
- VERSION = '0.0.1'
2
+ VERSION = '0.0.2'
3
3
  end
@@ -31,6 +31,18 @@ RSpec.describe Bitroleable, type: :model do
31
31
  expect(User.where_role(:moderator).first).to eq user
32
32
  end
33
33
  end
34
+
35
+ context 'when a role is nil' do
36
+ it 'should have not any roles' do
37
+ user.role = nil
38
+
39
+ expect(user.admin?).to be false
40
+ expect(user.user?).to be false
41
+ expect(user.moderator?).to be false
42
+
43
+ expect(user.role).to eq nil
44
+ end
45
+ end
34
46
  end
35
47
 
36
48
  context 'given a multi role model' do
@@ -70,5 +82,17 @@ RSpec.describe Bitroleable, type: :model do
70
82
  expect(Customer.where_role(:admin, :user).first).to eq customer
71
83
  end
72
84
  end
85
+
86
+ context 'when a role is empty array' do
87
+ it 'should have not any roles' do
88
+ customer.role = []
89
+
90
+ expect(customer.admin?).to be false
91
+ expect(customer.user?).to be false
92
+ expect(customer.moderator?).to be false
93
+
94
+ expect(customer.role).to eq []
95
+ end
96
+ end
73
97
  end
74
98
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitroleable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugene Kondratiuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-26 00:00:00.000000000 Z
11
+ date: 2015-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails