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.



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

def registered_models
  @registered_models
end

Class Method Details

.db=(newdb) ⇒ Object

Reset the database connection that all model objects will use.

Parameters:

  • newdb (Sequel::Database)

    the new database object.



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

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.



62
63
64
65
66
# File 'lib/wordnet/model.rb', line 62

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.



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

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