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

Extended by:
T::Helpers, T::Sig
Includes:
Content, Isolation, Template
Defined in:
lib/tapioca/helpers/test/dsl_compiler.rb

Defined Under Namespace

Classes: CompilerContext

Constant Summary

Constants included from Template

Template::ERB_SUPPORTS_KVARGS

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



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

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

#contextObject

: -> CompilerContext



49
50
51
52
53
# File 'lib/tapioca/helpers/test/dsl_compiler.rb', line 49

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

  @context
end

#gathered_constantsObject

: -> Array



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

def gathered_constants
  context.gathered_constants
end

#generated_errorsObject

: -> Array



44
45
46
# File 'lib/tapioca/helpers/test/dsl_compiler.rb', line 44

def generated_errors
  context.errors
end

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

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



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

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



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

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