disiid_user 3.1.3 → 3.1.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.
- data/lib/disiid_user.rb +5 -3
- data/lib/disiid_user/version.rb +1 -1
- data/spec/disiid_user_spec.rb +17 -7
- metadata +9 -9
data/lib/disiid_user.rb
CHANGED
|
@@ -21,11 +21,11 @@ require 'active_resource'
|
|
|
21
21
|
#
|
|
22
22
|
module DisiidUser
|
|
23
23
|
|
|
24
|
-
def self.included(klass)
|
|
24
|
+
def self.included(klass)
|
|
25
25
|
klass.class_eval do
|
|
26
|
+
extend ClassMethods
|
|
26
27
|
scope :with_local_role, lambda { |role| where('role & ? > 0', 2**LOCAL_ROLES.index(role.to_s)) }
|
|
27
28
|
end
|
|
28
|
-
klass.extend(ClassMethods)
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
########################################################################
|
|
@@ -55,12 +55,14 @@ module DisiidUser
|
|
|
55
55
|
# if you want to persist it in a local database.
|
|
56
56
|
#
|
|
57
57
|
# Note: your local :users table should :identity_url string attribute for this to work.
|
|
58
|
-
def
|
|
58
|
+
def build_from_identity_url(url)
|
|
59
59
|
user = new
|
|
60
60
|
user.identity_url = url
|
|
61
61
|
user
|
|
62
62
|
end
|
|
63
63
|
|
|
64
|
+
alias :build_from_identity :build_from_identity_url
|
|
65
|
+
|
|
64
66
|
# Looks for a local user record with a given UUID by matching its local attribute :identity_url.
|
|
65
67
|
# Creates a new user if it doesn't exist locally but is present remotely using #build_from_identity method.
|
|
66
68
|
# This method will throw ActiveRecord::RecordNotFound exception if persistance process didn't go well.
|
data/lib/disiid_user/version.rb
CHANGED
data/spec/disiid_user_spec.rb
CHANGED
|
@@ -36,13 +36,23 @@ describe DisiidUser do
|
|
|
36
36
|
@user.uuid.should be_nil
|
|
37
37
|
end
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
shared_examples_for "new user from identity" do
|
|
40
|
+
it { should be_instance_of(User) }
|
|
41
|
+
it { should be_new_record }
|
|
42
|
+
its(:identity_url) { should == 'http://openid.provider.local/users/6a002a40-bc63-4095-9bb0-f31bf386bf55' }
|
|
43
|
+
its(:uuid) { should == '6a002a40-bc63-4095-9bb0-f31bf386bf55' }
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
describe ".build_from_identity" do
|
|
47
|
+
it_should_behave_like "new user from identity" do
|
|
48
|
+
subject { User.build_from_identity('http://openid.provider.local/users/6a002a40-bc63-4095-9bb0-f31bf386bf55') }
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
describe ".build_from_identity_url" do
|
|
53
|
+
it_should_behave_like "new user from identity" do
|
|
54
|
+
subject { User.build_from_identity_url('http://openid.provider.local/users/6a002a40-bc63-4095-9bb0-f31bf386bf55') }
|
|
55
|
+
end
|
|
46
56
|
end
|
|
47
57
|
|
|
48
58
|
describe "#find_local_or_remote_by_uuid!" do
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: disiid_user
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 3.1.
|
|
4
|
+
version: 3.1.4
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -14,7 +14,7 @@ date: 2011-12-28 00:00:00.000000000Z
|
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: rspec
|
|
17
|
-
requirement: &
|
|
17
|
+
requirement: &70313544551380 !ruby/object:Gem::Requirement
|
|
18
18
|
none: false
|
|
19
19
|
requirements:
|
|
20
20
|
- - ! '>='
|
|
@@ -22,10 +22,10 @@ dependencies:
|
|
|
22
22
|
version: '0'
|
|
23
23
|
type: :development
|
|
24
24
|
prerelease: false
|
|
25
|
-
version_requirements: *
|
|
25
|
+
version_requirements: *70313544551380
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: bundler
|
|
28
|
-
requirement: &
|
|
28
|
+
requirement: &70313544550720 !ruby/object:Gem::Requirement
|
|
29
29
|
none: false
|
|
30
30
|
requirements:
|
|
31
31
|
- - ! '>='
|
|
@@ -33,10 +33,10 @@ dependencies:
|
|
|
33
33
|
version: '0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
|
-
version_requirements: *
|
|
36
|
+
version_requirements: *70313544550720
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
38
|
name: activeresource
|
|
39
|
-
requirement: &
|
|
39
|
+
requirement: &70313544550160 !ruby/object:Gem::Requirement
|
|
40
40
|
none: false
|
|
41
41
|
requirements:
|
|
42
42
|
- - ~>
|
|
@@ -44,10 +44,10 @@ dependencies:
|
|
|
44
44
|
version: '3'
|
|
45
45
|
type: :runtime
|
|
46
46
|
prerelease: false
|
|
47
|
-
version_requirements: *
|
|
47
|
+
version_requirements: *70313544550160
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
49
|
name: activerecord
|
|
50
|
-
requirement: &
|
|
50
|
+
requirement: &70313544549320 !ruby/object:Gem::Requirement
|
|
51
51
|
none: false
|
|
52
52
|
requirements:
|
|
53
53
|
- - ~>
|
|
@@ -55,7 +55,7 @@ dependencies:
|
|
|
55
55
|
version: '3'
|
|
56
56
|
type: :runtime
|
|
57
57
|
prerelease: false
|
|
58
|
-
version_requirements: *
|
|
58
|
+
version_requirements: *70313544549320
|
|
59
59
|
description: DISI - UniTN internal development
|
|
60
60
|
email:
|
|
61
61
|
- tech@disi.unitn.it
|