Class List Method List File List

# Class: VertxWebTemplHandlebars::HandlebarsTemplateEngine

Inherits:
  VertxWebCommon::TemplateEngine
  - Object
  - VertxWebCommon::TemplateEngine
  - VertxWebTemplHandlebars::HandlebarsTemplateEngine
  show all
Defined in:
  /Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-templ-handlebars/handlebars_template_engine.rb

## Overview

A template engine that uses the Handlebars library.

## Constant Summary

@@j_api_type =

      Object.new

## Class Method Summary (collapse)

- + (Boolean) accept?(obj)
- + (::VertxWebTemplHandlebars::HandlebarsTemplateEngine) create(vertx = nil)
  Create a template engine using defaults.
- + (Object) DEFAULT_MAX_CACHE_SIZE
  Default max number of templates to cache.
- + (Object) DEFAULT_TEMPLATE_EXTENSION
  Default template extension.
- + (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.
- - (self) set_extension(extension = nil)
- - (self) set_max_cache_size(maxCacheSize = nil)
  Set the max cache size for the engine.

## 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-templ-handlebars/handlebars_template_engine.rb', line 20

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

### + (`::VertxWebTemplHandlebars::HandlebarsTemplateEngine`) create(vertx = nil)

Create a template engine using defaults

Parameters:

- vertx (`::Vertx::Vertx`) (defaults to: `nil`)

Returns:

- (`::VertxWebTemplHandlebars::HandlebarsTemplateEngine`) —
  the engine

Raises:

- (`ArgumentError`)

    62
    63
    64
    65
    66
    67
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-templ-handlebars/handlebars_template_engine.rb', line 62

    def self.create(vertx=nil)
      if vertx.class.method_defined?(:j_del) && !block_given?
        return ::Vertx::Util::Utils.safe_create(Java::IoVertxExtWebTemplHandlebars::HandlebarsTemplateEngine.java_method(:create, [Java::IoVertxCore::Vertx.java_class]).call(vertx.j_del),::VertxWebTemplHandlebars::HandlebarsTemplateEngine)
      end
      raise ArgumentError, "Invalid arguments when calling create(#{vertx})"
    end

### + (`Object`) DEFAULT_MAX_CACHE_SIZE

Default max number of templates to cache

    88
    89
    90
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-templ-handlebars/handlebars_template_engine.rb', line 88

    def self.DEFAULT_MAX_CACHE_SIZE
      Java::IoVertxExtWebTemplHandlebars::HandlebarsTemplateEngine.DEFAULT_MAX_CACHE_SIZE
    end

### + (`Object`) DEFAULT_TEMPLATE_EXTENSION

Default template extension

    92
    93
    94
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-templ-handlebars/handlebars_template_engine.rb', line 92

    def self.DEFAULT_TEMPLATE_EXTENSION
      Java::IoVertxExtWebTemplHandlebars::HandlebarsTemplateEngine.DEFAULT_TEMPLATE_EXTENSION
    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-templ-handlebars/handlebars_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-templ-handlebars/handlebars_template_engine.rb', line 32

    def self.j_class
      Java::IoVertxExtWebTemplHandlebars::HandlebarsTemplateEngine.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-templ-handlebars/handlebars_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-templ-handlebars/handlebars_template_engine.rb', line 23

    def @@j_api_type.wrap(obj)
      HandlebarsTemplateEngine.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-templ-handlebars/handlebars_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-templ-handlebars/handlebars_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

### - (`self`) set_extension(extension = nil)

Parameters:

- extension (`String`) (defaults to: `nil`) —
  the extension

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    70
    71
    72
    73
    74
    75
    76
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-templ-handlebars/handlebars_template_engine.rb', line 70

    def set_extension(extension=nil)
      if extension.class == String && !block_given?
        @j_del.java_method(:setExtension, [Java::java.lang.String.java_class]).call(extension)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_extension(#{extension})"
    end

### - (`self`) set_max_cache_size(maxCacheSize = nil)

Set the max cache size for the engine

Parameters:

- maxCacheSize (`Fixnum`) (defaults to: `nil`) —
  the maxCacheSize

Returns:

- (`self`)

Raises:

- (`ArgumentError`)

    80
    81
    82
    83
    84
    85
    86
    # File '/Users/julien/java/vertx-aggregator/modules/vertx-lang-ruby/vertx-lang-ruby/target/classes/vertx-web-templ-handlebars/handlebars_template_engine.rb', line 80

    def set_max_cache_size(maxCacheSize=nil)
      if maxCacheSize.class == Fixnum && !block_given?
        @j_del.java_method(:setMaxCacheSize, [Java::int.java_class]).call(maxCacheSize)
        return self
      end
      raise ArgumentError, "Invalid arguments when calling set_max_cache_size(#{maxCacheSize})"
    end