module Sack::Database::Schema

Schema Module: Provides utilities for manipulating database schema.

Public Class Methods

from_module(mod) click to toggle source

Load from Module: Constructs a database schema from a given data model module (mod). @param [Module] mod Data model module, containing entity modules @return [Hash] The complete database schema

# File lib/sack/database/schema.rb, line 21
def self.from_module mod

        # Run through Sub Modules
        Hash[*(mod.constants
                .collect { |c| mod.const_get c }
                .select { |c| c.is_a? Module }
                .inject([]) { |a, e| (a << e.table_name) << e.field_schema }
        )]
end