zuora_connect 1.0.1 → 1.1.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.
- checksums.yaml +4 -4
- data/app/models/zuora_connect/app_instance.rb +17 -2
- data/app/models/zuora_connect/login.rb +20 -1
- data/config/initializers/apartment.rb +1 -1
- data/db/migrate/20170131211919_add_sessions_table.rb +12 -0
- data/lib/zuora_connect/engine.rb +1 -0
- data/lib/zuora_connect/version.rb +1 -1
- metadata +19 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 42044116d3463337d0e299acf27a87d61b2bf062
|
4
|
+
data.tar.gz: 49bf8ebf4242594ef406e2b9e9a29369150322f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0159a60522458ac5d4527420f51b0e0a9864a320cd541e4a46f0fb57e08c49f6fb4ae6e78de7d2c2e9ddc63611dd34e8480b2c42cbae6c7d01b248bdcb370c78
|
7
|
+
data.tar.gz: 1df1c2d11a03f1e26b9c551d371dce00a9eb66613a72f9a3acead6235c93e69cbb38cccd5487073077e4b36fde2c2c3f5ad05700e09877b4443ccb80e6e1ce97
|
@@ -52,7 +52,13 @@ module ZuoraConnect
|
|
52
52
|
def save_data(session = Hash.new)
|
53
53
|
self.logins.each do |key, login|
|
54
54
|
if login.tenant_type == "Zuora"
|
55
|
-
|
55
|
+
if login.available_entities.size > 1 && Rails.application.config.session_store != ActionDispatch::Session::CookieStore
|
56
|
+
login.available_entities.each do |entity_key|
|
57
|
+
session["#{self.id}::#{key}::#{entity_key}:session"] = login.client(entity_key).current_session
|
58
|
+
end
|
59
|
+
else
|
60
|
+
session["#{self.id}::#{key}:session"] = login.client.current_session
|
61
|
+
end
|
56
62
|
end
|
57
63
|
end
|
58
64
|
session["#{self.id}::task_data"] = self.task_data
|
@@ -85,7 +91,16 @@ module ZuoraConnect
|
|
85
91
|
@task_data.each do |k,v|
|
86
92
|
if k.match(/^(.*)_login$/)
|
87
93
|
tmp = ZuoraConnect::Login.new(v)
|
88
|
-
|
94
|
+
if !session.nil? && v["tenant_type"] == "Zuora"
|
95
|
+
if tmp.entities.size > 0
|
96
|
+
tmp.entities.each do |value|
|
97
|
+
entity_id = value["id"]
|
98
|
+
tmp.client(entity_id).current_session = session["#{self.id}::#{k}::#{entity_id}:session"] if !session.nil? && v["tenant_type"] == "Zuora" && session["#{self.id}::#{k}::#{entity_id}:session"]
|
99
|
+
end
|
100
|
+
else
|
101
|
+
tmp.client.current_session = session["#{self.id}::#{k}:session"] if !session.nil? && v["tenant_type"] == "Zuora" && session["#{self.id}::#{k}:session"]
|
102
|
+
end
|
103
|
+
end
|
89
104
|
@logins[k] = tmp
|
90
105
|
self.attr_builder(k, @logins[k])
|
91
106
|
elsif k == "options"
|
@@ -2,7 +2,20 @@ module ZuoraConnect
|
|
2
2
|
class Login
|
3
3
|
|
4
4
|
def initialize (fields)
|
5
|
-
|
5
|
+
@clients = {}
|
6
|
+
if fields["tenant_type"] == "Zuora" && fields["entities"] && fields["entities"].size > 0
|
7
|
+
@clients["none"] = ::ZuoraAPI::Login.new(fields.map{|k,v| [k.to_sym, v]}.to_h)
|
8
|
+
fields["entities"].each do |entity|
|
9
|
+
login_fields = fields.map{|k,v| [k.to_sym, v]}.to_h
|
10
|
+
login_fields[:entity_id] = entity["id"]
|
11
|
+
@clients[entity["id"]] = ::ZuoraAPI::Login.new(login_fields)
|
12
|
+
end
|
13
|
+
elsif fields["tenant_type"] == "Zuora"
|
14
|
+
@clients["none"] = ::ZuoraAPI::Login.new(fields.map{|k,v| [k.to_sym, v]}.to_h)
|
15
|
+
end
|
16
|
+
|
17
|
+
self.attr_builder("available_entities",@clients.keys) if fields["tenant_type"] == "Zuora"
|
18
|
+
|
6
19
|
fields.each do |k,v|
|
7
20
|
self.attr_builder(k,v)
|
8
21
|
end
|
@@ -13,5 +26,11 @@ module ZuoraConnect
|
|
13
26
|
send("#{field}=", val)
|
14
27
|
end
|
15
28
|
|
29
|
+
def client(id = nil)
|
30
|
+
return id.nil? ? @clients["none"] : @clients[id]
|
31
|
+
end
|
32
|
+
|
16
33
|
end
|
17
34
|
end
|
35
|
+
|
36
|
+
|
@@ -48,7 +48,7 @@ Apartment.configure do |config|
|
|
48
48
|
# end
|
49
49
|
#
|
50
50
|
config.tenant_names = lambda { ZuoraConnect::AppInstance.pluck :id }
|
51
|
-
config.excluded_models = ["ZuoraConnect::AppInstance"]
|
51
|
+
config.excluded_models = ["ZuoraConnect::AppInstance", "ActiveRecord::SessionStore::Session"]
|
52
52
|
|
53
53
|
#
|
54
54
|
# ==> PostgreSQL only options
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class AddSessionsTable < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :sessions do |t|
|
4
|
+
t.string :session_id, :null => false
|
5
|
+
t.text :data
|
6
|
+
t.timestamps
|
7
|
+
end
|
8
|
+
|
9
|
+
add_index :sessions, :session_id, :unique => true
|
10
|
+
add_index :sessions, :updated_at
|
11
|
+
end
|
12
|
+
end
|
data/lib/zuora_connect/engine.rb
CHANGED
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zuora_connect
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 1.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Connect Team
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01
|
11
|
+
date: 2017-02-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: activerecord-session_store
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: apartment
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -30,14 +44,14 @@ dependencies:
|
|
30
44
|
requirements:
|
31
45
|
- - "~>"
|
32
46
|
- !ruby/object:Gem::Version
|
33
|
-
version: 1.0
|
47
|
+
version: 1.1.0
|
34
48
|
type: :runtime
|
35
49
|
prerelease: false
|
36
50
|
version_requirements: !ruby/object:Gem::Requirement
|
37
51
|
requirements:
|
38
52
|
- - "~>"
|
39
53
|
- !ruby/object:Gem::Version
|
40
|
-
version: 1.0
|
54
|
+
version: 1.1.0
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: httparty
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -129,6 +143,7 @@ files:
|
|
129
143
|
- db/migrate/20160718151733_create_connect_app_instances.rb
|
130
144
|
- db/migrate/20161024162319_add_tokens_to_app_instance.rb
|
131
145
|
- db/migrate/20161024220705_add_token_to_app_instance.rb
|
146
|
+
- db/migrate/20170131211919_add_sessions_table.rb
|
132
147
|
- lib/tasks/zuora_connect_tasks.rake
|
133
148
|
- lib/zuora_connect.rb
|
134
149
|
- lib/zuora_connect/configuration.rb
|