data_checks 0.2.0 → 0.3.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: 990db04b3558c8b10439aa6af136f5415cffcfdf368ddd886db4c0c18b707896
4
- data.tar.gz: 7acf51bdf1f5dc5b537577359257e33b110f0b2c3eb554ad8959eb25052c75c4
3
+ metadata.gz: 6b83ce0d2930d4e168a3622d8e233cc2a77893062508a0babad2faf9ec5e3f58
4
+ data.tar.gz: 23cf5db0c7fcb99baa1c65f815c36c554c06e0e5523ee29ce5c2ce6b0a9a3743
5
5
  SHA512:
6
- metadata.gz: 337bc667143363ae190de87729e3fbf17b940ebdaa1cd7ee701ed8f83e80b8dda30eb7db0ebdccd81231587c297df9ac662bf1bac23b0fa3c37f2bf828e382a1
7
- data.tar.gz: 0b00bc6ee4b76e30023a4da4d20e9c9afb5b5f0d91936cfb21f024be8773e06e78db513df6e3776540a53cce7e0188d5ae3a6e1d714442ee01772afa3282b9c4
6
+ metadata.gz: e53875e40ada24436d58f31c6aa8e2e2eba0030283efb3cec5fd9ba1fae466f2297094c40d35c36594fea5a702b3c1846d164458f837f63476894c2f993a4eb5
7
+ data.tar.gz: 27ab0bb74134ed8f1d23d49a2e47ab3e6b24c0a25f09f73f7be1fa1a8e320de36bad91a7c93f94cd8eb098a72af83e0c078117140d3696b6ab21ef0b1dfed42c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  ## master (unreleased)
2
2
 
3
+ ## 0.3.0 (2024-08-10)
4
+
5
+ - Drop support for older activerecord and ruby versions
6
+
3
7
  ## 0.2.0 (2023-11-09)
4
8
 
5
9
  - Add `ensure_equal` check method
data/README.md CHANGED
@@ -4,6 +4,11 @@ This gem provides a small DSL to check your data for inconsistencies and anomali
4
4
 
5
5
  [![Build Status](https://github.com/fatkodima/data_checks/actions/workflows/test.yml/badge.svg?branch=master)](https://github.com/fatkodima/data_checks/actions/workflows/test.yml)
6
6
 
7
+ ## Requirements
8
+
9
+ - ruby 3.0+
10
+ - activerecord 7.0+
11
+
7
12
  ## Installation
8
13
 
9
14
  Add this line to your application's Gemfile:
@@ -5,7 +5,7 @@ module DataChecks
5
5
  self.table_name = :data_checks_runs
6
6
 
7
7
  STATUSES = [:passing, :failing, :error]
8
- enum status: STATUSES.map { |status| [status, status.to_s] }.to_h
8
+ enum :status, STATUSES.index_with(&:to_s)
9
9
 
10
10
  serialize :backtrace
11
11
 
@@ -14,8 +14,7 @@ module DataChecks
14
14
  passing = false
15
15
  count = result
16
16
  end
17
- # In ActiveRecord <= 4.2 ActiveRecord::Relation is not an Enumerable!
18
- when Enumerable, ActiveRecord::Relation
17
+ when Enumerable
19
18
  count = result.size
20
19
  if count != expected
21
20
  passing = false
@@ -9,7 +9,7 @@ module DataChecks
9
9
  case result
10
10
  when Numeric
11
11
  count = result
12
- when Enumerable, ActiveRecord::Relation
12
+ when Enumerable
13
13
  count = result.size
14
14
  else
15
15
  raise ArgumentError, "Unsupported result: '#{result.class.name}' for 'ensure_less'"
@@ -9,7 +9,7 @@ module DataChecks
9
9
  case result
10
10
  when Numeric
11
11
  count = result
12
- when Enumerable, ActiveRecord::Relation
12
+ when Enumerable
13
13
  count = result.size
14
14
  else
15
15
  raise ArgumentError, "Unsupported result: '#{result.class.name}' for 'ensure_more'"
@@ -13,8 +13,7 @@ module DataChecks
13
13
  passing = false
14
14
  count = result
15
15
  end
16
- # In ActiveRecord <= 4.2 ActiveRecord::Relation is not an Enumerable!
17
- when Enumerable, ActiveRecord::Relation
16
+ when Enumerable
18
17
  unless result.to_a.empty? # loads records for ActiveRecord::Relation
19
18
  passing = false
20
19
  count = result.size
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module DataChecks
4
- VERSION = "0.2.0"
4
+ VERSION = "0.3.0"
5
5
  end
@@ -10,7 +10,7 @@ module DataChecks
10
10
  source_root File.expand_path("templates", __dir__)
11
11
 
12
12
  def create_migration_file
13
- migration_template("migration.rb", File.join(migrations_dir, "install_data_checks.rb"))
13
+ migration_template("migration.rb", File.join(db_migrate_path, "install_data_checks.rb"))
14
14
  end
15
15
 
16
16
  def copy_initializer_file
@@ -19,11 +19,7 @@ module DataChecks
19
19
 
20
20
  private
21
21
  def start_after
22
- self.class.next_migration_number(migrations_dir)
23
- end
24
-
25
- def migrations_dir
26
- ar_version >= 5.1 ? db_migrate_path : "db/migrate"
22
+ self.class.next_migration_number(db_migrate_path)
27
23
  end
28
24
 
29
25
  def ar_version
@@ -12,7 +12,8 @@ DataChecks.configure do
12
12
 
13
13
  # ==> Configure checks
14
14
  #
15
- # Available checks are :ensure_no, :ensure_any, :ensure_more, and :ensure_less.
15
+ # Available checks are :ensure_no, :ensure_any, :ensure_more, :ensure_less,
16
+ # and :ensure_equal.
16
17
  #
17
18
  # ensure_no :users_without_emails do
18
19
  # User.where(email: nil).count
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_checks
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - fatkodima
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-08 00:00:00.000000000 Z
11
+ date: 2024-08-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '4.2'
19
+ version: '7.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '4.2'
26
+ version: '7.0'
27
27
  description:
28
28
  email:
29
29
  - fatkodima123@gmail.com
@@ -74,14 +74,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - ">="
76
76
  - !ruby/object:Gem::Version
77
- version: 2.3.0
77
+ version: 3.0.0
78
78
  required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  requirements: []
84
- rubygems_version: 3.4.10
84
+ rubygems_version: 3.4.19
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: Regression testing for data