cul_omniauth 0.5.1 → 0.5.2

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: c61a80d8b694720517e45c004770acf8bfa5d1ab
4
- data.tar.gz: ba3dec1e16ff45127e6f2dd5b6e40c51f679aacc
3
+ metadata.gz: bf19c3f3c7ecdf7bb405d29f7d2c593c190752ef
4
+ data.tar.gz: b67f3c701be26d95141e7c616346796f192c3886
5
5
  SHA512:
6
- metadata.gz: 37c0e2aa4045bb96de86c0e4a098a169bb138bd46d49741f4fe4c9f085290fe425b7fa2436eafac785ca85b5089bc3277cd19aaf3473dadac229a39e80471fd5
7
- data.tar.gz: d33ea623afc2dd57d7b64d423eb3e73936e38ac0a84ffc081959c1e862a3ae79c8e96e2d51f9de2ff7fe6fc8ab510f9bbee92558421b6fa40eb273a1b18678d7
6
+ metadata.gz: f28759221aae5a03b598b7d2c1a8df2da34471434d3991b7f84af6bf0a9930c1fa109a5a4ec9e7e5be1b75e97412070c3c81607f45cfc69f3acccdfa75771ff3
7
+ data.tar.gz: 340ee56f8116272c7937ad6c80ac7bc25b444aaa4f5b6ea94523a597a20cac77c10753dc8d54a40aa5e708825ef538e6be43bece722c88ecf06a4146aabfa58f
@@ -5,17 +5,21 @@ module Cul::Omniauth::Abilities
5
5
  ARRAY = [].freeze
6
6
  end
7
7
  def initialize(user=nil, opts={})
8
- @user = user || User.new
9
- roles = opts[:roles] || Empty::HASH
10
8
  if user
9
+ @user = user
10
+ opts = {user_id: user.uid}.merge(opts)
11
+ else
12
+ @user = User.new
13
+ end
14
+ roles = opts[:roles] || Empty::HASH
15
+ if @user
11
16
  role_permissions = self.class.config.select do |role,config|
12
- roles.include?(role) or user.role?(role)
17
+ roles.include?(role) or @user.role?(role)
13
18
  end
14
- role_permissions[:'*'] = self.class.config.fetch(:*,Empty::HASH)
15
- opts = {user_id: user.uid}.merge(opts)
16
19
  else
17
- role_permissions = {:'*' => self.class.config.fetch(:*,Empty::HASH)}
20
+ role_permissions = {}
18
21
  end
22
+ role_permissions[:'*'] = self.class.config.fetch(:*,Empty::HASH)
19
23
  role_permissions.each do |role, config|
20
24
  config.fetch(:can,Empty::HASH).each do |action, conditions|
21
25
  if conditions.blank?
@@ -1,5 +1,5 @@
1
1
  module Cul
2
2
  module Omniauth
3
- VERSION = "0.5.1"
3
+ VERSION = "0.5.2"
4
4
  end
5
5
  end
@@ -224,3 +224,27 @@ no persisted user for id {"uid"=>"foo", "extra"=>{}}
224
224
  no persisted user for id {"uid"=>"foo", "extra"=>{}}
225
225
  no persisted user for id {"uid"=>"foo", "extra"=>{}}
226
226
  no persisted user for id {"uid"=>"foo", "extra"=>{}}
227
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
228
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
229
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
230
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
231
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
232
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
233
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
234
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
235
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
236
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
237
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
238
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
239
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
240
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
241
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
242
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
243
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
244
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
245
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
246
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
247
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
248
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
249
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
250
+ no persisted user for id {"uid"=>"foo", "extra"=>{}}
@@ -163,4 +163,30 @@ describe Cul::Omniauth::Abilities do
163
163
  end
164
164
  end
165
165
  end
166
+
167
+ context "with no user" do
168
+ let(:current_user) { nil }
169
+ let(:rules) do
170
+ YAML.load(fixture('test/role_config/members.yml').read)['_all_environments']
171
+ end
172
+ before do
173
+ Ability.instance_variable_set :@role_proxy_config, symbolize_hash_keys(rules)
174
+ rig.instance_variable_set :@current_ability, nil
175
+ end
176
+ after do
177
+ Ability.instance_variable_set :@role_proxy_config, nil
178
+ end
179
+ subject do
180
+ rig.current_ability
181
+ end
182
+ it "has abilities of *" do
183
+ expect(subject.can? :index, proxy).to be
184
+ end
185
+ it "has abilities of roles with member *" do
186
+ expect(subject.can? :download, proxy).to be
187
+ end
188
+ it "doesn't have unexpected abilities" do
189
+ expect(subject.can? :update, proxy).not_to be
190
+ end
191
+ end
166
192
  end
data/spec/spec_helper.rb CHANGED
@@ -61,4 +61,5 @@ class User
61
61
  def self.devise(*args); end
62
62
  def persisted?; persisted; end
63
63
  include Cul::Omniauth::Users
64
+ include Cul::Omniauth::Users::ConfiguredRoles
64
65
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cul_omniauth
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.1
4
+ version: 0.5.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - barmintor
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-04 00:00:00.000000000 Z
11
+ date: 2015-10-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails