class DTK::Client::Render::Table
Constants
- TableDefinition
Public Class Methods
new(render_type, opts = {})
click to toggle source
opts can have keys
:semantic_datatype (required)
Calls superclass method
# File lib/client/render/view/table.rb, line 26 def initialize(render_type, opts = {}) unless semantic_datatype = opts[:semantic_datatype] raise Error, 'Missing opts[:semantic_datatype] value' end super(render_type, semantic_datatype) @table_definition = get_table_definition?(semantic_datatype) end
Public Instance Methods
render(data, opts = {})
click to toggle source
opts can have keys
:print_error_table - Boolean (default: false) :table_definition - if set overrides the one associated with the object
# File lib/client/render/view/table.rb, line 37 def render(data, opts = {}) unless table_definition = opts[:table_definition] || @table_definition raise Error, 'Missing table definition' end if data.empty? render_text("Table is empty\n") else Processor.render(data, table_definition, opts) end end
Private Instance Methods
get_table_definition?(semantic_datatype)
click to toggle source
# File lib/client/render/view/table.rb, line 51 def get_table_definition?(semantic_datatype) if table_def_hash = (table_definitions || {})[table_def_index_from_semantic_datatype(semantic_datatype)] TableDefinition.new(table_def_hash['mapping'], table_def_hash['order']) end end
get_table_definitions()
click to toggle source
get all table definitions from json file
# File lib/client/render/view/table.rb, line 68 def get_table_definitions content = DiskCacher.new.fetch('table_metadata', Config[:meta_table_ttl]) raise Error, 'Table metadata is empty' if content.empty? JSON.parse(content) end
table_def_index_from_semantic_datatype(semantic_datatype)
click to toggle source
# File lib/client/render/view/table.rb, line 57 def table_def_index_from_semantic_datatype(semantic_datatype) semantic_datatype.to_s end
table_definitions()
click to toggle source
# File lib/client/render/view/table.rb, line 61 def table_definitions # TODO: put back in caching after take into account :meta_table_ttl # @@table_definitions_metadata ||= get_table_definitions_metadata get_table_definitions end