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

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 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