Sha256: 540080cb03f7507a57df702aeaf06ec94710a6bd14e6a46b41444c53558dc5a6
Contents?: true
Size: 1.2 KB
Versions: 3
Compression:
Stored size: 1.2 KB
Contents
# encoding: UTF-8 require_relative '../columns/reference' module GoodData module Model ## # Date as a reference to a date dimension # class DateReference < Reference attr_accessor :format, :output_format, :urn def initialize(column, schema) super column, schema @output_format = column['format'] || 'dd/MM/yyyy' @format = @output_format.gsub('yyyy', '%Y').gsub('MM', '%m').gsub('dd', '%d') @urn = column[:urn] || 'URN:GOODDATA:DATE' end def identifier @identifier ||= "#{@schema_ref}.#{DATE_ATTRIBUTE}" end def to_manifest_part(mode) { 'populates' => ["#{identifier}.#{DATE_ATTRIBUTE_DEFAULT_DISPLAY_FORM}"], 'mode' => mode, 'constraints' => { 'date' => output_format }, 'columnName' => name, 'referenceKey' => 1 } end # def to_maql_create # # urn:chefs_warehouse_fiscal:date # super_maql = super # maql = "" # # maql = "# Include date dimensions\n" # # maql += "INCLUDE TEMPLATE \"#{urn}\" MODIFY (IDENTIFIER \"#{name}\", TITLE \"#{title || name}\");\n" # maql += super_maql # end end end end
Version data entries
3 entries across 3 versions & 1 rubygems