Sha256: acb7236900dcf18b0b2805340bc5ec5a9b127e68417bf5f01b1b05bd6e8c46f1

Contents?: true

Size: 848 Bytes

Versions: 20

Compression:

Stored size: 848 Bytes

Contents

# frozen_string_literal: true

module Mutant
  # Namespace for mutant metadata
  module Meta
    require 'mutant/meta/example'
    require 'mutant/meta/example/dsl'
    require 'mutant/meta/example/verification'

    # Mutation example
    class Example

      # rubocop:disable Style/MutableConstant
      ALL = []

      # Add example
      #
      # @return [undefined]
      def self.add(*types, &block)
        file = caller.first.split(':in', 2).first
        ALL << DSL.call(file, Set.new(types), block)
      end

      Pathname.glob(Pathname.new(__dir__).parent.parent.join('meta', '*.rb'))
        .sort
        .each(&method(:require))

      ALL.freeze

      # Remove mutation method only present for DSL executions from meta/**/*.rb
      class << self
        undef_method :add
      end

    end # Example
  end # Meta
end # Mutant

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
mutant-0.10.11 lib/mutant/meta.rb
mutant-0.10.10 lib/mutant/meta.rb
mutant-0.10.9 lib/mutant/meta.rb
mutant-0.10.8 lib/mutant/meta.rb
mutant-0.10.7 lib/mutant/meta.rb
mutant-0.10.6 lib/mutant/meta.rb
mutant-0.10.5 lib/mutant/meta.rb
mutant-0.10.4 lib/mutant/meta.rb
mutant-0.10.1 lib/mutant/meta.rb
mutant-0.10.0 lib/mutant/meta.rb
mutant-0.9.14 lib/mutant/meta.rb
mutant-0.9.13 lib/mutant/meta.rb
mutant-0.9.12 lib/mutant/meta.rb
mutant-0.9.11 lib/mutant/meta.rb
mutant-0.9.10 lib/mutant/meta.rb
mutant-0.9.9 lib/mutant/meta.rb
mutant-0.9.8 lib/mutant/meta.rb
mutant-0.9.7 lib/mutant/meta.rb
mutant-0.9.6 lib/mutant/meta.rb
mutant-0.9.5 lib/mutant/meta.rb