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.3.1'
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



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

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

.createObject



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

def self.create
  CreateDb.new.up

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

.delete!Object



54
55
56
57
# File 'lib/persondb.rb', line 54

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

.rootObject



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

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

.setup_in_memory_dbObject



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/persondb.rb', line 64

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



59
60
61
62
# File 'lib/persondb.rb', line 59

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

.test_data_pathObject



43
44
45
# File 'lib/persondb.rb', line 43

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