Module: Aws::Templates::Render::Utils::BaseTypeViews

Includes:
Aws::Templates::Render
Defined in:
lib/aws/templates/render/utils/base_type_views.rb

Overview

Utility views

A collection of handful utility views which know how to flexibly render values into specific types.

Defined Under Namespace

Classes: AsIs, ToArray, ToBoolean, ToFloat, ToHash, ToInteger, ToString

Constant Summary collapse

DEFAULT_RENDERING_MAP =
{
  ::String => AsIs,
  ::Float => AsIs,
  ::Integer => AsIs,
  ::TrueClass => AsIs,
  ::FalseClass => AsIs,
  ::NilClass => AsIs,
  ::Symbol => AsIs,
  Aws::Templates::Utils::Dependency => AsIs,
  ::Array => ToArray,
  ::Hash => ToHash,
  Aws::Templates::Utils::Options => ToHash
}.freeze

Instance Method Summary collapse

Methods included from Aws::Templates::Render

#can_render?, #define_handler, #process, #view_for

Methods included from Processor

#define_handler, #handler?, #handler_for, #process, #routing

Methods included from Processor::Routing

#register, #registry

Instance Method Details

#initialize_base_type_viewsObject

Set all default views

Set all default views for defined types. Views module class definitions are used



106
107
108
# File 'lib/aws/templates/render/utils/base_type_views.rb', line 106

def initialize_base_type_views
  DEFAULT_RENDERING_MAP.each_pair { |klass, view| define_view(klass, view) }
end

#initialize_base_type_views_for(*classes) ⇒ Object

Set default views for specific classes

Set default views only for passed types.



114
115
116
117
118
119
# File 'lib/aws/templates/render/utils/base_type_views.rb', line 114

def initialize_base_type_views_for(*classes)
  classes.each do |k|
    raise "Can't find default view for class #{k}" unless DEFAULT_RENDERING_MAP.key?(k)
    define_view(k, DEFAULT_RENDERING_MAP[k])
  end
end