simon_says 0.3.0.alpha.1 → 0.3.0.alpha.3
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 +5 -5
- data/.travis.yml +6 -2
- data/lib/simon_says/roleable.rb +22 -21
- data/lib/simon_says/version.rb +1 -1
- data/simon_says.gemspec +1 -1
- data/test/test_helper.rb +2 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: ab60ddcb71d25abd747c76c6ab0758b7cb3e2e4bc7cc3fef23cab0b42abc1d1f
|
4
|
+
data.tar.gz: bd0e7a95fcf5669a560028034fcf4f15386b00d73d9170bdaab0cb328ee7099f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 176d279798d67b2ca54c014397766c79ccb735d35c5ff790eb0a57ae3f27be7c4920a1492a4823d7611d7ad3855dec84012a519d0c9a56ec7be97ff943970ff1
|
7
|
+
data.tar.gz: '098fb9a5b568ae853a9b7840910777a932a8aa0796a030281acc890b2bdb9006ba87df04b835c394350d2cac1d5d215faf2f139441d97a18ff7506a18e4b2303'
|
data/.travis.yml
CHANGED
data/lib/simon_says/roleable.rb
CHANGED
@@ -93,34 +93,27 @@ module SimonSays
|
|
93
93
|
RUBY_EVAL
|
94
94
|
end
|
95
95
|
|
96
|
-
|
97
|
-
|
96
|
+
Roleable.define_orm_scope self, "with_#{name}" do |*args|
|
97
|
+
clause = "#{name}_mask & ?"
|
98
|
+
values = Roleable.cast_roles_to_ints(roles, *args)
|
98
99
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
clause = "#{name}_mask & ?"
|
104
|
-
values = Roleable.roles2ints(roles, *args)
|
105
|
-
|
106
|
-
query = where(clause, values.shift)
|
107
|
-
query = query.or(where(clause, values.shift)) until values.empty?
|
108
|
-
query
|
109
|
-
}
|
100
|
+
query = where(clause, values.shift)
|
101
|
+
query = query.or(where(clause, values.shift)) until values.empty?
|
102
|
+
query
|
103
|
+
end
|
110
104
|
|
111
|
-
|
112
|
-
|
113
|
-
|
105
|
+
Roleable.define_orm_scope self, "with_all_#{name}" do |*args|
|
106
|
+
clause = "#{name}_mask & ?"
|
107
|
+
values = Roleable.cast_roles_to_ints(roles, *args)
|
114
108
|
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
}
|
109
|
+
query = where(clause, values.shift)
|
110
|
+
query = query.where(clause, values.shift) until values.empty?
|
111
|
+
query
|
119
112
|
end
|
120
113
|
end
|
121
114
|
end
|
122
115
|
|
123
|
-
def self.
|
116
|
+
def self.cast_roles_to_ints(defined_roles, *args)
|
124
117
|
values = args.map do |arg|
|
125
118
|
index = defined_roles.index(arg)
|
126
119
|
index ? 2 ** index : nil
|
@@ -128,5 +121,13 @@ module SimonSays
|
|
128
121
|
|
129
122
|
values.tap(&:flatten!)
|
130
123
|
end
|
124
|
+
|
125
|
+
def self.define_orm_scope(model, name, &block)
|
126
|
+
if defined? ActiveRecord
|
127
|
+
model.scope name, block
|
128
|
+
elsif defined? Sequel
|
129
|
+
model.dataset_module { subset name, &block }
|
130
|
+
end
|
131
|
+
end
|
131
132
|
end
|
132
133
|
end
|
data/lib/simon_says/version.rb
CHANGED
data/simon_says.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_dependency "activesupport", ">= 4.0"
|
22
22
|
|
23
|
-
spec.add_development_dependency "bundler", "~>
|
23
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
24
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
25
|
spec.add_development_dependency "rails", ">= 4.0", "< 5.2"
|
26
26
|
spec.add_development_dependency "responders", "~> 2.0"
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simon_says
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.0.alpha.
|
4
|
+
version: 0.3.0.alpha.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Coyne
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date:
|
13
|
+
date: 2019-05-22 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -32,14 +32,14 @@ dependencies:
|
|
32
32
|
requirements:
|
33
33
|
- - "~>"
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: '
|
35
|
+
version: '2.0'
|
36
36
|
type: :development
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: '
|
42
|
+
version: '2.0'
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: rake
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -236,7 +236,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
236
236
|
version: 1.3.1
|
237
237
|
requirements: []
|
238
238
|
rubyforge_project:
|
239
|
-
rubygems_version: 2.
|
239
|
+
rubygems_version: 2.7.9
|
240
240
|
signing_key:
|
241
241
|
specification_version: 4
|
242
242
|
summary: Light-weight, declarative authorization and access control for Rails
|