Sha256: 8e763e33fbc7d7161916e07501709afa25af3f1fa6934312286886d4bfc13877

Contents?: true

Size: 1.26 KB

Versions: 17

Compression:

Stored size: 1.26 KB

Contents

# typed: strict
# frozen_string_literal: true

module Tapioca
  module Helpers
    module Test
      module Template
        extend T::Sig
        extend T::Helpers

        requires_ancestor { Kernel }

        ERB_SUPPORTS_KVARGS = T.let(
          ::ERB.instance_method(:initialize).parameters.assoc(:key), T.nilable([Symbol, Symbol])
        )

        sig { params(selector: String).returns(T::Boolean) }
        def ruby_version(selector)
          ::Gem::Requirement.new(selector).satisfied_by?(::Gem::Version.new(RUBY_VERSION))
        end

        sig { params(selector: String).returns(T::Boolean) }
        def rails_version(selector)
          ::Gem::Requirement.new(selector).satisfied_by?(ActiveSupport.gem_version)
        end

        sig { params(src: String).returns(String) }
        def template(src)
          erb = if ERB_SUPPORTS_KVARGS
            ::ERB.new(src, trim_mode: ">")
          else
            ::ERB.new(src, nil, ">")
          end

          erb.result(binding)
        end

        sig { params(str: String, indent: Integer).returns(String) }
        def indented(str, indent)
          str.lines.map! do |line|
            next line if line.chomp.empty?

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

Version data entries

17 entries across 17 versions & 2 rubygems

Version Path
tapioca-0.11.8 lib/tapioca/helpers/test/template.rb
tapioca-0.11.7 lib/tapioca/helpers/test/template.rb
tapioca-0.11.6 lib/tapioca/helpers/test/template.rb
tapioca-0.11.5 lib/tapioca/helpers/test/template.rb
tapioca-0.11.4 lib/tapioca/helpers/test/template.rb
tapioca-0.11.3 lib/tapioca/helpers/test/template.rb
tapioca-0.11.2 lib/tapioca/helpers/test/template.rb
devcycle-ruby-server-sdk-2.0.0 vendor/bundle/ruby/3.0.0/gems/tapioca-0.11.1/lib/tapioca/helpers/test/template.rb
tapioca-0.11.1 lib/tapioca/helpers/test/template.rb
tapioca-0.11.0 lib/tapioca/helpers/test/template.rb
tapioca-0.10.5 lib/tapioca/helpers/test/template.rb
tapioca-0.10.4 lib/tapioca/helpers/test/template.rb
tapioca-0.10.3 lib/tapioca/helpers/test/template.rb
tapioca-0.10.2 lib/tapioca/helpers/test/template.rb
tapioca-0.10.1 lib/tapioca/helpers/test/template.rb
tapioca-0.10.0 lib/tapioca/helpers/test/template.rb
tapioca-0.9.4 lib/tapioca/helpers/test/template.rb