class Aq::SchemaLoader

Public Instance Methods

load(schema) click to toggle source
# File lib/aq/schema.rb, line 58
def load(schema)
  if File.exist? File.expand_path(schema)
    load_from_file File.expand_path(schema)
  else
    load_from_string schema
  end
end

Private Instance Methods

load_from_file(file_path) click to toggle source
# File lib/aq/schema.rb, line 67
def load_from_file(file_path)
  schema = Schema.new
  JSON.load(File.open(file_path).read).each do |c|
    if c.has_key? 'mode'
      schema.append_column c['name'], c['type'], c['mode']
    else
      schema.append_column c['name'], c['type']
    end
  end
  schema
end
load_from_string(str) click to toggle source
# File lib/aq/schema.rb, line 79
def load_from_string(str)
  schema = Schema.new
  str.split(',').each do |column|
    c = column.split(':')
    schema.append_column c[0], c[1]
  end
  schema
end