smartest 0.3.2 → 0.3.3.alpha1

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: 1273e17fbc84bb22a5bf53b0176c5616ed8404e1ea6273720b6153f73c04b355
4
- data.tar.gz: ddf2e93333e975b5d55ccd9a59125577cf2feaa415c7addcf1ebbc2c7bb25d43
3
+ metadata.gz: 8e7e25cbb3432e62d6264a3308b1b8f01406ed44362f742356b31aa31629926a
4
+ data.tar.gz: cbb07c4ae5e9532836d505543f1af85ea222fd013d65b3fa79d0de0228fac1e6
5
5
  SHA512:
6
- metadata.gz: 473ca3e954cb75238335dbd360c76d76c31076dbb0a17582480114ed49c7679c5326b47b6c175c9e52474b94b26c79b2774acbc62d35ec5885a6b2ac48b54107
7
- data.tar.gz: 1b9541cccd90b5c70c2df6b99d723fb69a6ca3d965b989520f2b95b74c83ed0b066568e80d15621578f0aa7a5c025ada6c7f10ffc82b0311452191afd8dabf30
6
+ metadata.gz: 5d8cc3fde5695e83649858389212a849ded911ff350689747a62a53ae4c0ce7da5c800e8d6866fb46b04756d0f890efaa3107e9e0bed642092cf2f42aa01bb63
7
+ data.tar.gz: dbd5c2b3fab3d0ab182c78d2ee8f60dbb71efe61e0779646bea2194d1e2710bc3baf6c307b046500dcb293446bcd49a1a1c119c09df22703a9805f83992b7780
data/README.md CHANGED
@@ -65,6 +65,8 @@ end
65
65
 
66
66
  ## Installation
67
67
 
68
+ Smartest requires Ruby 2.7 or newer.
69
+
68
70
  Add this line to your application's Gemfile:
69
71
 
70
72
  ```ruby
data/exe/smartest CHANGED
@@ -43,7 +43,7 @@ begin
43
43
  end
44
44
 
45
45
  Smartest.disable_autorun!
46
- Kernel.prepend Smartest::DSL
46
+ Smartest.install_dsl!
47
47
  test_load_path = File.expand_path("smartest", Dir.pwd)
48
48
  $LOAD_PATH.unshift(test_load_path) if Dir.exist?(test_load_path) && !$LOAD_PATH.include?(test_load_path)
49
49
 
@@ -3,6 +3,6 @@
3
3
  require "English"
4
4
  require_relative "../smartest"
5
5
 
6
- Kernel.prepend Smartest::DSL
6
+ Smartest.install_dsl!
7
7
 
8
8
  Smartest.register_autorun!
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Smartest
4
- VERSION = "0.3.2"
4
+ VERSION = "0.3.3.alpha1"
5
5
  end
data/lib/smartest.rb CHANGED
@@ -57,11 +57,26 @@ module Smartest
57
57
  end
58
58
  end
59
59
 
60
+ def install_dsl!
61
+ if kernel_prepend_effective?
62
+ Kernel.prepend DSL
63
+ else
64
+ Object.include DSL
65
+ end
66
+ end
67
+
60
68
  def fatal_exception?(error)
61
69
  error.is_a?(SystemExit) ||
62
70
  error.is_a?(Interrupt) ||
63
71
  error.is_a?(SignalException) ||
64
72
  error.is_a?(NoMemoryError)
65
73
  end
74
+
75
+ private
76
+
77
+ def kernel_prepend_effective?
78
+ # Ruby 2.7 does not support Kernel.prepend for defining top-level method.
79
+ Gem::Version.new(RUBY_VERSION) >= Gem::Version.new("3.0")
80
+ end
66
81
  end
67
82
  end
data/smartest.gemspec CHANGED
@@ -11,7 +11,7 @@ Gem::Specification.new do |spec|
11
11
  spec.description = "Smartest is a Ruby test runner with pytest-style fixture injection. Tests request fixtures using keyword arguments, fixtures can depend on other fixtures, and cleanup is registered only when needed."
12
12
  spec.homepage = "https://smartest-rb.vercel.app"
13
13
  spec.license = "MIT"
14
- spec.required_ruby_version = ">= 3.1"
14
+ spec.required_ruby_version = ">= 2.7"
15
15
 
16
16
  spec.metadata = {
17
17
  "allowed_push_host" => "https://rubygems.org",
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: smartest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.3.3.alpha1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yusuke Iwaki
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-05-03 00:00:00.000000000 Z
11
+ date: 2026-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -91,12 +91,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
91
91
  requirements:
92
92
  - - ">="
93
93
  - !ruby/object:Gem::Version
94
- version: '3.1'
94
+ version: '2.7'
95
95
  required_rubygems_version: !ruby/object:Gem::Requirement
96
96
  requirements:
97
- - - ">="
97
+ - - ">"
98
98
  - !ruby/object:Gem::Version
99
- version: '0'
99
+ version: 1.3.1
100
100
  requirements: []
101
101
  rubygems_version: 3.4.19
102
102
  signing_key: