devise-basecamper 0.1.3 → 0.2.0
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/devise-basecamper/model.rb +18 -4
- data/lib/devise-basecamper/version.rb +1 -1
- metadata +8 -2
@@ -2,22 +2,22 @@ module Devise
|
|
2
2
|
module Models
|
3
3
|
module Basecamper
|
4
4
|
extend ActiveSupport::Concern
|
5
|
-
|
5
|
+
|
6
6
|
module ClassMethods
|
7
7
|
def devise_basecamper(opts={})
|
8
8
|
defaults = {
|
9
9
|
:subdomain_class => :account,
|
10
10
|
:subdomain_field => :subdomain,
|
11
|
-
:scope_field => :account_id
|
11
|
+
:scope_field => :account_id
|
12
12
|
}
|
13
13
|
@devise_basecamper_settings = defaults.merge(opts)
|
14
14
|
end
|
15
|
-
|
15
|
+
|
16
16
|
def basecamper
|
17
17
|
self.devise_basecamper if @devise_basecamper_settings.nil?
|
18
18
|
return @devise_basecamper_settings
|
19
19
|
end
|
20
|
-
|
20
|
+
|
21
21
|
def find_for_authentication(conditions={})
|
22
22
|
if conditions[:subdomain].present?
|
23
23
|
resource = self.basecamper[:subdomain_class].to_s.camelize.constantize
|
@@ -27,6 +27,20 @@ module Devise
|
|
27
27
|
end
|
28
28
|
super
|
29
29
|
end
|
30
|
+
|
31
|
+
# TODO: Probably should break this out or atleast put some conditions in place
|
32
|
+
# so that this method is only included when "RECOVERABLE" is a specified option
|
33
|
+
# for the resource.
|
34
|
+
#
|
35
|
+
# We want to override this method to find our users within the scope
|
36
|
+
# of our subdomain.
|
37
|
+
def send_reset_password_instructions(attributes={})
|
38
|
+
resource = self.basecamper[:subdomain_class].to_s.camelize.constantize
|
39
|
+
subdomain_source = resource.to_adapter.find_first(self.basecamper[:subdomain_field] => attributes[:subdomain])
|
40
|
+
recoverable = find_or_initialize_with_errors([self.basecamper[:scope_field], :email], { :email => attributes[:email], self.basecamper[:scope_field] => (subdomain_source.nil? ? nil : subdomain_source.id.to_s) })
|
41
|
+
recoverable.send_reset_password_instructions if recoverable.persisted?
|
42
|
+
recoverable
|
43
|
+
end
|
30
44
|
end
|
31
45
|
end
|
32
46
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: devise-basecamper
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-09-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: orm_adapter
|
@@ -73,12 +73,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
73
73
|
- - ! '>='
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0'
|
76
|
+
segments:
|
77
|
+
- 0
|
78
|
+
hash: -987934111135055412
|
76
79
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
77
80
|
none: false
|
78
81
|
requirements:
|
79
82
|
- - ! '>='
|
80
83
|
- !ruby/object:Gem::Version
|
81
84
|
version: '0'
|
85
|
+
segments:
|
86
|
+
- 0
|
87
|
+
hash: -987934111135055412
|
82
88
|
requirements: []
|
83
89
|
rubyforge_project:
|
84
90
|
rubygems_version: 1.8.24
|