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,
  Templates::Utils::Dependency => AsIs,
  ::Array => ToArray,
  ::Hash => ToHash,
  Templates::Utils::Options => ToHash
}.freeze

Instance Method Summary collapse

Methods included from Aws::Templates::Render

#can_render?, #define_view, #register, #registry, #view_for

Instance Method Details

#initialize_base_type_viewsObject

Set all default views

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



113
114
115
# File 'lib/aws/templates/render/utils/base_type_views.rb', line 113

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.



121
122
123
124
125
126
# File 'lib/aws/templates/render/utils/base_type_views.rb', line 121

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