activerecord_bulkoperation 0.1.0 → 0.2.3

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: 12fc174b11b0a39fa81778b9c0d0b66d7f698956777c747390aa14873521d91c
4
- data.tar.gz: 89dd91a3338c3057fb91ba2d54e2ffe95a60b8d2764bd90427ce79e9e63c50c8
3
+ metadata.gz: 8cd1a3f72c3b4baf9436779bc459ab59bcb3f7c7911b2f0e841aec228a32f66e
4
+ data.tar.gz: 7bd30bb4fdcb5ad7bc288a9fc157296fa719c521386677c6d1828a200bfa96db
5
5
  SHA512:
6
- metadata.gz: f8db1e56b50b1e5e1a58f779bbfe93df7c2f7d9055a08c29b6bee5a13a193476b36813d023d0e8155a8d3a3aa1feb8065e7dd7e3e34d6884ec8b84a7fc7a500f
7
- data.tar.gz: f4450aaf3303b8fc9b4ba7f0c5704b9fef2fd1e170d574bec83b5c52f7be3057c53ec628c7cc749a827a96a6bd403f9723fb3778a2034ec975660b15bdbc46bf
6
+ metadata.gz: ccc9feeb4fe97d6b1ac4565caea284a30df03915c7a21952b9302a3369b317a34e32f359162f9416a52bf59ea1f42cd5fb6878be722f2530f330eb44ba52b583
7
+ data.tar.gz: 056b5188abd6b43920aaf54052d6e405ff6536d8e2f54f1baf8c03932d3f50b8806f4a6c8e2023c23db5ff7aa69bae64faf8569cc2ac6879a9d00566b6dbf5c7
@@ -18,7 +18,7 @@ Gem::Specification.new do |gem|
18
18
 
19
19
  gem.required_ruby_version = ">=2.3"
20
20
 
21
- gem.add_runtime_dependency "activerecord", ">=4.2", "<6"
21
+ gem.add_runtime_dependency "activerecord", ">=4.2"
22
22
  gem.add_development_dependency "rake"
23
23
  gem.add_development_dependency "mocha"
24
24
  gem.add_development_dependency "minitest"
data/gemfiles/6.0.gemfile CHANGED
@@ -4,4 +4,4 @@ platforms :ruby do
4
4
  gem 'ruby-oci8', '~> 2.2'
5
5
  end
6
6
 
7
- gem 'activerecord', '~> 6.0'
7
+ gem 'activerecord', '~> 6.0.4'
@@ -0,0 +1,7 @@
1
+ gem 'activerecord-oracle_enhanced-adapter', '~> 6.0'
2
+
3
+ platforms :ruby do
4
+ gem 'ruby-oci8', '~> 2.2'
5
+ end
6
+
7
+ gem 'activerecord', '~> 6.1.4'
@@ -1,17 +1,26 @@
1
1
  require 'active_record/associations'
2
2
 
3
3
  module ActiveRecord
4
-
5
4
  module Persistence
6
5
  module ClassMethods
6
+
7
+ alias_method :instantiate_without_save_original, :instantiate
8
+
9
+ def instantiate(attributes, column_types = {})
10
+ record = instantiate_without_save_original(attributes, column_types)
11
+ record.save_original
12
+ record
13
+ end
7
14
 
8
- alias_method :instantiate_without_save_original, :instantiate
15
+ if ActiveRecord.gem_version >= Gem::Version.new('6.0')
16
+ alias_method :instantiate_instant_of_without_save_original, :instantiate_instance_of
9
17
 
10
- def instantiate(attributes, column_types = {})
11
- record = instantiate_without_save_original(attributes, column_types)
18
+ def instantiate_instance_of(klass, attributes, column_types = {}, &block)
19
+ record = instantiate_instant_of_without_save_original(klass, attributes, column_types)
12
20
  record.save_original
13
- record
21
+ record
14
22
  end
23
+ end
15
24
  end
16
25
  end
17
26
 
@@ -155,16 +164,18 @@ module ActiveRecord
155
164
 
156
165
  class JoinBase
157
166
  attr_accessor :cached_record
158
- def extract_record(row,column_names_with_alias)
159
- # if the :select option is set, only the selected field should be extracted
160
- # column_names_with_alias.inject({}){|record, (cn, an)| record[cn] = row[an] if row.has_key?(an); record}
161
- record = {}
162
- column_names_with_alias.each { |(cn, an)| record[cn] = row[an] if row.key?(an) }
163
- record
164
- end
165
- alias_method :instantiate_without_save_original, :instantiate
166
- def instantiate(row, aliases)
167
- instantiate_without_save_original(row, aliases)
167
+ if ActiveRecord.gem_version < Gem::Version.new('6.0')
168
+ def extract_record(row,column_names_with_alias)
169
+ # if the :select option is set, only the selected field should be extracted
170
+ # column_names_with_alias.inject({}){|record, (cn, an)| record[cn] = row[an] if row.has_key?(an); record}
171
+ record = {}
172
+ column_names_with_alias.each { |(cn, an)| record[cn] = row[an] if row.key?(an) }
173
+ record
174
+ end
175
+ alias_method :instantiate_without_save_original, :instantiate
176
+ def instantiate(row, aliases)
177
+ instantiate_without_save_original(row, aliases)
178
+ end
168
179
  end
169
180
  end
170
181
  end
@@ -24,7 +24,9 @@ module ActiveRecord
24
24
 
25
25
  # Loads the import functionality for the passed in ActiveRecord connection
26
26
  def self.load_from_connection_pool(connection_pool)
27
- require_adapter connection_pool.spec.config[:adapter]
27
+ # currently only oracle_enhanced_adapter is supported and connection_pool.spec does not work with Rails 6.1.
28
+ # require_adapter connection_pool.spec.config[:adapter]
29
+ require_adapter('oracle_enhanced')
28
30
  end
29
31
  end
30
32
  end
@@ -1,5 +1,5 @@
1
1
  module ActiveRecord
2
2
  module Bulkoperation
3
- VERSION = '0.1.0'
3
+ VERSION = '0.2.3'
4
4
  end
5
5
  end
data/test/database.yml CHANGED
@@ -1,4 +1,4 @@
1
- oracle_enhanced:
1
+ test:
2
2
  adapter: oracle_enhanced
3
3
  # url: jdbc:oracle:thin:@localhost:1521:XEPDB1
4
4
  username: <%=ENV['DB_USER'] ||= "sample" %>
data/test/test_helper.rb CHANGED
@@ -25,7 +25,12 @@ adapter = ENV["DB_ADAPTER"] || "oracle_enhanced"
25
25
  FileUtils.mkdir_p 'log'
26
26
  ActiveRecord::Base.logger = Logger.new("log/test.log")
27
27
  ActiveRecord::Base.logger.level = Logger::DEBUG
28
- ActiveRecord::Base.configurations['test'] = YAML.load(ERB.new(File.read(test_dir.join("database.yml"))).result)[adapter]
28
+
29
+ if ActiveRecord.gem_version >= Gem::Version.new('6.1')
30
+ ActiveRecord::Base.configurations = ActiveRecord::DatabaseConfigurations.new(YAML.load(ERB.new(File.read(test_dir.join("database.yml"))).result))
31
+ else
32
+ ActiveRecord::Base.configurations['test'] = YAML.load(ERB.new(File.read(test_dir.join("database.yml"))).result)['test']
33
+ end
29
34
  ActiveRecord::Base.default_timezone = :utc
30
35
 
31
36
  require "activerecord_bulkoperation"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activerecord_bulkoperation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - OSP
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-04 00:00:00.000000000 Z
11
+ date: 2021-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -17,9 +17,6 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.2'
20
- - - "<"
21
- - !ruby/object:Gem::Version
22
- version: '6'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
@@ -27,9 +24,6 @@ dependencies:
27
24
  - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '4.2'
30
- - - "<"
31
- - !ruby/object:Gem::Version
32
- version: '6'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: rake
35
29
  requirement: !ruby/object:Gem::Requirement
@@ -89,6 +83,7 @@ files:
89
83
  - gemfiles/5.1.gemfile
90
84
  - gemfiles/5.2.gemfile
91
85
  - gemfiles/6.0.gemfile
86
+ - gemfiles/6.1.gemfile
92
87
  - lib/activerecord_bulkoperation.rb
93
88
  - lib/activerecord_bulkoperation/active_record/adapters/abstract_adapter.rb
94
89
  - lib/activerecord_bulkoperation/active_record/adapters/oracle_enhanced_adapter.rb
@@ -134,7 +129,7 @@ homepage: ''
134
129
  licenses:
135
130
  - Ruby
136
131
  metadata: {}
137
- post_install_message:
132
+ post_install_message:
138
133
  rdoc_options: []
139
134
  require_paths:
140
135
  - lib
@@ -149,8 +144,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
149
144
  - !ruby/object:Gem::Version
150
145
  version: '0'
151
146
  requirements: []
152
- rubygems_version: 3.0.4
153
- signing_key:
147
+ rubygems_version: 3.2.3
148
+ signing_key:
154
149
  specification_version: 4
155
150
  summary: ''
156
151
  test_files: