module DTK::Client::Response::RenderHelperMixin

Public Instance Methods

print_error_table!(value) click to toggle source
render_data(print_error_table = false) click to toggle source
# File lib/client/response/render_helper.rb, line 32
def render_data(print_error_table = false)
  return if @skip_render

  @print_error_table ||= print_error_table

  render_opts = {
    :render_type       => @render_type,
    :semantic_datatype => @semantic_datatype,
    :print_error_table => @print_error_table,
    :footnote          => @footnote
  }
  Render.render(data, render_opts)
end
set_render_as_table!(semantic_datatype = nil, footnote = nil) click to toggle source
# File lib/client/response/render_helper.rb, line 46
def set_render_as_table!(semantic_datatype = nil, footnote = nil)
  return self unless ok?

  unless semantic_datatype ||= semantic_datatype_in_payload
    error_hash = {
      'message'   => 'Server did not return table datatype',
      'on_client' => false
    }
    return ErrorResponse::Internal.new(error_hash)
  end
  @semantic_datatype = normalize_semantic_datatype(semantic_datatype)
  @render_type = Render::Type::TABLE
  @footnote    = footnote
  self
end
skip_render(skip) click to toggle source
# File lib/client/response/render_helper.rb, line 62
def skip_render(skip)
  @skip_render = skip
end

Private Instance Methods

hash_part() click to toggle source
# File lib/client/response/render_helper.rb, line 76
def hash_part
  keys.inject(Hash.new){|h,k|h.merge(k => self[k])}
end
normalize_semantic_datatype(semantic_datatype) click to toggle source
# File lib/client/response/render_helper.rb, line 80
def normalize_semantic_datatype(semantic_datatype)
  semantic_datatype && semantic_datatype.to_sym
end
render_attributes_init!() click to toggle source
# File lib/client/response/render_helper.rb, line 24
def render_attributes_init!
  @semantic_datatype = nil
  @skip_render       = false
  @render_type       = Render::Type::DEFAULT
  @footnote          = nil
end
semantic_datatype_in_payload() click to toggle source
# File lib/client/response/render_helper.rb, line 72
def semantic_datatype_in_payload
  self['datatype'] && self['datatype'].to_sym
end