Ravn::BDE::MissionRecord::

Model class

Public Class Methods

db=( newdb )

Reset the database connection that all model objects will use to newdb (a Sequel::Database object).

# File lib/ravn/bde/mission_record/model.rb, line 62
def self::db=( newdb )
        newdb.sql_log_level = :debug
        newdb.logger = Loggability[ self ]

        newdb.extension( :pagination )
        newdb.extension( :pretty_table )

        super

        Loggability.for_logger( self ).with_level( :fatal ) do
                self.descendents.each do |subclass|
                        subclass.dataset = newdb[ subclass.table_name ]
                end
        end
end
register_model( path )

Add a path to require once the database connection is set.

# File lib/ravn/bde/mission_record/model.rb, line 80
def self::register_model( path )
        self.log.debug "Registered model for requiring: %s" % [ path ]

        # If the connection's set, require the path immediately.
        Loggability.for_logger( self ).with_level( :fatal ) do
                require( path )
        end if @db

        self.registered_models.add( path )
end
registered_models()

The Set of model class files to load after the connection is established

# File lib/ravn/bde/mission_record/model.rb, line 56
singleton_attr_reader :registered_models
require_models()

Require the model classes once the database connection has been established

# File lib/ravn/bde/mission_record/model.rb, line 93
def self::require_models
        self.log.debug "Loading registered model classes."
        logging_override = Loggability.for_logger( self ).with_level( :fatal )
        self.registered_models.each do |path|
                logging_override.call { require path }
        end
end

Public Instance Methods

error_messages()

Return the objects validation errors as full messages joined with commas.

# File lib/ravn/bde/mission_record/model.rb, line 103
def error_messages
        return self.errors.full_messages.join( ', ' )
end