Class: WordNet::Model

Inherits:
Object
  • Object
show all
Extended by:
Loggability
Defined in:
lib/wordnet/model.rb

Overview

The base WordNet database-backed domain class. It’s a subclass of Sequel::Model, so you’ll first need to be familiar with Sequel (sequel.jeremyevans.net/) and especially its Sequel::Model ORM.

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.registered_modelsObject (readonly)

Returns the value of attribute registered_models.



33
34
35
# File 'lib/wordnet/model.rb', line 33

def registered_models
  @registered_models
end

Class Method Details

.db=(newdb) ⇒ Object

Reset the database connection that all model objects will use.



39
40
41
42
43
44
45
# File 'lib/wordnet/model.rb', line 39

def self::db=( newdb )
	Loggability.with_level( :fatal ) do
		super
	end

	self.load_registered_models if self == WordNet::Model
end

.load_registered_modelsObject

Load any models which have been registered.



60
61
62
63
64
# File 'lib/wordnet/model.rb', line 60

def self::load_registered_models
	self.registered_models.each do |path|
		require( path )
	end
end

.register_model(name) ⇒ Object

Register a model subclass path to load when the database is connected. If there’s already a database connection, just ‘require` it immediately.



50
51
52
53
54
55
56
# File 'lib/wordnet/model.rb', line 50

def self::register_model( name )
	if @db
		require( name )
	else
		self.registered_models << name
	end
end