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

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

Overview

@requires_ancestor: Kernel

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



34
35
36
37
38
39
40
# File 'lib/tapioca/helpers/test/template.rb', line 34

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



18
19
20
# File 'lib/tapioca/helpers/test/template.rb', line 18

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

#ruby_version(selector) ⇒ Object

: (String selector) -> bool



13
14
15
# File 'lib/tapioca/helpers/test/template.rb', line 13

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



23
24
25
26
27
28
29
30
31
# File 'lib/tapioca/helpers/test/template.rb', line 23

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