data_checks 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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