bitroleable 0.0.3 → 0.0.4

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: c82952010fd76f5d26974f680d0dc06283b16f25
4
- data.tar.gz: 4e3f57ad48c624f40264fa6371e5a55e943d3ad7
3
+ metadata.gz: 82e06054c077b8c25fe5ff27686a6a4d00604b7a
4
+ data.tar.gz: 92c5a1884cbe301b5df03c365d880415a6aa8d8c
5
5
  SHA512:
6
- metadata.gz: 41cd27583e08e15b74cc750407ab8b985f895c674287d7a65ababd8898456fcc99ea8ae2ba59749bc60833ed7e9c29ee2949104b15a007bd4eb14e97e9a86dc9
7
- data.tar.gz: 86ba561bff04dc96d786ebc70f803221305d693666f257e27ea7ea7771af8cde1d3795483b460eb1c55814f4fb39d2063f1060de4d273568e7dff7c874f4f256
6
+ metadata.gz: 7077e57a216da8e53899298df363dd13ef34fc5aea9cf8a5298f0e974696483ed139ffd8c4e290d3da10fa946feec915715b514e3703c655550418287b851b18
7
+ data.tar.gz: 68856f993d0207f704fd4edea19f14f3062ef11a10e563fdfcbb5f189bd6ec0c7697fbf6b63cb867bb7ce8beb2f0e9ff8b4e4c241ed7d2c8e54fe75b69914d90
data/README.md CHANGED
@@ -49,6 +49,7 @@ For now it has only one option:
49
49
  user = User.first
50
50
  user.admin! # => user becomes an admin
51
51
  user.admin? # => true
52
+ user.role?(:admin) # => true
52
53
  user.user? # => false
53
54
  user.role # => [:admin]
54
55
  user.role = [:user, :moderator]
data/lib/bitroleable.rb CHANGED
@@ -21,7 +21,7 @@ module Bitroleable
21
21
 
22
22
  roles_list.each do |role|
23
23
  define_method("#{role}?".to_sym) do
24
- self[column] & self.class.role_value(role) > 0
24
+ role?(role)
25
25
  end
26
26
 
27
27
  define_method("#{role}!".to_sym) do
@@ -64,6 +64,10 @@ module Bitroleable
64
64
  end
65
65
  end
66
66
 
67
+ define_method(:role?) do |role|
68
+ self[column] & self.class.role_value(role) > 0
69
+ end
70
+
67
71
  define_singleton_method :role_value do |role|
68
72
  index = roles_list.index(role.to_sym)
69
73
  fail StandardError, "The role #{role} doesn't exist" if index.nil?
@@ -1,3 +1,3 @@
1
1
  module Bitroleable
2
- VERSION = '0.0.3'
2
+ VERSION = '0.0.4'
3
3
  end
@@ -9,6 +9,10 @@ RSpec.describe Bitroleable, type: :model do
9
9
  expect(user.user?).to be false
10
10
  expect(user.moderator?).to be false
11
11
 
12
+ expect(user.role?(:admin)).to eq true
13
+ expect(user.role?(:user)).to eq false
14
+ expect(user.role?(:moderator)).to eq false
15
+
12
16
  expect(user.role).to eq :admin
13
17
 
14
18
  expect(User.where_role(:user).count).to eq 0
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.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eugene Kondratiuk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-01 00:00:00.000000000 Z
11
+ date: 2016-10-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails