Module: Tapioca::Helpers::Test::DslCompiler

Includes:
Content, Isolation, Template
Defined in:
lib/tapioca/helpers/test/dsl_compiler.rb

Overview

@requires_ancestor: Kernel

Defined Under Namespace

Classes: CompilerContext

Constant Summary

Constants included from Isolation::Subprocess

Isolation::Subprocess::ORIG_ARGV

Instance Method Summary collapse

Methods included from Template

#indented, #rails_version, #ruby_version, #template

Methods included from Content

#add_content_file, #add_ruby_file, #remove_tmp_path, #teardown, #tmp_path

Methods included from Isolation

forking_env?, #run

Methods included from Isolation::Subprocess

#run_in_isolation

Methods included from Isolation::Forking

#run_in_isolation

Instance Method Details

#activate_other_dsl_compilers(*compiler_classes) ⇒ Object

: (*singleton(Tapioca::Dsl::Compiler) compiler_classes) -> void



25
26
27
# File 'lib/tapioca/helpers/test/dsl_compiler.rb', line 25

def activate_other_dsl_compilers(*compiler_classes)
  context.activate_other_dsl_compilers(compiler_classes)
end

#contextObject

: -> CompilerContext



45
46
47
48
49
# File 'lib/tapioca/helpers/test/dsl_compiler.rb', line 45

def context
  raise "Please call `use_dsl_compiler` before" unless @context

  @context
end

#gathered_constantsObject

: -> Array



35
36
37
# File 'lib/tapioca/helpers/test/dsl_compiler.rb', line 35

def gathered_constants
  context.gathered_constants
end

#generated_errorsObject

: -> Array



40
41
42
# File 'lib/tapioca/helpers/test/dsl_compiler.rb', line 40

def generated_errors
  context.errors
end

#rbi_for(constant_name, compiler_options: {}) ⇒ Object

: ((Symbol | String) constant_name, ?compiler_options: Hash[Symbol, untyped]) -> String



30
31
32
# File 'lib/tapioca/helpers/test/dsl_compiler.rb', line 30

def rbi_for(constant_name, compiler_options: {})
  context.rbi_for(constant_name, compiler_options: compiler_options)
end

#use_dsl_compiler(compiler_class) ⇒ Object

: (singleton(Tapioca::Dsl::Compiler) compiler_class) -> void



20
21
22
# File 'lib/tapioca/helpers/test/dsl_compiler.rb', line 20

def use_dsl_compiler(compiler_class)
  @context = CompilerContext.new(compiler_class) #: CompilerContext?
end