mutant 0.9.9 → 0.9.10
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/.github/workflows/ci.yml +5 -5
- data/.rubocop.yml +203 -0
- data/Changelog.md +6 -0
- data/Gemfile.lock +23 -83
- data/README.md +25 -4
- data/lib/mutant.rb +0 -2
- data/lib/mutant/mutator/node/literal/range.rb +1 -1
- data/lib/mutant/reporter/cli/printer.rb +2 -2
- data/lib/mutant/reporter/cli/printer/mutation_result.rb +1 -1
- data/lib/mutant/subject/method/instance.rb +41 -2
- data/lib/mutant/version.rb +1 -1
- data/meta/range.rb +26 -0
- data/mutant.gemspec +7 -4
- data/spec/spec_helper.rb +37 -22
- data/spec/unit/mutant/reporter/cli/printer/env_result_spec.rb +1 -1
- data/spec/unit/mutant/reporter/cli/printer/mutation_progress_result_spec.rb +2 -2
- data/spec/unit/mutant/reporter/cli/printer/mutation_result_spec.rb +12 -12
- data/spec/unit/mutant/reporter/cli/printer/subject_result_spec.rb +1 -1
- data/spec/unit/mutant/reporter/cli/printer_spec.rb +4 -4
- data/spec/unit/mutant/reporter/cli_spec.rb +1 -1
- data/spec/unit/mutant/subject/method/instance_spec.rb +117 -22
- data/test_app/Gemfile.minitest +2 -0
- data/test_app/lib/test_app.rb +4 -0
- metadata +55 -21
- data/config/rubocop.yml +0 -205
- data/lib/mutant/color.rb +0 -40
- data/lib/mutant/diff.rb +0 -97
- data/spec/shared/base_behavior.rb +0 -45
- data/spec/support/test_app.rb +0 -7
- data/spec/support/warnings.yml +0 -6
- data/spec/unit/mutant/diff_spec.rb +0 -189
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 45484c558fad8e5115eb2b4c45712b762eb1d13f12fe7e7a29d9ec0696a16e24
|
4
|
+
data.tar.gz: 5354afd8cf7491687dfef3af68157e37cc549a0190d09bb8755c8bcf33d24051
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1546be8318d6135d2834120bcc3052b879d6568560a9ec5dd056448a46cdd240fede609a4336fb5e64937526aa2db64627285c70dc45b09aa0175d6abc471749
|
7
|
+
data.tar.gz: b8705cb2eb82b286d77ea87a17af903661747cfad61d3e51fcc70b1f906bcf47b07e33305810f1d59cc4f3d2e802b5eae20e0ce4ecf37b686c2fd73e1bc41933
|
data/.github/workflows/ci.yml
CHANGED
@@ -17,7 +17,7 @@ jobs:
|
|
17
17
|
strategy:
|
18
18
|
fail-fast: false
|
19
19
|
matrix:
|
20
|
-
ruby: ['2.6', '2.7']
|
20
|
+
ruby: ['2.5', '2.6', '2.7']
|
21
21
|
os: [ubuntu-latest]
|
22
22
|
steps:
|
23
23
|
- uses: actions/checkout@v2
|
@@ -55,7 +55,7 @@ jobs:
|
|
55
55
|
strategy:
|
56
56
|
fail-fast: false
|
57
57
|
matrix:
|
58
|
-
ruby: ['2.6', '2.7']
|
58
|
+
ruby: ['2.5', '2.6', '2.7']
|
59
59
|
os: [ubuntu-latest]
|
60
60
|
steps:
|
61
61
|
- uses: actions/checkout@v2
|
@@ -74,7 +74,7 @@ jobs:
|
|
74
74
|
strategy:
|
75
75
|
fail-fast: false
|
76
76
|
matrix:
|
77
|
-
ruby: ['2.6', '2.7']
|
77
|
+
ruby: ['2.5', '2.6', '2.7']
|
78
78
|
os: [ubuntu-latest]
|
79
79
|
steps:
|
80
80
|
- uses: actions/checkout@v2
|
@@ -92,7 +92,7 @@ jobs:
|
|
92
92
|
strategy:
|
93
93
|
fail-fast: false
|
94
94
|
matrix:
|
95
|
-
ruby: ['2.6', '2.7']
|
95
|
+
ruby: ['2.5', '2.6', '2.7']
|
96
96
|
os: [ubuntu-latest]
|
97
97
|
steps:
|
98
98
|
- uses: actions/checkout@v2
|
@@ -118,4 +118,4 @@ jobs:
|
|
118
118
|
with:
|
119
119
|
ruby-version: ${{ matrix.ruby }}
|
120
120
|
- run: bundle install
|
121
|
-
- run: bundle exec
|
121
|
+
- run: bundle exec rubocop
|
data/.rubocop.yml
CHANGED
@@ -5,3 +5,206 @@ AllCops:
|
|
5
5
|
- 'tmp/**/*'
|
6
6
|
- 'vendor/**/*'
|
7
7
|
TargetRubyVersion: 2.5
|
8
|
+
|
9
|
+
# Avoid parameter lists longer than five parameters.
|
10
|
+
ParameterLists:
|
11
|
+
Max: 3
|
12
|
+
CountKeywordArgs: true
|
13
|
+
|
14
|
+
# Avoid more than `Max` levels of nesting.
|
15
|
+
BlockNesting:
|
16
|
+
Max: 3
|
17
|
+
|
18
|
+
# Align with the style guide.
|
19
|
+
CollectionMethods:
|
20
|
+
Enabled: true
|
21
|
+
PreferredMethods:
|
22
|
+
collect: 'map'
|
23
|
+
inject: 'reduce'
|
24
|
+
find: 'detect'
|
25
|
+
find_all: 'select'
|
26
|
+
|
27
|
+
AccessModifierIndentation:
|
28
|
+
Enabled: false
|
29
|
+
|
30
|
+
# Limit line length
|
31
|
+
LineLength:
|
32
|
+
Max: 120
|
33
|
+
|
34
|
+
# Disable documentation checking until a class needs to be documented once
|
35
|
+
Documentation:
|
36
|
+
Enabled: false
|
37
|
+
|
38
|
+
# Permit
|
39
|
+
#
|
40
|
+
# boolean_check? or fail
|
41
|
+
#
|
42
|
+
# Reject
|
43
|
+
#
|
44
|
+
# if foo or bar
|
45
|
+
# ...
|
46
|
+
# end
|
47
|
+
AndOr:
|
48
|
+
EnforcedStyle: conditionals
|
49
|
+
|
50
|
+
# Do not favor modifier if/unless usage when you have a single-line body
|
51
|
+
IfUnlessModifier:
|
52
|
+
Enabled: false
|
53
|
+
|
54
|
+
# Allow case equality operator (in limited use within the specs)
|
55
|
+
CaseEquality:
|
56
|
+
Enabled: false
|
57
|
+
|
58
|
+
# Constants do not always have to use SCREAMING_SNAKE_CASE
|
59
|
+
ConstantName:
|
60
|
+
Enabled: false
|
61
|
+
|
62
|
+
# Not all trivial readers/writers can be defined with attr_* methods
|
63
|
+
TrivialAccessors:
|
64
|
+
Enabled: false
|
65
|
+
|
66
|
+
# Allow empty lines around class body
|
67
|
+
EmptyLinesAroundClassBody:
|
68
|
+
Enabled: false
|
69
|
+
|
70
|
+
# Allow empty lines around module body
|
71
|
+
EmptyLinesAroundModuleBody:
|
72
|
+
Enabled: false
|
73
|
+
|
74
|
+
# Allow empty lines around block body
|
75
|
+
EmptyLinesAroundBlockBody:
|
76
|
+
Enabled: false
|
77
|
+
|
78
|
+
# Allow multiple line operations to not require indentation
|
79
|
+
MultilineOperationIndentation:
|
80
|
+
Enabled: false
|
81
|
+
|
82
|
+
# Prefer String#% over Kernel#sprintf
|
83
|
+
FormatString:
|
84
|
+
EnforcedStyle: percent
|
85
|
+
|
86
|
+
# Use square brackets for literal Array objects
|
87
|
+
PercentLiteralDelimiters:
|
88
|
+
PreferredDelimiters:
|
89
|
+
'%': '{}'
|
90
|
+
'%i': '[]'
|
91
|
+
'%q': ()
|
92
|
+
'%Q': ()
|
93
|
+
'%r': '{}'
|
94
|
+
'%s': ()
|
95
|
+
'%w': '[]'
|
96
|
+
'%W': '[]'
|
97
|
+
'%x': ()
|
98
|
+
|
99
|
+
# Use %i[...] for arrays of symbols
|
100
|
+
SymbolArray:
|
101
|
+
Enabled: true
|
102
|
+
|
103
|
+
# Prefer #kind_of? over #is_a?
|
104
|
+
ClassCheck:
|
105
|
+
EnforcedStyle: kind_of?
|
106
|
+
|
107
|
+
# Do not prefer double quotes to be used when %q or %Q is more appropriate
|
108
|
+
Style/RedundantPercentQ:
|
109
|
+
Enabled: false
|
110
|
+
|
111
|
+
# Allow a maximum ABC score
|
112
|
+
Metrics/AbcSize:
|
113
|
+
Max: 21.02
|
114
|
+
|
115
|
+
Metrics/BlockLength:
|
116
|
+
Exclude:
|
117
|
+
- 'spec/**/*.rb'
|
118
|
+
- 'mutant.gemspec'
|
119
|
+
|
120
|
+
# Buggy cop, returns false positive for our code base
|
121
|
+
NonLocalExitFromIterator:
|
122
|
+
Enabled: false
|
123
|
+
|
124
|
+
# To allow alignment of similar expressions we want to allow more than one
|
125
|
+
# space around operators:
|
126
|
+
#
|
127
|
+
# let(:a) { bar + something }
|
128
|
+
# let(:b) { foobar + something }
|
129
|
+
#
|
130
|
+
SpaceAroundOperators:
|
131
|
+
Enabled: false
|
132
|
+
|
133
|
+
# We use parallel assignments with great success
|
134
|
+
ParallelAssignment:
|
135
|
+
Enabled: false
|
136
|
+
|
137
|
+
# Allow additional specs
|
138
|
+
ExtraSpacing:
|
139
|
+
AllowForAlignment: true
|
140
|
+
|
141
|
+
# Buggy
|
142
|
+
FormatParameterMismatch:
|
143
|
+
Enabled: false
|
144
|
+
|
145
|
+
# Different preference
|
146
|
+
SignalException:
|
147
|
+
EnforcedStyle: semantic
|
148
|
+
|
149
|
+
# Do not use `alias`
|
150
|
+
Alias:
|
151
|
+
EnforcedStyle: prefer_alias_method
|
152
|
+
|
153
|
+
# Do not waste my horizontal or vertical space
|
154
|
+
Layout/FirstArrayElementIndentation:
|
155
|
+
Enabled: false
|
156
|
+
|
157
|
+
# Prefer
|
158
|
+
#
|
159
|
+
# some_receiver
|
160
|
+
# .foo
|
161
|
+
# .bar
|
162
|
+
# .baz
|
163
|
+
#
|
164
|
+
# Over
|
165
|
+
#
|
166
|
+
# some_receiver.foo
|
167
|
+
# .bar
|
168
|
+
# .baz
|
169
|
+
MultilineMethodCallIndentation:
|
170
|
+
EnforcedStyle: indented
|
171
|
+
|
172
|
+
# Prefer `public_send` and `__send__` over `send`
|
173
|
+
Send:
|
174
|
+
Enabled: true
|
175
|
+
|
176
|
+
Layout/HashAlignment:
|
177
|
+
EnforcedColonStyle: table
|
178
|
+
EnforcedHashRocketStyle: table
|
179
|
+
Layout/EmptyLineAfterGuardClause:
|
180
|
+
Enabled: false
|
181
|
+
Layout/SpaceInsideArrayLiteralBrackets:
|
182
|
+
Enabled: false
|
183
|
+
Lint/BooleanSymbol:
|
184
|
+
Enabled: false
|
185
|
+
Lint/InterpolationCheck:
|
186
|
+
Enabled: false
|
187
|
+
Lint/MissingCopEnableDirective:
|
188
|
+
Enabled: false
|
189
|
+
Lint/UnifiedInteger:
|
190
|
+
Enabled: false
|
191
|
+
Naming/FileName:
|
192
|
+
Enabled: false
|
193
|
+
Style/AccessModifierDeclarations:
|
194
|
+
Enabled: false
|
195
|
+
Style/CommentedKeyword:
|
196
|
+
Enabled: false
|
197
|
+
Style/MixinGrouping:
|
198
|
+
Enabled: false
|
199
|
+
Style/RaiseArgs:
|
200
|
+
Enabled: false
|
201
|
+
Style/RescueStandardError:
|
202
|
+
Enabled: false
|
203
|
+
Style/StderrPuts:
|
204
|
+
Enabled: false
|
205
|
+
# suggesting single letter variablesl bah
|
206
|
+
Naming/RescuedExceptionsVariableName:
|
207
|
+
Enabled: false
|
208
|
+
# false positive on private keywords
|
209
|
+
Layout/IndentationWidth:
|
210
|
+
Enabled: false
|
data/Changelog.md
CHANGED
@@ -1,3 +1,9 @@
|
|
1
|
+
# v0.9.10 unreleased
|
2
|
+
|
3
|
+
* Remove bounds to allow `diff-lcs 1.4.x` [#1032](https://github.com/mbj/mutant/pull/1032).
|
4
|
+
* Fix crash on endless ranges [#1026](https://github.com/mbj/mutant/pull/1026).
|
5
|
+
* Fix memoized subjects to preserve freezer option [#973](https://github.com/mbj/mutant/pull/973).
|
6
|
+
|
1
7
|
# v0.9.9 2020-09-25
|
2
8
|
|
3
9
|
+ Add support for mutating methods inside eigenclasses `class <<`. [#1009](https://github.com/mbj/mutant/pull/1009)
|
data/Gemfile.lock
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
mutant (0.9.
|
4
|
+
mutant (0.9.10)
|
5
5
|
abstract_type (~> 0.0.7)
|
6
6
|
adamantium (~> 0.2.0)
|
7
7
|
anima (~> 0.3.1)
|
8
8
|
ast (~> 2.2)
|
9
9
|
concord (~> 0.1.5)
|
10
|
-
diff-lcs (
|
10
|
+
diff-lcs (~> 1.3)
|
11
11
|
equalizer (~> 0.0.9)
|
12
12
|
ice_nine (~> 0.11.1)
|
13
13
|
memoizable (~> 0.4.2)
|
14
14
|
mprelude (~> 0.1.0)
|
15
15
|
parser (~> 2.7.1)
|
16
16
|
procto (~> 0.0.2)
|
17
|
-
unparser (~> 0.4.
|
17
|
+
unparser (~> 0.4.8)
|
18
18
|
variable (~> 0.0.1)
|
19
19
|
|
20
20
|
GEM
|
@@ -30,53 +30,13 @@ GEM
|
|
30
30
|
adamantium (~> 0.2)
|
31
31
|
equalizer (~> 0.0.11)
|
32
32
|
ast (2.4.1)
|
33
|
-
axiom-types (0.1.1)
|
34
|
-
descendants_tracker (~> 0.0.4)
|
35
|
-
ice_nine (~> 0.11.0)
|
36
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
37
|
-
codeclimate-engine-rb (0.4.1)
|
38
|
-
virtus (~> 1.0)
|
39
|
-
coercible (1.0.0)
|
40
|
-
descendants_tracker (~> 0.0.1)
|
41
33
|
concord (0.1.5)
|
42
34
|
adamantium (~> 0.2.0)
|
43
35
|
equalizer (~> 0.0.9)
|
44
|
-
|
45
|
-
thread_safe (~> 0.3, >= 0.3.1)
|
46
|
-
devtools (0.1.26)
|
47
|
-
abstract_type (~> 0.0.7)
|
48
|
-
adamantium (~> 0.2.0)
|
49
|
-
anima (~> 0.3.0)
|
50
|
-
concord (~> 0.1.5)
|
51
|
-
flay (~> 2.12.0)
|
52
|
-
flog (~> 4.6.2)
|
53
|
-
procto (~> 0.0.3)
|
54
|
-
rake (~> 12.3.0)
|
55
|
-
reek (~> 5.6.0)
|
56
|
-
rspec (~> 3.8.0)
|
57
|
-
rspec-core (~> 3.8.0)
|
58
|
-
rspec-its (~> 1.2.0)
|
59
|
-
rubocop (~> 0.79.0)
|
60
|
-
simplecov (~> 0.16.1)
|
61
|
-
yard (~> 0.9.16)
|
62
|
-
yardstick (~> 0.9.9)
|
63
|
-
diff-lcs (1.3)
|
64
|
-
docile (1.3.2)
|
36
|
+
diff-lcs (1.4.4)
|
65
37
|
equalizer (0.0.11)
|
66
|
-
erubis (2.7.0)
|
67
|
-
flay (2.12.1)
|
68
|
-
erubis (~> 2.7.0)
|
69
|
-
path_expander (~> 1.0)
|
70
|
-
ruby_parser (~> 3.0)
|
71
|
-
sexp_processor (~> 4.0)
|
72
|
-
flog (4.6.4)
|
73
|
-
path_expander (~> 1.0)
|
74
|
-
ruby_parser (~> 3.1, > 3.1.0)
|
75
|
-
sexp_processor (~> 4.8)
|
76
38
|
ice_nine (0.11.2)
|
77
39
|
jaro_winkler (1.5.4)
|
78
|
-
json (2.3.1)
|
79
|
-
kwalify (0.7.2)
|
80
40
|
memoizable (0.4.2)
|
81
41
|
thread_safe (~> 0.3, >= 0.3.1)
|
82
42
|
mprelude (0.1.0)
|
@@ -90,33 +50,24 @@ GEM
|
|
90
50
|
parallel (1.19.2)
|
91
51
|
parser (2.7.1.4)
|
92
52
|
ast (~> 2.4.1)
|
93
|
-
path_expander (1.1.0)
|
94
53
|
procto (0.0.3)
|
95
|
-
psych (3.1.0)
|
96
54
|
rainbow (3.0.0)
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
rspec (3.8.0)
|
105
|
-
rspec-core (~> 3.8.0)
|
106
|
-
rspec-expectations (~> 3.8.0)
|
107
|
-
rspec-mocks (~> 3.8.0)
|
108
|
-
rspec-core (3.8.2)
|
109
|
-
rspec-support (~> 3.8.0)
|
110
|
-
rspec-expectations (3.8.6)
|
55
|
+
rspec (3.9.0)
|
56
|
+
rspec-core (~> 3.9.0)
|
57
|
+
rspec-expectations (~> 3.9.0)
|
58
|
+
rspec-mocks (~> 3.9.0)
|
59
|
+
rspec-core (3.9.2)
|
60
|
+
rspec-support (~> 3.9.3)
|
61
|
+
rspec-expectations (3.9.2)
|
111
62
|
diff-lcs (>= 1.2.0, < 2.0)
|
112
|
-
rspec-support (~> 3.
|
63
|
+
rspec-support (~> 3.9.0)
|
113
64
|
rspec-its (1.2.0)
|
114
65
|
rspec-core (>= 3.0.0)
|
115
66
|
rspec-expectations (>= 3.0.0)
|
116
|
-
rspec-mocks (3.
|
67
|
+
rspec-mocks (3.9.1)
|
117
68
|
diff-lcs (>= 1.2.0, < 2.0)
|
118
|
-
rspec-support (~> 3.
|
119
|
-
rspec-support (3.
|
69
|
+
rspec-support (~> 3.9.0)
|
70
|
+
rspec-support (3.9.3)
|
120
71
|
rubocop (0.79.0)
|
121
72
|
jaro_winkler (~> 1.5.1)
|
122
73
|
parallel (~> 1.10)
|
@@ -125,43 +76,32 @@ GEM
|
|
125
76
|
ruby-progressbar (~> 1.7)
|
126
77
|
unicode-display_width (>= 1.4.0, < 1.7)
|
127
78
|
ruby-progressbar (1.10.1)
|
128
|
-
ruby_parser (3.14.2)
|
129
|
-
sexp_processor (~> 4.9)
|
130
|
-
sexp_processor (4.15.0)
|
131
|
-
simplecov (0.16.1)
|
132
|
-
docile (~> 1.1)
|
133
|
-
json (>= 1.8, < 3)
|
134
|
-
simplecov-html (~> 0.10.0)
|
135
|
-
simplecov-html (0.10.2)
|
136
79
|
thread_safe (0.3.6)
|
137
80
|
unicode-display_width (1.6.1)
|
138
|
-
unparser (0.4.
|
81
|
+
unparser (0.4.8)
|
139
82
|
abstract_type (~> 0.0.7)
|
140
83
|
adamantium (~> 0.2.0)
|
84
|
+
anima (~> 0.3.1)
|
141
85
|
concord (~> 0.1.5)
|
142
86
|
diff-lcs (~> 1.3)
|
143
87
|
equalizer (~> 0.0.9)
|
88
|
+
mprelude (~> 0.1.0)
|
144
89
|
parser (>= 2.6.5)
|
145
90
|
procto (~> 0.0.2)
|
146
91
|
variable (0.0.1)
|
147
92
|
equalizer (~> 0.0.11)
|
148
|
-
virtus (1.0.5)
|
149
|
-
axiom-types (~> 0.1)
|
150
|
-
coercible (~> 1.0)
|
151
|
-
descendants_tracker (~> 0.0, >= 0.0.3)
|
152
|
-
equalizer (~> 0.0, >= 0.0.9)
|
153
|
-
yard (0.9.25)
|
154
|
-
yardstick (0.9.9)
|
155
|
-
yard (~> 0.8, >= 0.8.7.2)
|
156
93
|
|
157
94
|
PLATFORMS
|
158
95
|
ruby
|
159
96
|
|
160
97
|
DEPENDENCIES
|
161
|
-
devtools (~> 0.1.25)
|
162
98
|
mutant!
|
163
99
|
mutant-license!
|
164
100
|
parallel (~> 1.3)
|
101
|
+
rspec (~> 3.9)
|
102
|
+
rspec-core (~> 3.9)
|
103
|
+
rspec-its (~> 1.2.0)
|
104
|
+
rubocop (~> 0.79.0)
|
165
105
|
|
166
106
|
BUNDLED WITH
|
167
|
-
2.1.
|
107
|
+
2.1.4
|
data/README.md
CHANGED
@@ -41,12 +41,33 @@ would be.
|
|
41
41
|
|
42
42
|
## Ruby Versions
|
43
43
|
|
44
|
-
Mutant
|
45
|
-
including Ruby 2.6.
|
44
|
+
Mutant supports multiple ruby versions at different levels. The levels arge staged:
|
46
45
|
|
47
|
-
|
46
|
+
* Runtime, indicates mutant can execute on a specific Ruby Version / implementation.
|
47
|
+
* Syntax, depends on Runtime support, and indicates syntax new to that Ruby version can be used.
|
48
|
+
* Mutations, depends on Syntax support, and indicates syntax new to that Ruby verison is being analysed.
|
48
49
|
|
49
|
-
|
50
|
+
Supported indicates if a specific Ruby version / Implementation is actively supported. Which means:
|
51
|
+
|
52
|
+
* New releases will only be done if all tests pass on supported Ruby versions / implementations.
|
53
|
+
* New features will be available.
|
54
|
+
|
55
|
+
| Implementation | Version | Runtime | Syntax | Mutations | Supported |
|
56
|
+
| -------------- | -------------- | ------- | ------------------ | ------------------ | ------------------ |
|
57
|
+
| cRUBY/MRI | 2.5 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
58
|
+
| cRUBY/MRI | 2.6 | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: | :heavy_check_mark: |
|
59
|
+
| cRUBY/MRI | 2.7 | :heavy_check_mark: | :soon: | :soon: | :heavy_check_mark: |
|
60
|
+
| jruby | TBD | :email: | :email: | :email: | :email: |
|
61
|
+
| mruby | TBD | :email: | :email: | :email: | :email: |
|
62
|
+
| cRUBY/MRI | < 2.5 | :no_entry: | :no_entry: | :no_entry: | :no_entry: |
|
63
|
+
|
64
|
+
|
65
|
+
Labels:
|
66
|
+
|
67
|
+
* :heavy_check_mark: Supported.
|
68
|
+
* :soon: Active work in progress.
|
69
|
+
* :email: Planned, please contact me on interest.
|
70
|
+
* :no_entry: Not being planned, or considered, still contact me on interest.
|
50
71
|
|
51
72
|
## Licensing
|
52
73
|
|