free_mutant/lib/mutant/meta.rb
Markus Schirp 13cd04d9be Introduce AST::Meta to externalize semantic analysis
* Add Mutant::AST namespace to hold all AST related data / helpers.
* Mutant::AST will be externalized into an ast-meta gem that can be
  shared with unparser for deduplication.
* Over the time the mutators itself will not need to deal with semantic
  analysis of the AST anymore by themselves.
* Move AST analysis for send nodes to AST::Meta
* Fix #209
2014-06-29 21:26:58 +00:00

30 lines
553 B
Ruby

module Mutant
# Namespace for mutant metadata
module Meta
require 'mutant/meta/example'
require 'mutant/meta/example/dsl'
# Mutation example
class Example
ALL = []
# Add example
#
# @return [undefined]
#
# @api private
#
def self.add(&block)
ALL << DSL.run(block)
end
Pathname.glob(Pathname.new(__FILE__).parent.parent.parent.join('meta', '**/*.rb'))
.sort
.each(&method(:require))
ALL.freeze
end # Example
end # Meta
end # Mutant