Class: Embulk::Input::GoogleSpreadsheets::CustomColumns
- Inherits:
-
Object
- Object
- Embulk::Input::GoogleSpreadsheets::CustomColumns
- Defined in:
- lib/embulk/input/google_spreadsheets.rb
Class Method Summary collapse
- .complete_default(columns) ⇒ Object
- .default_format ⇒ Object
- .default_format=(format) ⇒ Object
- .default_timezone ⇒ Object
- .default_timezone=(timezone) ⇒ Object
- .default_typecast ⇒ Object
- .default_typecast=(typecast) ⇒ Object
-
.load(v) ⇒ Object
NOTE: if raised, rescue and re-raise as Embulk::ConfigError.
Class Method Details
.complete_default(columns) ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 |
# 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 ⇒ Object
50 51 52 53 54 |
# 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) ⇒ Object
56 57 58 |
# File 'lib/embulk/input/google_spreadsheets.rb', line 56 def self.default_format=(format) @default_format = format end |
.default_timezone ⇒ Object
60 61 62 |
# File 'lib/embulk/input/google_spreadsheets.rb', line 60 def self.default_timezone @default_timezone ||= 'UTC' end |
.default_timezone=(timezone) ⇒ Object
64 65 66 |
# File 'lib/embulk/input/google_spreadsheets.rb', line 64 def self.default_timezone=(timezone) @default_timezone = timezone end |
.default_typecast ⇒ Object
68 69 70 |
# File 'lib/embulk/input/google_spreadsheets.rb', line 68 def self.default_typecast @default_typecast ||= 'strict' end |
.default_typecast=(typecast) ⇒ Object
72 73 74 |
# File 'lib/embulk/input/google_spreadsheets.rb', line 72 def self.default_typecast=(typecast) @default_typecast = typecast end |
.load(v) ⇒ Object
NOTE: if raised, rescue and re-raise as Embulk::ConfigError
29 30 31 32 33 34 35 36 |
# 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 |