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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ffaa40afe11c877610e9ca9ba1072e47521c6b188522cf5bba065767129f9ced
4
- data.tar.gz: 06403fdc5c4303fc80105c5381771db103058bf0f762bd92fc0826c6afa46431
3
+ metadata.gz: 89f6c8c10ca1cb627c057112961cb80ff26440026b723b5cf4240e4873089604
4
+ data.tar.gz: 05374e1138987e67d9a0fb5866278f1d495168799859ccb8cc77e4bc8dc8b724
5
5
  SHA512:
6
- metadata.gz: 328f5606ca71e467cfab60b136bfe7429010f2adff5227c495916089feb03d6a98be86740fe488d833a510e7239467f192d91530d749b5fb9f67eb6a52e90e2d
7
- data.tar.gz: ca67eddf6423cb2930860dfd00943a7ea649fd5104b03c94c0b894f087d469ad0ef88f7e7b18cccadbf6c7410d07d92074f1bf137a6bd28dba58b1692ec6e7cf
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(*args)
6
- options = args.extract_options!
7
-
5
+ def timestamps(**options)
8
6
  options[:null] = false if options[:null].nil?
9
7
 
10
- column(:created_at, :datetime, options)
11
- column(:updated_at, :datetime, options)
12
- column(:cached_at, :datetime, options)
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
- 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
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
@@ -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__, '../cached_at/connection_adapters/abstract/schema_definitions'))
7
- require File.expand_path(File.join(__FILE__, '../cached_at/connection_adapters/abstract/schema_statements'))
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'))
@@ -7,11 +7,13 @@ module ActiveRecord
7
7
  private
8
8
 
9
9
  def timestamp_attributes_for_update
10
- ['updated_at']
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
@@ -1,3 +1,3 @@
1
1
  module CachedAt
2
- VERSION = '6.1.0.rc1'
2
+ VERSION = '6.1.0'
3
3
  end
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.rc1
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: 2020-12-28 00:00:00.000000000 Z
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: 1.3.1
169
+ version: '0'
172
170
  requirements: []
173
- rubygems_version: 3.1.4
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