Module: Tapioca::Helpers::Test::Template

Extended by:
T::Helpers, T::Sig
Included in:
DslCompiler
Defined in:
lib/tapioca/helpers/test/template.rb

Constant Summary collapse

ERB_SUPPORTS_KVARGS =

: [Symbol, Symbol]?

::ERB.instance_method(:initialize).parameters.assoc(:key)

Instance Method Summary collapse

Instance Method Details

#indented(str, indent) ⇒ Object

: (String str, Integer indent) -> String



37
38
39
40
41
42
43
# File 'lib/tapioca/helpers/test/template.rb', line 37

def indented(str, indent)
  str.lines.map! do |line|
    next line if line.chomp.empty?

    (" " * indent) + line
  end.join
end

#rails_version(selector) ⇒ Object

: (String selector) -> bool



21
22
23
# File 'lib/tapioca/helpers/test/template.rb', line 21

def rails_version(selector)
  ::Gem::Requirement.new(selector).satisfied_by?(ActiveSupport.gem_version)
end

#ruby_version(selector) ⇒ Object

: (String selector) -> bool



16
17
18
# File 'lib/tapioca/helpers/test/template.rb', line 16

def ruby_version(selector)
  ::Gem::Requirement.new(selector).satisfied_by?(::Gem::Version.new(RUBY_VERSION))
end

#template(src, trim_mode: ">") ⇒ Object

: (String src, ?trim_mode: String) -> String



26
27
28
29
30
31
32
33
34
# File 'lib/tapioca/helpers/test/template.rb', line 26

def template(src, trim_mode: ">")
  erb = if ERB_SUPPORTS_KVARGS
    ::ERB.new(src, trim_mode: trim_mode)
  else
    ::ERB.new(src, nil, trim_mode)
  end

  erb.result(binding)
end