activerecord-oracle_enhanced-adapter 1.7.0 → 1.7.1
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/History.md +10 -0
- data/VERSION +1 -1
- data/activerecord-oracle_enhanced-adapter.gemspec +3 -2
- data/lib/active_record/connection_adapters/oracle_enhanced/column.rb +19 -0
- data/lib/active_record/connection_adapters/oracle_enhanced/schema_statements.rb +1 -1
- data/lib/active_record/connection_adapters/oracle_enhanced_adapter.rb +4 -1
- data/lib/active_record/oracle_enhanced/type/boolean.rb +22 -0
- data/spec/active_record/connection_adapters/oracle_enhanced_data_types_spec.rb +34 -0
- metadata +4 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bf4084aa6fe2217315ef98166e65bf6191e412e6
|
|
4
|
+
data.tar.gz: fdf580fff012e2e395d63391752769afcfa84eaf
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2284e55e7d67bc70a25dfd063cece15fc03b6d987d90fd596e81277bb5dc18902022e3675afe1646784d9f6d28c4ce541b85232d4e6d561cb0f42b954d68c6ba
|
|
7
|
+
data.tar.gz: 45c8321ce8d8b6482c2384ca4d8cdafacca7063f87fd88c8126caa290a3a26fd5234b91a3398c9e2f78109b458207027cfebef8b840c1e93b302f76f060e8885
|
data/History.md
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
## 1.7.1 / 2016-08-22
|
|
2
|
+
|
|
3
|
+
* Changes and bug fixes
|
|
4
|
+
* Add `ActiveRecord::OracleEnhanced::Type::Boolean` [#985, #979]
|
|
5
|
+
* Address `create_table': undefined method `each_pair' for []:Array (NoMethodError) [#980]
|
|
6
|
+
* Deprecate `fallback_string_to_date`, `fallback_string_to_time` [#974]
|
|
7
|
+
|
|
8
|
+
* Known issues
|
|
9
|
+
* No changes since 1.7.0.rc1
|
|
10
|
+
|
|
1
11
|
## 1.7.0 / 2016-08-04
|
|
2
12
|
|
|
3
13
|
* Changes and bug fixes
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.7.
|
|
1
|
+
1.7.1
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
Gem::Specification.new do |s|
|
|
2
2
|
s.name = %q{activerecord-oracle_enhanced-adapter}
|
|
3
|
-
s.version = "1.7.
|
|
3
|
+
s.version = "1.7.1"
|
|
4
4
|
|
|
5
5
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
6
6
|
s.required_ruby_version = '>= 2.2.2'
|
|
7
7
|
s.license = 'MIT'
|
|
8
8
|
s.authors = [%q{Raimonds Simanovskis}]
|
|
9
|
-
s.date = %q{2016-08-
|
|
9
|
+
s.date = %q{2016-08-22}
|
|
10
10
|
s.description = %q{Oracle "enhanced" ActiveRecord adapter contains useful additional methods for working with new and legacy Oracle databases.
|
|
11
11
|
This adapter is superset of original ActiveRecord Oracle adapter.
|
|
12
12
|
}
|
|
@@ -46,6 +46,7 @@ This adapter is superset of original ActiveRecord Oracle adapter.
|
|
|
46
46
|
"lib/active_record/connection_adapters/oracle_enhanced/schema_statements_ext.rb",
|
|
47
47
|
"lib/active_record/connection_adapters/oracle_enhanced/structure_dump.rb",
|
|
48
48
|
"lib/active_record/connection_adapters/oracle_enhanced/version.rb",
|
|
49
|
+
"lib/active_record/oracle_enhanced/type/boolean.rb",
|
|
49
50
|
"lib/active_record/oracle_enhanced/type/integer.rb",
|
|
50
51
|
"lib/active_record/oracle_enhanced/type/national_character_string.rb",
|
|
51
52
|
"lib/active_record/oracle_enhanced/type/raw.rb",
|
|
@@ -91,6 +91,12 @@ module ActiveRecord
|
|
|
91
91
|
|
|
92
92
|
def fallback_string_to_date(string) #:nodoc:
|
|
93
93
|
if OracleEnhancedAdapter.string_to_date_format || OracleEnhancedAdapter.string_to_time_format
|
|
94
|
+
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
|
95
|
+
`fallback_string_to_date` has been deprecated.
|
|
96
|
+
It will be removed from next version of Oracle enhanced adapter.
|
|
97
|
+
Users are unlikely to see this message since this method has gone
|
|
98
|
+
from ActiveRecord::ConnectionAdapters::Column in Rails 4.2.
|
|
99
|
+
MSG
|
|
94
100
|
return (string_to_date_or_time_using_format(string).to_date rescue super)
|
|
95
101
|
end
|
|
96
102
|
super
|
|
@@ -98,12 +104,25 @@ module ActiveRecord
|
|
|
98
104
|
|
|
99
105
|
def fallback_string_to_time(string) #:nodoc:
|
|
100
106
|
if OracleEnhancedAdapter.string_to_time_format || OracleEnhancedAdapter.string_to_date_format
|
|
107
|
+
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
|
108
|
+
`fallback_string_to_time` has been deprecated.
|
|
109
|
+
It will be removed from next version of Oracle enhanced adapter.
|
|
110
|
+
Users are unlikely to see this message since this method has gone
|
|
111
|
+
from ActiveRecord::ConnectionAdapters::Column in Rails 4.2.
|
|
112
|
+
MSG
|
|
101
113
|
return (string_to_date_or_time_using_format(string).to_time rescue super)
|
|
102
114
|
end
|
|
103
115
|
super
|
|
104
116
|
end
|
|
105
117
|
|
|
106
118
|
def string_to_date_or_time_using_format(string) #:nodoc:
|
|
119
|
+
ActiveSupport::Deprecation.warn(<<-MSG.squish)
|
|
120
|
+
`string_to_date_or_time_using_format` has been deprecated.
|
|
121
|
+
It will be removed from next version of Oracle enhanced adapter.
|
|
122
|
+
Users are unlikely to see this message since `fallback_string_to_date`
|
|
123
|
+
and `fallback_string_to_time` have gone
|
|
124
|
+
from ActiveRecord::ConnectionAdapters::Column in Rails 4.2.
|
|
125
|
+
MSG
|
|
107
126
|
if OracleEnhancedAdapter.string_to_time_format && dt=Date._strptime(string, OracleEnhancedAdapter.string_to_time_format)
|
|
108
127
|
return Time.parse("#{dt[:year]}-#{dt[:mon]}-#{dt[:mday]} #{dt[:hour]}:#{dt[:min]}:#{dt[:sec]}#{dt[:zone]}")
|
|
109
128
|
end
|
|
@@ -1195,7 +1195,7 @@ module ActiveRecord
|
|
|
1195
1195
|
|
|
1196
1196
|
if OracleEnhancedAdapter.emulate_booleans
|
|
1197
1197
|
if OracleEnhancedAdapter.emulate_booleans_from_strings
|
|
1198
|
-
m.register_type %r(^VARCHAR2\(1\))i, Type::Boolean.new
|
|
1198
|
+
m.register_type %r(^VARCHAR2\(1\))i, ActiveRecord::OracleEnhanced::Type::Boolean.new
|
|
1199
1199
|
else
|
|
1200
1200
|
m.register_type %r(^NUMBER\(1\))i, Type::Boolean.new
|
|
1201
1201
|
end
|
|
@@ -1338,3 +1338,6 @@ require 'active_record/oracle_enhanced/type/national_character_string'
|
|
|
1338
1338
|
|
|
1339
1339
|
# Add OracleEnhanced::Type::Text
|
|
1340
1340
|
require 'active_record/oracle_enhanced/type/text'
|
|
1341
|
+
|
|
1342
|
+
# Add OracleEnhanced::Type::Boolean
|
|
1343
|
+
require 'active_record/oracle_enhanced/type/boolean'
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
module ActiveRecord
|
|
2
|
+
module OracleEnhanced
|
|
3
|
+
module Type
|
|
4
|
+
class Boolean < ActiveModel::Type::Boolean # :nodoc:
|
|
5
|
+
# Add 'N' as FALSE_VALUES
|
|
6
|
+
FALSE_VALUES = [false, 0, '0', 'f', 'F', 'false', 'FALSE', 'off', 'OFF', 'n', 'N'].to_set
|
|
7
|
+
|
|
8
|
+
private
|
|
9
|
+
|
|
10
|
+
def cast_value(value)
|
|
11
|
+
# Not calling super to use its own `FALSE_VALUES`
|
|
12
|
+
if value == ''
|
|
13
|
+
nil
|
|
14
|
+
else
|
|
15
|
+
!FALSE_VALUES.include?(value)
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -439,6 +439,40 @@ describe "OracleEnhancedAdapter boolean type detection based on string column ty
|
|
|
439
439
|
|
|
440
440
|
end
|
|
441
441
|
|
|
442
|
+
describe "OracleEnhancedAdapter boolean support when emulate_booleans_from_strings = true" do
|
|
443
|
+
before(:all) do
|
|
444
|
+
ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_booleans_from_strings = true
|
|
445
|
+
ActiveRecord::Base.establish_connection(CONNECTION_PARAMS)
|
|
446
|
+
ActiveRecord::Schema.define do
|
|
447
|
+
create_table :posts, :force => true do |t|
|
|
448
|
+
t.string :name, null: false
|
|
449
|
+
t.boolean :is_default, default: false
|
|
450
|
+
end
|
|
451
|
+
end
|
|
452
|
+
end
|
|
453
|
+
|
|
454
|
+
after(:all) do
|
|
455
|
+
ActiveRecord::ConnectionAdapters::OracleEnhancedAdapter.emulate_booleans_from_strings = false
|
|
456
|
+
end
|
|
457
|
+
|
|
458
|
+
before(:each) do
|
|
459
|
+
class ::Post < ActiveRecord::Base
|
|
460
|
+
end
|
|
461
|
+
end
|
|
462
|
+
|
|
463
|
+
after(:each) do
|
|
464
|
+
Object.send(:remove_const, "Post")
|
|
465
|
+
ActiveRecord::Base.clear_cache!
|
|
466
|
+
end
|
|
467
|
+
|
|
468
|
+
it "boolean should not change after reload" do
|
|
469
|
+
post = Post.create(name: 'Test 1', is_default: false)
|
|
470
|
+
expect(post.is_default).to be false
|
|
471
|
+
post.reload
|
|
472
|
+
expect(post.is_default).to be false
|
|
473
|
+
end
|
|
474
|
+
end
|
|
475
|
+
|
|
442
476
|
describe "OracleEnhancedAdapter timestamp with timezone support" do
|
|
443
477
|
before(:all) do
|
|
444
478
|
ActiveRecord::Base.establish_connection(CONNECTION_PARAMS)
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: activerecord-oracle_enhanced-adapter
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.7.
|
|
4
|
+
version: 1.7.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Raimonds Simanovskis
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2016-08-
|
|
11
|
+
date: 2016-08-22 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activerecord
|
|
@@ -106,6 +106,7 @@ files:
|
|
|
106
106
|
- lib/active_record/connection_adapters/oracle_enhanced/structure_dump.rb
|
|
107
107
|
- lib/active_record/connection_adapters/oracle_enhanced/version.rb
|
|
108
108
|
- lib/active_record/connection_adapters/oracle_enhanced_adapter.rb
|
|
109
|
+
- lib/active_record/oracle_enhanced/type/boolean.rb
|
|
109
110
|
- lib/active_record/oracle_enhanced/type/integer.rb
|
|
110
111
|
- lib/active_record/oracle_enhanced/type/national_character_string.rb
|
|
111
112
|
- lib/active_record/oracle_enhanced/type/raw.rb
|
|
@@ -146,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
146
147
|
version: '0'
|
|
147
148
|
requirements: []
|
|
148
149
|
rubyforge_project:
|
|
149
|
-
rubygems_version: 2.
|
|
150
|
+
rubygems_version: 2.5.1
|
|
150
151
|
signing_key:
|
|
151
152
|
specification_version: 4
|
|
152
153
|
summary: Oracle enhanced adapter for ActiveRecord
|