bitroleable 0.0.3 → 0.0.4

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: 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