Method: MoSQL::Schema#initialize

Defined in:
lib/mosql/schema.rb

#initialize(map) ⇒ Schema

Returns a new instance of Schema.



56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/mosql/schema.rb', line 56

def initialize(map)
  @map = {}
  map.each do |dbname, db|
    @map[dbname] = { :meta => parse_meta(db[:meta]) }
    db.each do |cname, spec|
      next unless cname.is_a?(String)
      begin
        @map[dbname][cname] = parse_spec("#{dbname}.#{cname}", spec)
      rescue KeyError => e
        raise SchemaError.new("In spec for #{dbname}.#{cname}: #{e}")
      end
    end
  end
end