class Embulk::Input::GoogleSpreadsheets::CustomColumns

Public Class Methods

complete_default(columns) click to toggle source
# File lib/embulk/input/google_spreadsheets.rb, line 38
def self.complete_default(columns)
  columns.map do |c|
    c = c.dup
    if c['type'] == 'timestamp'
      c['format'] = c['format'] || default_format
      c['timezone'] = c['timezone'] || default_timezone
    end
    c['typecast']  = c['typecast'] || default_typecast
    c
  end
end
default_format() click to toggle source
# File lib/embulk/input/google_spreadsheets.rb, line 50
def self.default_format
  # ref. https://github.com/embulk/embulk/blob/936c5d5a20af3086f7d1e5779a89035105bb975b/embulk-core/src/main/java/org/embulk/spi/type/TimestampType.java#L10
  # `Time.strptime` does not support `%6N`, so use `%N` instead.
  @default_format ||= '%Y-%m-%d %H:%M:%S.%N %z'
end
default_format=(format) click to toggle source
# File lib/embulk/input/google_spreadsheets.rb, line 56
def self.default_format=(format)
  @default_format = format
end
default_timezone() click to toggle source
# File lib/embulk/input/google_spreadsheets.rb, line 60
def self.default_timezone
  @default_timezone ||= 'UTC'
end
default_timezone=(timezone) click to toggle source
# File lib/embulk/input/google_spreadsheets.rb, line 64
def self.default_timezone=(timezone)
  @default_timezone = timezone
end
default_typecast() click to toggle source
# File lib/embulk/input/google_spreadsheets.rb, line 68
def self.default_typecast
  @default_typecast ||= 'strict'
end
default_typecast=(typecast) click to toggle source
# File lib/embulk/input/google_spreadsheets.rb, line 72
def self.default_typecast=(typecast)
  @default_typecast = typecast
end
load(v) click to toggle source

NOTE: if raised, rescue and re-raise as Embulk::ConfigError

# File lib/embulk/input/google_spreadsheets.rb, line 29
def self.load(v)
  raise "`embulk-input-google_spreadsheets`: Invalid value '#{v}' for :array_of_hash" unless v.is_a?(Array)
  v.each do |c|
    raise "`embulk-input-google_spreadsheets`: Invalid value '#{v}' for :array_of_hash" unless c.is_a?(Hash)
  end

  complete_default(v.dup)
end