Module: PersonDb

Defined in:
lib/persondb/models/forward.rb,
lib/persondb.rb,
lib/persondb/reader.rb,
lib/persondb/schema.rb,
lib/persondb/version.rb,
lib/persondb/models/person.rb

Overview

forward references

require first to resolve circular references

Defined Under Namespace

Modules: Model Classes: CreateDb, PersonReader

Constant Summary collapse

VERSION =
'0.4.0'
Models =

note: for convenciene (and compatibility) add alias Models for Model namespace

e.g lets you use include PersonDb::Models
Model

Class Method Summary collapse

Class Method Details



26
27
28
# File 'lib/persondb.rb', line 26

def self.banner
  "persondb/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
end

.createObject



39
40
41
42
43
# File 'lib/persondb.rb', line 39

def self.create
  CreateDb.new.up

  Model::Prop.create!( key: 'db.schema.person.version', value: VERSION )
end

.delete!Object



45
46
47
48
# File 'lib/persondb.rb', line 45

def self.delete!
  ## fix/todo: move into deleter class (see worlddb,sportdb etc.)
  Model::Person.delete_all
end

.rootObject



30
31
32
# File 'lib/persondb.rb', line 30

def self.root
  "#{File.expand_path( File.dirname(File.dirname(__FILE__)) )}"
end

.setup_in_memory_dbObject



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/persondb.rb', line 55

def self.setup_in_memory_db
  # Database Setup & Config

  ActiveRecord::Base.logger = Logger.new( STDOUT )
  ## ActiveRecord::Base.colorize_logging = false  - no longer exists - check new api/config setting?

  ## NB: every connect will create a new empty in memory db
  ActiveRecord::Base.establish_connection(
                                adapter:  'sqlite3',
                                database: ':memory:' )

  ## build schema
  LogDb.create
  ConfDb.create
  TagDb.create
  WorldDb.create
  PersonDb.create
end

.tablesObject



50
51
52
53
# File 'lib/persondb.rb', line 50

def self.tables
  ## fix/todo: move into stats class (see worlddb,sportdb etc.)
  puts "  #{Model::Person.count} persons"
end

.test_data_pathObject



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

def self.test_data_path
  "#{root}/test/data"
end