Class List Method List File List

# Class: VertxWebCommon::TemplateEngine

Inherits:
  Object
  - Object
  - VertxWebCommon::TemplateEngine
  show all
Defined in:
  /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-common/template_engine.rb

## Overview

A template template uses a specific template and the data in a routing context to render a resource into a buffer.

Concrete implementations exist for several well-known template engines.

## Direct Known Subclasses

VertxWeb::TemplateEngine, VertxWebTemplFreemarker::FreeMarkerTemplateEngine, VertxWebTemplHandlebars::HandlebarsTemplateEngine, VertxWebTemplJade::JadeTemplateEngine, VertxWebTemplMvel::MVELTemplateEngine, VertxWebTemplPebble::PebbleTemplateEngine, VertxWebTemplRocker::RockerTemplateEngine, VertxWebTemplThymeleaf::ThymeleafTemplateEngine

## Constant Summary

@@j_api_type =

      Object.new

## Class Method Summary (collapse)

- + (Boolean) accept?(obj)
- + (Object) j_api_type
- + (Object) j_class
- + (Object) unwrap(obj)
- + (Object) wrap(obj)

## Instance Method Summary (collapse)

- - (true, false) caching_enabled?
  Returns true if the template template caches template files.
- - (void) render(context = nil, templateFileName = nil) { ... }
  Render the template.

## Class Method Details

### + (`Boolean`) accept?(obj)

Returns:

- (`Boolean`)

    20
    21
    22
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-common/template_engine.rb', line 20

    def @@j_api_type.accept?(obj)
      obj.class == TemplateEngine
    end

### + (`Object`) j_api_type

    29
    30
    31
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-common/template_engine.rb', line 29

    def self.j_api_type
      @@j_api_type
    end

### + (`Object`) j_class

    32
    33
    34
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-common/template_engine.rb', line 32

    def self.j_class
      Java::IoVertxExtWebCommonTemplate::TemplateEngine.java_class
    end

### + (`Object`) unwrap(obj)

    26
    27
    28
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-common/template_engine.rb', line 26

    def @@j_api_type.unwrap(obj)
      obj.j_del
    end

### + (`Object`) wrap(obj)

    23
    24
    25
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-common/template_engine.rb', line 23

    def @@j_api_type.wrap(obj)
      TemplateEngine.new(obj)
    end

## Instance Method Details

### - (`true`, `false`) caching_enabled?

Returns true if the template template caches template files. If false, then template files are freshly loaded each time they are used.

Returns:

- (`true`, `false`) —
  True if template files are cached; otherwise, false.

Raises:

- (`ArgumentError`)

    53
    54
    55
    56
    57
    58
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-common/template_engine.rb', line 53

    def caching_enabled?
      if !block_given?
        return @j_del.java_method(:isCachingEnabled, []).call()
      end
      raise ArgumentError, "Invalid arguments when calling caching_enabled?()"
    end

### - (`void`) render(context = nil, templateFileName = nil) { ... }

This method returns an undefined value.

Render the template. Template engines that support partials/fragments should extract the template base path from the template filename up to the last file separator. Some engines support localization, for these engines, there is a predefined key "lang" to specify the language to be used in the localization, the format should follow the standard locale formats e.g.: "en-gb", "pt-br", "en".

Parameters:

- context (`Hash{String => Object}`) (defaults to: `nil`) —
  the routing context
- templateFileName (`String`) (defaults to: `nil`) —
  the template file name to use

Yields:

- the handler that will be called with a result containing the buffer or a failure.

Raises:

- (`ArgumentError`)

    44
    45
    46
    47
    48
    49
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-common/template_engine.rb', line 44

    def render(context=nil,templateFileName=nil)
      if context.class == Hash && templateFileName.class == String && block_given?
        return @j_del.java_method(:render, [Java::IoVertxCoreJson::JsonObject.java_class,Java::java.lang.String.java_class,Java::IoVertxCore::Handler.java_class]).call(::Vertx::Util::Utils.to_json_object(context),templateFileName,(Proc.new { |ar| yield(ar.failed ? ar.cause : nil, ar.succeeded ? ::Vertx::Util::Utils.safe_create(ar.result,::Vertx::Buffer) : nil) }))
      end
      raise ArgumentError, "Invalid arguments when calling render(#{context},#{templateFileName})"
    end