Module: MutationTester::InMemoryLoader
- Defined in:
- lib/mutation_tester/in_memory_loader.rb
Class Method Summary collapse
- .apply(source, path) ⇒ Object
- .load_time_defined?(node) ⇒ Boolean
- .load_time_defined_guard?(source) ⇒ Boolean
Class Method Details
.apply(source, path) ⇒ Object
3 4 5 6 7 8 9 |
# File 'lib/mutation_tester/in_memory_loader.rb', line 3 def self.apply(source, path) previous = $VERBOSE $VERBOSE = nil eval(source, TOPLEVEL_BINDING, path) ensure $VERBOSE = previous end |
.load_time_defined?(node) ⇒ Boolean
17 18 19 20 21 22 23 |
# File 'lib/mutation_tester/in_memory_loader.rb', line 17 def self.load_time_defined?(node) return false unless node.is_a?(Parser::AST::Node) return true if node.type == :defined? return false if %i[def defs].include?(node.type) node.children.any? { |child| load_time_defined?(child) } end |
.load_time_defined_guard?(source) ⇒ Boolean
11 12 13 14 15 |
# File 'lib/mutation_tester/in_memory_loader.rb', line 11 def self.load_time_defined_guard?(source) load_time_defined?(Parser::CurrentRuby.parse(source)) rescue Parser::SyntaxError false end |