class Altair::Schema

Public Class Methods

new(fields) click to toggle source
# File lib/altair/schema.rb, line 6
def initialize(fields)
  Schema.parse fields, self
end
parse(fields, result = IndifferentHash.new) click to toggle source
# File lib/altair/schema.rb, line 10
def self.parse(fields, result = IndifferentHash.new)
  fields.each do |key, field|
    result[key] = case field
    when Hash
      if field.has_key? :type
        Altair::Field.new(field)
      else
        parse field
      end
    else
      Altair::Field.new(type: field)
    end
  end

  result
end