mutant 0.11.25 → 0.11.26

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: 582339f240c2c234a6130ff32d7c998318b9b82670321483d5b66351524acfb9
4
- data.tar.gz: 1f027e4239fc3bb5b518e796249ab4ac9cf2902d938995adfbd276af2fb69951
3
+ metadata.gz: 7cfde1fc6bf867efdfcaada6e39b084ba28089999da9d3f0c6f68a684f6cce35
4
+ data.tar.gz: 66c43239c831af01f5ff2d9e4fafcaf1f7aaacb29b5bedc47ac859b6e7044aff
5
5
  SHA512:
6
- metadata.gz: 823420ff1abcf0b8ac2e8c79012962a355f85324195cefc4d1daf9a60537f5773d2d125ec76881462b6f59d61081a2875c9f5c168ede8cbab190f7cc45a9a665
7
- data.tar.gz: 1ebafd946b6b3404835653a3a024e655b9961d418247201ba14080fb772df20cab6295609acaee00d41bd9820f8fdb492b8b0606791435be395f863588cde104
6
+ metadata.gz: a2774dfb906a30402f3a6160bca215a5bfaee671035376406f9858368720a1eacda1237c3cd0794c824c5abd9347cdf8f04ead80b878063a0cadc61c5c044270
7
+ data.tar.gz: 796f8625453e50727e76359e5513cef8f1121dc9166dbb3bc7b4ec7a33114fa08c00b41dddd42f8a6f4dc36cde0a4ff6fd8813309bda54dda81dfaa825fe32c7
@@ -6,7 +6,7 @@ module Mutant
6
6
  # rubocop:disable Metrics/ClassLength
7
7
  class Lexer
8
8
  WHITESPACE = [' ', "\t", "\n"].to_set.freeze
9
- STRING_PATTERN = /\A[a-zA-Z][_a-zA-Z0-9]*\z/.freeze
9
+ STRING_PATTERN = /\A[a-zA-Z][_a-zA-Z0-9]*\z/
10
10
 
11
11
  SINGLE_CHAR =
12
12
  {
@@ -5,7 +5,7 @@ module Mutant
5
5
  class Descendants < self
6
6
  include Anima.new(:const_name)
7
7
 
8
- REGEXP = /\Adescendants:(?<const_name>.+)\z/.freeze
8
+ REGEXP = /\Adescendants:(?<const_name>.+)\z/
9
9
 
10
10
  def syntax
11
11
  "descendants:#{const_name}"
@@ -20,11 +20,11 @@ module Mutant
20
20
  '#' => [Matcher::Methods::Instance].freeze
21
21
  }.freeze
22
22
 
23
- METHOD_NAME_PATTERN = /(?<method_name>.+)/.freeze
23
+ METHOD_NAME_PATTERN = /(?<method_name>.+)/
24
24
 
25
25
  private_constant(*constants(false))
26
26
 
27
- REGEXP = /\A#{SCOPE_NAME_PATTERN}#{SCOPE_SYMBOL_PATTERN}#{METHOD_NAME_PATTERN}\z/.freeze
27
+ REGEXP = /\A#{SCOPE_NAME_PATTERN}#{SCOPE_SYMBOL_PATTERN}#{METHOD_NAME_PATTERN}\z/
28
28
 
29
29
  def initialize(*)
30
30
  super
@@ -19,7 +19,7 @@ module Mutant
19
19
 
20
20
  private_constant(*constants(false))
21
21
 
22
- REGEXP = /\A#{SCOPE_NAME_PATTERN}#{SCOPE_SYMBOL_PATTERN}\z/.freeze
22
+ REGEXP = /\A#{SCOPE_NAME_PATTERN}#{SCOPE_SYMBOL_PATTERN}\z/
23
23
 
24
24
  def initialize(*)
25
25
  super
@@ -9,7 +9,7 @@ module Mutant
9
9
 
10
10
  # Recursive namespace expression
11
11
  class Recursive < self
12
- REGEXP = /\A#{SCOPE_NAME_PATTERN}?\*\z/.freeze
12
+ REGEXP = /\A#{SCOPE_NAME_PATTERN}?\*\z/
13
13
 
14
14
  # Initialize object
15
15
  #
@@ -17,7 +17,7 @@ module Mutant
17
17
  def initialize(*)
18
18
  super
19
19
 
20
- @syntax = "#{scope_name}*".freeze # rubocop:disable Style/RedundantFreeze
20
+ @syntax = "#{scope_name}*".freeze
21
21
 
22
22
  @recursion_pattern = Regexp.union(
23
23
  /\A#{scope_name}\z/,
@@ -60,7 +60,7 @@ module Mutant
60
60
  MATCHER = Matcher::Scope
61
61
  private_constant(*constants(false))
62
62
 
63
- REGEXP = /\A#{SCOPE_NAME_PATTERN}\z/.freeze
63
+ REGEXP = /\A#{SCOPE_NAME_PATTERN}\z/
64
64
 
65
65
  # Matcher matcher on expression
66
66
  #
@@ -4,8 +4,8 @@ module Mutant
4
4
 
5
5
  # Abstract base class for match expression
6
6
  class Expression
7
- fragment = /[A-Za-z][A-Za-z\d_]*/.freeze
8
- SCOPE_NAME_PATTERN = /(?<scope_name>#{fragment}(?:#{SCOPE_OPERATOR}#{fragment})*)/.freeze
7
+ fragment = /[A-Za-z][A-Za-z\d_]*/
8
+ SCOPE_NAME_PATTERN = /(?<scope_name>#{fragment}(?:#{SCOPE_OPERATOR}#{fragment})*)/
9
9
  SCOPE_SYMBOL_PATTERN = '(?<scope_symbol>[.#])'
10
10
 
11
11
  private_constant(*constants(false))
@@ -6,11 +6,11 @@ module Mutant
6
6
  class Repository
7
7
  include Anima.new(:host, :path)
8
8
 
9
- REMOTE_REGEXP = /\A[^\t]+\t(?<url>[^ ]+) \((?:fetch|push)\)\n\z/.freeze
10
- GIT_SSH_REGEXP = %r{\A[^@]+@(?<host>[^:/]+)[:/](?<path>.+?)(?:\.git)?\z}.freeze
11
- GIT_HTTPS_REGEXP = %r{\Ahttps://(?<host>[^/]+)/(?<path>.+?)(?:\.git)?\z}.freeze
9
+ REMOTE_REGEXP = /\A[^\t]+\t(?<url>[^ ]+) \((?:fetch|push)\)\n\z/
10
+ GIT_SSH_REGEXP = %r{\A[^@]+@(?<host>[^:/]+)[:/](?<path>.+?)(?:\.git)?\z}
11
+ GIT_HTTPS_REGEXP = %r{\Ahttps://(?<host>[^/]+)/(?<path>.+?)(?:\.git)?\z}
12
12
  WILDCARD = '/*'
13
- WILDCARD_RANGE = (..-WILDCARD.length).freeze
13
+ WILDCARD_RANGE = (..-WILDCARD.length)
14
14
 
15
15
  private_constant(*constants(false))
16
16
 
data/lib/mutant/loader.rb CHANGED
@@ -5,7 +5,7 @@ module Mutant
5
5
  include Anima.new(:binding, :kernel, :source, :subject)
6
6
 
7
7
  FROZEN_STRING_FORMAT = "# frozen_string_literal: true\n%s"
8
- VOID_VALUE_REGEXP = /\A[^:]+:\d+: void value expression/.freeze
8
+ VOID_VALUE_REGEXP = /\A[^:]+:\d+: void value expression/
9
9
 
10
10
  private_constant(*constants(false))
11
11
 
@@ -11,7 +11,7 @@ module Mutant
11
11
  :diffs
12
12
  )
13
13
 
14
- INSPECT_FORMAT = "#<#{self} %s>"
14
+ INSPECT_FORMAT = "#<#{self} %s>".freeze
15
15
  ATTRIBUTE_DELIMITER = ' '
16
16
  ATTRIBUTE_FORMAT = '%s: [%s]'
17
17
  ENUM_DELIMITER = ','
@@ -49,7 +49,7 @@ module Mutant
49
49
 
50
50
  def merge(other)
51
51
  with(
52
- ignore_patterns: other.ignore_patterns,
52
+ ignore_patterns: other.ignore_patterns.any? ? other.ignore_patterns : ignore_patterns,
53
53
  operators: other.operators || operators,
54
54
  timeout: other.timeout || timeout
55
55
  )
@@ -7,7 +7,7 @@ module Mutant
7
7
  include Anima.new(:subject, :node)
8
8
 
9
9
  CODE_DELIMITER = "\0"
10
- CODE_RANGE = (..4).freeze
10
+ CODE_RANGE = (..4)
11
11
 
12
12
  # Mutation identification code
13
13
  #
@@ -5,7 +5,7 @@ module Mutant
5
5
  class Node
6
6
  # Base mutator for index operations
7
7
  class Index < self
8
- NO_VALUE_RANGE = (1..-1).freeze
8
+ NO_VALUE_RANGE = (1..-1)
9
9
  SEND_REPLACEMENTS = %i[at fetch key?].freeze
10
10
 
11
11
  private_constant(*constants(false))
@@ -67,7 +67,7 @@ module Mutant
67
67
 
68
68
  # Mutator for index assignments
69
69
  class Assign < self
70
- REGULAR_RANGE = (1..-2).freeze
70
+ REGULAR_RANGE = (1..-2)
71
71
 
72
72
  private_constant(*constants(false))
73
73
 
@@ -18,7 +18,7 @@ module Mutant
18
18
 
19
19
  # Named value access emitter for instance variables
20
20
  class Ivar < Access
21
- NAME_RANGE = (1..-1).freeze
21
+ NAME_RANGE = (1..-1)
22
22
 
23
23
  handle(:ivar)
24
24
 
@@ -12,7 +12,7 @@ module Mutant
12
12
 
13
13
  define_named_child(:else_body, -1)
14
14
 
15
- RESCUE_INDICES = (1..-2).freeze
15
+ RESCUE_INDICES = (1..-2)
16
16
 
17
17
  private
18
18
 
@@ -7,7 +7,7 @@ module Mutant
7
7
  # Mutator for attribute assignments
8
8
  class AttributeAssignment < self
9
9
 
10
- ATTRIBUTE_RANGE = (..-2).freeze
10
+ ATTRIBUTE_RANGE = (..-2)
11
11
 
12
12
  private_constant(*constants(false))
13
13
 
@@ -4,8 +4,8 @@ module Mutant
4
4
  module Repository
5
5
  class Diff
6
6
  module Ranges
7
- DECIMAL = /(?:0|[1-9]\d*)/.freeze
8
- REGEXP = /\A@@ -(#{DECIMAL})(?:,(#{DECIMAL}))? \+(#{DECIMAL})(?:,(#{DECIMAL}))? @@/.freeze
7
+ DECIMAL = /(?:0|[1-9]\d*)/
8
+ REGEXP = /\A@@ -(#{DECIMAL})(?:,(#{DECIMAL}))? \+(#{DECIMAL})(?:,(#{DECIMAL}))? @@/
9
9
 
10
10
  private_constant(*constants(false))
11
11
 
@@ -6,7 +6,7 @@ module Mutant
6
6
  class Diff
7
7
  include Adamantium, Anima.new(:world, :to)
8
8
 
9
- FORMAT = /\A:\d{6} \d{6} [a-f\d]{40} [a-f\d]{40} [ACDMRTUX]\t(.*)\n\z/.freeze
9
+ FORMAT = /\A:\d{6} \d{6} [a-f\d]{40} [a-f\d]{40} [ACDMRTUX]\t(.*)\n\z/
10
10
 
11
11
  private_constant(*constants(false))
12
12
 
@@ -85,8 +85,8 @@ module Mutant
85
85
  class Path
86
86
  include Adamantium, Anima.new(:world, :to, :path)
87
87
 
88
- DECIMAL = /(?:0|[1-9]\d*)/.freeze
89
- REGEXP = /\A@@ -(#{DECIMAL})(?:,(#{DECIMAL}))? \+(#{DECIMAL})(?:,(#{DECIMAL}))? @@/.freeze
88
+ DECIMAL = /(?:0|[1-9]\d*)/
89
+ REGEXP = /\A@@ -(#{DECIMAL})(?:,(#{DECIMAL}))? \+(#{DECIMAL})(?:,(#{DECIMAL}))? @@/
90
90
 
91
91
  private_constant(*constants(false))
92
92
 
@@ -7,8 +7,8 @@ module Mutant
7
7
 
8
8
  DEFAULT = new(inline_disable: false, mutation: Mutation::Config::DEFAULT)
9
9
 
10
- DISABLE_REGEXP = /(\s|^)mutant:disable(?:\s|$)/.freeze
11
- SYNTAX_REGEXP = /\A(?:#|=begin\n)/.freeze
10
+ DISABLE_REGEXP = /(\s|^)mutant:disable(?:\s|$)/
11
+ SYNTAX_REGEXP = /\A(?:#|=begin\n)/
12
12
 
13
13
  def self.parse(comments:, mutation:)
14
14
  new(
@@ -2,5 +2,5 @@
2
2
 
3
3
  module Mutant
4
4
  # Current mutant version
5
- VERSION = '0.11.25'
5
+ VERSION = '0.11.26'
6
6
  end # Mutant
data/lib/mutant.rb CHANGED
@@ -63,8 +63,8 @@ module Mutant
63
63
 
64
64
  env_key = /[a-zA-Z_\d]+/
65
65
 
66
- ENV_VARIABLE_KEY_VALUE_REGEXP = /\A(?<key>#{env_key}+)=(?<value>.*)\z/.freeze
67
- ENV_VARIABLE_KEY_REGEXP = /\A#{env_key}\z/.freeze
66
+ ENV_VARIABLE_KEY_VALUE_REGEXP = /\A(?<key>#{env_key}+)=(?<value>.*)\z/
67
+ ENV_VARIABLE_KEY_REGEXP = /\A#{env_key}\z/
68
68
 
69
69
  # rubocop:disable Metrics/BlockLength
70
70
  record.call(:require_mutant_lib) do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mutant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.11.25
4
+ version: 0.11.26
5
5
  platform: ruby
6
6
  authors:
7
7
  - Markus Schirp
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-18 00:00:00.000000000 Z
11
+ date: 2023-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: diff-lcs
@@ -373,7 +373,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
373
373
  requirements:
374
374
  - - ">="
375
375
  - !ruby/object:Gem::Version
376
- version: '2.7'
376
+ version: '3.0'
377
377
  required_rubygems_version: !ruby/object:Gem::Requirement
378
378
  requirements:
379
379
  - - ">="