accounts_client 0.0.3 → 0.0.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/accounts/belongs_to_account.rb +12 -0
- data/lib/accounts/is_a_user.rb +10 -2
- data/lib/accounts/shared_examples.rb +16 -0
- metadata +3 -2
@@ -1,4 +1,8 @@
|
|
1
1
|
# this module assumes base class has an account_name attribute.
|
2
|
+
# and thus responds to:
|
3
|
+
# - account_name
|
4
|
+
# - account_name=
|
5
|
+
# - account_name_changed?
|
2
6
|
module Accounts
|
3
7
|
module BelongsToAccount
|
4
8
|
|
@@ -34,6 +38,7 @@ module Accounts
|
|
34
38
|
# @raises 'This is the wrong account!'
|
35
39
|
# @raises 'This is not a account!'
|
36
40
|
def padma_account_setted_correctly
|
41
|
+
# refresh_cached_account_if_needed
|
37
42
|
return if self.padma_account.nil?
|
38
43
|
unless padma_account.is_a?(PadmaAccount)
|
39
44
|
raise 'This is not a account!'
|
@@ -47,6 +52,13 @@ module Accounts
|
|
47
52
|
end
|
48
53
|
end
|
49
54
|
end
|
55
|
+
|
56
|
+
def refresh_cached_account_if_needed
|
57
|
+
if self.account_name_changed?
|
58
|
+
self.account(force_service_call: true)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
50
62
|
end
|
51
63
|
end
|
52
64
|
|
data/lib/accounts/is_a_user.rb
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# This module will include BelongsToUser and BelongsToAccount
|
2
|
+
# It requires base class to respond to:
|
3
|
+
# - username
|
4
|
+
# - account_name
|
5
|
+
# - account_name=
|
6
|
+
# - account_name_changed?
|
1
7
|
module Accounts
|
2
8
|
module IsAUser
|
3
9
|
|
@@ -9,6 +15,8 @@ module Accounts
|
|
9
15
|
base.send(:delegate, :verbose_help?, to: :padma_user)
|
10
16
|
end
|
11
17
|
|
18
|
+
# @param [Boolean] cache
|
19
|
+
# @return [PadmaUser]
|
12
20
|
def padma(cache=true)
|
13
21
|
self.user(force_service_call: !cache)
|
14
22
|
end
|
@@ -39,13 +47,13 @@ module Accounts
|
|
39
47
|
# Validates that current_account_name
|
40
48
|
# checking that user belongs to such account
|
41
49
|
def has_access_to_current_account
|
42
|
-
return if self.current_account.nil?
|
50
|
+
return if self.padma.try(:current_account).nil?
|
43
51
|
|
44
52
|
if self.enabled_accounts.nil?
|
45
53
|
# nil means error in connection
|
46
54
|
self.errors.add(:current_account_id, I18n.t('user.couldnt_connect_to_check_current_account'))
|
47
55
|
else
|
48
|
-
unless self.
|
56
|
+
unless self.padma.current_account_name.in?(self.enabled_accounts.map{|ea|ea.name})
|
49
57
|
self.errors.add(:current_account_id, I18n.t('user.invalid_current_account'))
|
50
58
|
end
|
51
59
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
shared_examples_for "it belongs to an account" do
|
2
|
+
it { should validate_presence_of :account_name }
|
3
|
+
it "should return account on #account" do
|
4
|
+
PadmaAccount.should_receive(:find).with(object.account_name).and_return(PadmaAccount.new(account_name: object.account_name))
|
5
|
+
object.account.should be_a(PadmaAccount)
|
6
|
+
end
|
7
|
+
end
|
8
|
+
|
9
|
+
shared_examples_for "it belongs to a user" do
|
10
|
+
it { should validate_presence_of :username}
|
11
|
+
it "should return user on #user" do
|
12
|
+
PadmaUser.stub(:find).with(object.username).and_return(PadmaUser.new(username: object.username))
|
13
|
+
object.user.should be_a(PadmaUser)
|
14
|
+
end
|
15
|
+
it "should use Rails.cache"
|
16
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: accounts_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.4
|
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-11-
|
12
|
+
date: 2012-11-10 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: railties
|
@@ -53,6 +53,7 @@ files:
|
|
53
53
|
- app/models/padma_user.rb
|
54
54
|
- app/models/padma_account.rb
|
55
55
|
- lib/accounts/belongs_to_account.rb
|
56
|
+
- lib/accounts/shared_examples.rb
|
56
57
|
- lib/accounts/belongs_to_user.rb
|
57
58
|
- lib/accounts/is_a_user.rb
|
58
59
|
- lib/accounts/railties.rb
|