Sha256: 66032f9d44ff045817bbccc3f1bd441d5135355d6ab63589f6bc51e51a7f8931

Contents?: true

Size: 520 Bytes

Versions: 8

Compression:

Stored size: 520 Bytes

Contents

module Mutant
  # Base class for code loaders
  class Loader
    include Anima.new(:binding, :kernel, :node, :subject)

    # Call loader
    #
    # @return [self]
    def self.call(*arguments)
      new(*arguments).call
    end

    # Call loader
    #
    # One off the very few valid uses of eval
    #
    # @return [undefined]
    def call
      kernel.eval(
        Unparser.unparse(node),
        binding,
        subject.source_path.to_s,
        subject.source_line
      )
    end
  end # Loader
end # Mutant

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
mutant-0.8.16 lib/mutant/loader.rb
mutant-0.8.15 lib/mutant/loader.rb
mutant-0.8.14 lib/mutant/loader.rb
mutant-0.8.13 lib/mutant/loader.rb
mutant-0.8.12 lib/mutant/loader.rb
mutant-0.8.11 lib/mutant/loader.rb
mutant-0.8.10 lib/mutant/loader.rb
mutant-0.8.9 lib/mutant/loader.rb