zuora_connect 3.0.2.pre.r → 3.1.0.pre.c

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
  SHA256:
3
- metadata.gz: 1ecdf8f8f9c3944d22e09dd3a485a9f48c753c31bc36b50f75dcb3e6595c31cc
4
- data.tar.gz: 3e831ee5ab33f33359c8f8f24e74807ceb3d7892a2ba790f180bd1a4e86cec2f
3
+ metadata.gz: 97665e840ec7fc2825cecb5a32829f13f6424e7d69aabffefce2826f8107ce4d
4
+ data.tar.gz: 9667455c3c021995b8037b3dbccffb988fb70c0f4dfebfae852313f0b9a6fdaf
5
5
  SHA512:
6
- metadata.gz: d74ce6e6d797f98b893dc1d31e7f94e73078e79d450091006a683d57622d696cfd2ba3671f20b43326b88536a32715390079abd6ca3f76c654a60eb19dd795d5
7
- data.tar.gz: 8123cfa9855feab65958728fc843bee6c2bee11f931172069a92f33e2e969d57c68bef5013e5628daeb0575ccf6fbbd9552735b7166e0ef4e49ab6634939f964
6
+ metadata.gz: 3eec1dd133e3274fd09f0817d1aea463a3fbf0a266b51a320273a8fc5628fda91c4fd365647909691e32b062f389522db63400ebc56e73c4aaa4e0d9a7bb2f2b
7
+ data.tar.gz: 52ddcd7e7cbcb39adebe2f718306d7acb75ca3269221e4bff80524a15d9ab58a03ec4a51cccaec5e659d7672a2e39829353f9a31c120323b4b5bc4abba4576e9
@@ -5,7 +5,7 @@ module ZuoraConnect
5
5
  require 'aws-sdk-ses'
6
6
  require 'aws-sdk-kms'
7
7
  class AppInstanceBase < ActiveRecord::Base
8
- default_scope {select(ZuoraConnect::AppInstance.column_names.delete_if {|x| ["catalog_mapping", "catalog"].include?(x) }) }
8
+ default_scope { select(ZuoraConnect::AppInstance.column_names.reject { |x| ["catalog_mapping", "catalog"].include?(x) }) }
9
9
  after_initialize :init
10
10
  after_create :initialize_redis_placeholders
11
11
  before_destroy :prune_data
@@ -5,7 +5,35 @@ module ActiveRecord
5
5
  SCHEMA_ADDITIONAL_TYPES = 'SchemaAdditionalTypes'.freeze
6
6
 
7
7
  private
8
- def load_additional_types_latest(oids = nil)
8
+ def load_additional_types_rails_7_0(oids = nil)
9
+ initializer = OID::TypeMapInitializer.new(type_map)
10
+ return if loaded_from_cache?(initializer)
11
+ additional_types = []
12
+ load_types_queries(initializer, oids) do |query|
13
+ execute_and_clear(query, "SCHEMA", []) do |records|
14
+ additional_types.push(records.to_a)
15
+ initializer.run(records)
16
+ end
17
+ end
18
+ cache_additional_types(additional_types)
19
+ end
20
+
21
+ def load_types_queries(initializer, oids)
22
+ query = <<~SQL
23
+ SELECT DISTINCT on (t.typname) t.oid, t.typname, t.typelem, t.typdelim, t.typinput, r.rngsubtype, t.typtype, t.typbasetype
24
+ FROM pg_type as t
25
+ LEFT JOIN pg_range as r ON oid = rngtypid
26
+ SQL
27
+ if oids
28
+ yield query + "WHERE t.oid IN (%s)" % oids.join(", ")
29
+ else
30
+ yield query + initializer.query_conditions_for_known_type_names
31
+ yield query + initializer.query_conditions_for_known_type_types
32
+ yield query + initializer.query_conditions_for_array_types
33
+ end
34
+ end
35
+
36
+ def load_additional_types_rails_5_2(oids = nil)
9
37
  initializer = OID::TypeMapInitializer.new(type_map)
10
38
 
11
39
  return if loaded_from_cache?(initializer)
@@ -69,10 +97,28 @@ module ActiveRecord
69
97
  if defined?(Redis.current)
70
98
  begin
71
99
  if Redis.current.exists(SCHEMA_ADDITIONAL_TYPES)
72
- initializer.run(JSON.parse(Redis.current.get(SCHEMA_ADDITIONAL_TYPES)))
100
+ additional_types = JSON.parse(Redis.current.get(SCHEMA_ADDITIONAL_TYPES))
101
+
102
+ rails_version = Rails.version.split('.').map { |x| x.to_i }
103
+ if (rails_version <=> [7, 0, 0]) >= 1
104
+ if additional_types.is_a?(Array) && !additional_types.first.is_a?(Array)
105
+ raise 'incompatible cache version'
106
+ end
107
+ elsif (rails_version <=> [5, 2, 0]) >= 1
108
+ if additional_types.is_a?(Array) && additional_types.first.is_a?(Array)
109
+ raise 'incompatible cache version'
110
+ end
111
+ end
112
+
113
+ if additional_types.is_a?(Array) && additional_types.first.is_a?(Array)
114
+ additional_types.each { |additional_type| initializer.run(additional_type) }
115
+ else
116
+ initializer.run(additional_types)
117
+ end
73
118
  return true
74
119
  end
75
120
  rescue => ex
121
+ Redis.current.del(SCHEMA_ADDITIONAL_TYPES)
76
122
  Rails.logger.warn('Exception occurred while loading additional types', ex)
77
123
  end
78
124
  end
@@ -92,8 +138,10 @@ module ActiveRecord
92
138
 
93
139
 
94
140
  rails_version = Rails.version.split('.').map { |x| x.to_i }
95
- if (rails_version <=> [5, 2, 0]) >= 1
96
- alias :load_additional_types :load_additional_types_latest
141
+ if (rails_version <=> [7, 0, 0]) >= 1
142
+ alias :load_additional_types :load_additional_types_rails_7_0
143
+ elsif(rails_version <=> [5, 2, 0]) >= 1
144
+ alias :load_additional_types :load_additional_types_rails_5_2
97
145
  else
98
146
  alias :load_additional_types :load_additional_types_deprecated
99
147
  end
@@ -28,12 +28,10 @@ module ZuoraConnect
28
28
  end
29
29
  end
30
30
 
31
- initializer "connect.helpers" do
32
- ActiveSupport.on_load(:action_controller) do
33
- include ZuoraConnect::Controllers::Helpers
34
- include ZuoraConnect::Authenticate
35
- helper ZuoraConnect::ApplicationHelper
36
- end
31
+ config.to_prepare do
32
+ ActionController::Base.send(:include, ZuoraConnect::Controllers::Helpers)
33
+ ActionController::Base.send(:include, ZuoraConnect::Authenticate)
34
+ ActionController::Base.send(:helper, ZuoraConnect::ApplicationHelper)
37
35
  end
38
36
  end
39
37
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ZuoraConnect
4
- VERSION = "3.0.2-r"
4
+ VERSION = "3.1.0-c"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zuora_connect
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2.pre.r
4
+ version: 3.1.0.pre.c
5
5
  platform: ruby
6
6
  authors:
7
7
  - Connect Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-19 00:00:00.000000000 Z
11
+ date: 2022-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: apartment
@@ -121,9 +121,6 @@ dependencies:
121
121
  - - ">="
122
122
  - !ruby/object:Gem::Version
123
123
  version: '5.0'
124
- - - "<"
125
- - !ruby/object:Gem::Version
126
- version: '6.1'
127
124
  type: :runtime
128
125
  prerelease: false
129
126
  version_requirements: !ruby/object:Gem::Requirement
@@ -131,9 +128,6 @@ dependencies:
131
128
  - - ">="
132
129
  - !ruby/object:Gem::Version
133
130
  version: '5.0'
134
- - - "<"
135
- - !ruby/object:Gem::Version
136
- version: '6.1'
137
131
  - !ruby/object:Gem::Dependency
138
132
  name: raindrops
139
133
  requirement: !ruby/object:Gem::Requirement