class BqGuess::Fields::Base

Attributes

mode[R]
name[R]
type[R]

Public Class Methods

new(name) click to toggle source
# File lib/bq_guess/fields/base.rb, line 8
def initialize(name)
  @name = name
  @type = self.class.to_s.split("::").last.downcase.to_sym
  required!
end

Public Instance Methods

as_schema() click to toggle source
# File lib/bq_guess/fields/base.rb, line 14
def as_schema
  {
    name: name,
    type: type.to_s.upcase,
    mode: mode.to_s.upcase
  }
end
nullable!() click to toggle source
# File lib/bq_guess/fields/base.rb, line 22
def nullable!
  @mode = :nullable
end
nullable?() click to toggle source
# File lib/bq_guess/fields/base.rb, line 26
def nullable?
  mode == :nullable
end
repeated!() click to toggle source
# File lib/bq_guess/fields/base.rb, line 30
def repeated!
  @mode = :repeated
end
repeated?() click to toggle source
# File lib/bq_guess/fields/base.rb, line 34
def repeated?
  mode == :repeated
end
required!() click to toggle source
# File lib/bq_guess/fields/base.rb, line 38
def required!
  @mode = :required
end
required?() click to toggle source
# File lib/bq_guess/fields/base.rb, line 42
def required?
  mode == :required
end
to_hash() click to toggle source
# File lib/bq_guess/fields/base.rb, line 46
def to_hash
  {
    name: name,
    type: type,
    mode: mode
  }
end