activerecord-cached_at 6.1.0.rc1 → 6.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/ext/active_record/connection_adapters/abstract/schema_definitions.rb +8 -6
- data/ext/active_record/connection_adapters/abstract/schema_statements.rb +28 -5
- data/lib/cached_at.rb +2 -2
- data/lib/cached_at/timestamp.rb +4 -2
- data/lib/cached_at/version.rb +1 -1
- metadata +5 -7
- data/lib/cached_at/connection_adapters/abstract/schema_definitions.rb +0 -15
- data/lib/cached_at/connection_adapters/abstract/schema_statements.rb +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 89f6c8c10ca1cb627c057112961cb80ff26440026b723b5cf4240e4873089604
|
4
|
+
data.tar.gz: 05374e1138987e67d9a0fb5866278f1d495168799859ccb8cc77e4bc8dc8b724
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2053953fe7212f64ee1d03ed6956f409f25ae3c53666c25acd7224ecefa3e8ed0b1d2daf99317087d7c7fed0ea846a10eceec4de9776c31c530f31bc518b54ab
|
7
|
+
data.tar.gz: fbeed1272d1d6a5961733ec128516a5b1dc9f093061775c24ba1c14c30bf28f8730436542d8ca45de738a41d957332fd5daf133d74d54c37b9f6f9db137c7eff
|
@@ -2,14 +2,16 @@ module ActiveRecord
|
|
2
2
|
module ConnectionAdapters #:nodoc:
|
3
3
|
|
4
4
|
class TableDefinition
|
5
|
-
def timestamps(
|
6
|
-
options = args.extract_options!
|
7
|
-
|
5
|
+
def timestamps(**options)
|
8
6
|
options[:null] = false if options[:null].nil?
|
9
7
|
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
if !options.key?(:precision) && @conn.supports_datetime_with_precision?
|
9
|
+
options[:precision] = 6
|
10
|
+
end
|
11
|
+
|
12
|
+
column(:created_at, :datetime, **options)
|
13
|
+
column(:updated_at, :datetime, **options)
|
14
|
+
column(:cached_at, :datetime, **options)
|
13
15
|
end
|
14
16
|
end
|
15
17
|
|
@@ -2,19 +2,42 @@ module ActiveRecord
|
|
2
2
|
module ConnectionAdapters #:nodoc:
|
3
3
|
|
4
4
|
module SchemaStatements
|
5
|
-
def add_timestamps(table_name, options
|
5
|
+
def add_timestamps(table_name, **options)
|
6
6
|
options[:null] = false if options[:null].nil?
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
8
|
+
if !options.key?(:precision) && supports_datetime_with_precision?
|
9
|
+
options[:precision] = 6
|
10
|
+
end
|
11
|
+
|
12
|
+
add_column table_name, :created_at, :datetime, **options
|
13
|
+
add_column table_name, :updated_at, :datetime, **options
|
14
|
+
add_column table_name, :cached_at, :datetime, **options
|
11
15
|
end
|
12
16
|
|
13
|
-
def remove_timestamps(table_name, options
|
17
|
+
def remove_timestamps(table_name, **options)
|
14
18
|
remove_column table_name, :updated_at
|
15
19
|
remove_column table_name, :created_at
|
16
20
|
remove_column table_name, :cached_at
|
17
21
|
end
|
22
|
+
|
23
|
+
def add_timestamps_for_alter(table_name, **options)
|
24
|
+
options[:null] = false if options[:null].nil?
|
25
|
+
|
26
|
+
if !options.key?(:precision) && supports_datetime_with_precision?
|
27
|
+
options[:precision] = 6
|
28
|
+
end
|
29
|
+
|
30
|
+
[
|
31
|
+
add_column_for_alter(table_name, :created_at, :datetime, **options),
|
32
|
+
add_column_for_alter(table_name, :updated_at, :datetime, **options),
|
33
|
+
add_column_for_alter(table_name, :cached_at, :datetime, **options)
|
34
|
+
]
|
35
|
+
end
|
36
|
+
|
37
|
+
def remove_timestamps_for_alter(table_name, **options)
|
38
|
+
remove_columns_for_alter(table_name, :updated_at, :created_at, :cached_at)
|
39
|
+
end
|
40
|
+
|
18
41
|
end
|
19
42
|
|
20
43
|
end
|
data/lib/cached_at.rb
CHANGED
@@ -3,5 +3,5 @@ require 'active_record'
|
|
3
3
|
require File.expand_path(File.join(__FILE__, '../cached_at/base'))
|
4
4
|
require File.expand_path(File.join(__FILE__, '../cached_at/helpers'))
|
5
5
|
require File.expand_path(File.join(__FILE__, '../cached_at/timestamp'))
|
6
|
-
require File.expand_path(File.join(__FILE__, '
|
7
|
-
require File.expand_path(File.join(__FILE__, '
|
6
|
+
require File.expand_path(File.join(__FILE__, '../../ext/active_record/connection_adapters/abstract/schema_definitions'))
|
7
|
+
require File.expand_path(File.join(__FILE__, '../../ext/active_record/connection_adapters/abstract/schema_statements'))
|
data/lib/cached_at/timestamp.rb
CHANGED
@@ -7,11 +7,13 @@ module ActiveRecord
|
|
7
7
|
private
|
8
8
|
|
9
9
|
def timestamp_attributes_for_update
|
10
|
-
[
|
10
|
+
["updated_at", "updated_on", 'cached_at'].map! { |name| attribute_aliases[name] || name }
|
11
11
|
end
|
12
12
|
|
13
13
|
def timestamp_attributes_for_create
|
14
|
-
['created_at', 'udpated_at', 'cached_at'] + column_names.select{|c| c.end_with?('_cached_at') }
|
14
|
+
(['created_at', 'udpated_at', 'cached_at'] + column_names.select{|c| c.end_with?('_cached_at') }).map! do |name|
|
15
|
+
attribute_aliases[name] || name
|
16
|
+
end
|
15
17
|
end
|
16
18
|
|
17
19
|
end
|
data/lib/cached_at/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activerecord-cached_at
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.1.0
|
4
|
+
version: 6.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Bracy
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -143,8 +143,6 @@ files:
|
|
143
143
|
- lib/cached_at/associations/has_many_through_association.rb
|
144
144
|
- lib/cached_at/associations/has_one_association.rb
|
145
145
|
- lib/cached_at/base.rb
|
146
|
-
- lib/cached_at/connection_adapters/abstract/schema_definitions.rb
|
147
|
-
- lib/cached_at/connection_adapters/abstract/schema_statements.rb
|
148
146
|
- lib/cached_at/helpers.rb
|
149
147
|
- lib/cached_at/reflections/abstract_reflection.rb
|
150
148
|
- lib/cached_at/timestamp.rb
|
@@ -166,11 +164,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
166
164
|
version: '0'
|
167
165
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
168
166
|
requirements:
|
169
|
-
- - "
|
167
|
+
- - ">="
|
170
168
|
- !ruby/object:Gem::Version
|
171
|
-
version:
|
169
|
+
version: '0'
|
172
170
|
requirements: []
|
173
|
-
rubygems_version: 3.
|
171
|
+
rubygems_version: 3.2.3
|
174
172
|
signing_key:
|
175
173
|
specification_version: 4
|
176
174
|
summary: Allows ActiveRecord and Rails to use a `cached_at` column for the `cache_key`
|
@@ -1,15 +0,0 @@
|
|
1
|
-
module ActiveRecord
|
2
|
-
module ConnectionAdapters #:nodoc:
|
3
|
-
|
4
|
-
class TableDefinition
|
5
|
-
def timestamps(**options)
|
6
|
-
options[:null] = false if options[:null].nil?
|
7
|
-
|
8
|
-
column(:created_at, :datetime, options)
|
9
|
-
column(:updated_at, :datetime, options)
|
10
|
-
column(:cached_at, :datetime, options)
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
end
|
15
|
-
end
|
@@ -1,21 +0,0 @@
|
|
1
|
-
module ActiveRecord
|
2
|
-
module ConnectionAdapters #:nodoc:
|
3
|
-
|
4
|
-
module SchemaStatements
|
5
|
-
def add_timestamps(table_name, options = {})
|
6
|
-
options[:null] = false if options[:null].nil?
|
7
|
-
|
8
|
-
add_column table_name, :created_at, :datetime, options
|
9
|
-
add_column table_name, :updated_at, :datetime, options
|
10
|
-
add_column table_name, :cached_at, :datetime, options
|
11
|
-
end
|
12
|
-
|
13
|
-
def remove_timestamps(table_name, options = {})
|
14
|
-
remove_column table_name, :updated_at
|
15
|
-
remove_column table_name, :created_at
|
16
|
-
remove_column table_name, :cached_at
|
17
|
-
end
|
18
|
-
end
|
19
|
-
|
20
|
-
end
|
21
|
-
end
|