Module: ASTTransform

Defined in:
lib/ast_transform.rb,
lib/ast_transform/version.rb,
lib/ast_transform/source_map.rb,
lib/ast_transform/transformer.rb,
lib/ast_transform/kwargs_builder.rb,
lib/ast_transform/transformation.rb,
lib/ast_transform/instruction_sequence.rb,
lib/ast_transform/transformation_helper.rb,
lib/ast_transform/abstract_transformation.rb,
lib/ast_transform/instruction_sequence/mixin.rb,
lib/ast_transform/instruction_sequence/mixin_utils.rb,
lib/ast_transform/instruction_sequence/bootsnap_mixin.rb

Defined Under Namespace

Modules: InstructionSequence, MixinUtils, TransformationHelper Classes: AbstractTransformation, KwargsBuilder, SourceMap, Transformation, Transformer

Constant Summary collapse

DEFAULT_OUTPUT_PATH =
Pathname.new("").join("tmp", "ast_transform").to_s
VERSION =
"2.1.4"

Class Method Summary collapse

Class Method Details

.acronym(acronym) ⇒ Object



16
17
18
19
# File 'lib/ast_transform.rb', line 16

def acronym(acronym)
  acronyms << acronym
  acronyms.uniq!
end

.acronymsObject



12
13
14
# File 'lib/ast_transform.rb', line 12

def acronyms
  @acronyms ||= []
end

.installObject



21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/ast_transform.rb', line 21

def install
  @installed ||= begin
    if defined?(Bootsnap) && ASTTransform::InstructionSequence.using_bootsnap_compilation?
      class << Bootsnap::CompileCache::ISeq
        prepend ::ASTTransform::InstructionSequence::BootsnapMixin
      end
    else
      class << RubyVM::InstructionSequence
        prepend ::ASTTransform::InstructionSequence::Mixin
      end
    end
  end
end

.output_pathObject



39
40
41
# File 'lib/ast_transform.rb', line 39

def output_path
  @output_path || DEFAULT_OUTPUT_PATH
end

.output_path=(path) ⇒ Object



35
36
37
# File 'lib/ast_transform.rb', line 35

def output_path=(path)
  @output_path = path
end