class Bricolage::SrcTableParam

Public Class Methods

new( name = 'src-tables', arg_spec = 'VAR:[SCHEMA.]TABLE', description = 'Source table name.', optional: true, publish: true ) click to toggle source
Calls superclass method Bricolage::Param::new
# File lib/bricolage/parameters.rb, line 523
def initialize(
    name = 'src-tables',
    arg_spec = 'VAR:[SCHEMA.]TABLE',
    description = 'Source table name.',
    optional: true,   # Source tables may not exist (e.g. data loading)
    publish: true
)
  super name, arg_spec, description, optional: optional, publish: publish
end

Public Instance Methods

default_value(ctx, vars) click to toggle source
# File lib/bricolage/parameters.rb, line 551
def default_value(ctx, vars)
  {}
end
materialize(h, ctx, vars) click to toggle source
# File lib/bricolage/parameters.rb, line 555
def materialize(h, ctx, vars)
  map = {}
  h.each do |name, spec|
    map[name] = TableSpec.parse(expand(spec, vars))
  end
  map
end
option_name() click to toggle source
# File lib/bricolage/parameters.rb, line 533
def option_name
  'src-table'
end
parse_option_value(value, h) click to toggle source
# File lib/bricolage/parameters.rb, line 537
def parse_option_value(value, h)
  var, spec = value.split(':', 2)
  if not var or var.empty?
    raise ParameterError, "missing variable name: #{value.inspect}"
  end
  (h ||= {})[var] = spec
  h   # accumulator
end
parse_value(h) click to toggle source
# File lib/bricolage/parameters.rb, line 546
def parse_value(h)
  raise ParameterError, "bad type for parameter #{name}: #{h.class}" unless h.kind_of?(Hash)
  h.empty? ? nil : h
end
variables(h) click to toggle source
# File lib/bricolage/parameters.rb, line 563
def variables(h)
  h.map {|name, value| ResolvedVariable.new(name, value.to_s) }
end