Module: BeerDb

Defined in:
lib/beerdb/stats.rb,
lib/beerdb/models.rb,
lib/beerdb/reader.rb,
lib/beerdb/schema.rb,
lib/beerdb/deleter.rb,
lib/beerdb/version.rb,
lib/beerdb/reader_zip.rb,
lib/beerdb/models/beer.rb,
lib/beerdb/reader_file.rb,
lib/beerdb/models/brand.rb,
lib/beerdb/models/brewery.rb,
lib/beerdb/models/forward.rb

Defined Under Namespace

Modules: Matcher, Model Classes: CreateDb, Deleter, Reader, ReaderBase, Stats, ZipReader

Constant Summary collapse

MAJOR =

todo: namespace inside version or something - why? why not??

0
MINOR =
10
PATCH =
0
VERSION =
[MAJOR,MINOR,PATCH].join('.')
Models =

convenience alias (for better english ;-) )

lets you use =>  include Models  (instead of include Model)
Model

Class Method Summary collapse

Class Method Details



13
14
15
# File 'lib/beerdb/version.rb', line 13

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

.createObject



35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/beerdb/models.rb', line 35

def self.create
  CreateDb.new.up

  ### fix: make optional do NOT auto create here
  ### fix: use if defined? BeerDbNote or similar or/and check if table exist ??
  ###      or move to beerdb-note ??

  # CreateDbExtrasUsers.new.up
  # CreateDbExtrasBookmarks.new.up
  # CreateDbExtrasDrinks.new.up
  # CreateDbExtrasNotes.new.up

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

.create_allObject

convenience helper for all-in-one create for tables



51
52
53
54
55
56
57
# File 'lib/beerdb/models.rb', line 51

def self.create_all
  LogDb.create
  ConfDb.create
  TagDb.create
  WorldDb.create
  BeerDb.create
end

.delete!Object

delete ALL records (use with care!)



84
85
86
87
# File 'lib/beerdb/models.rb', line 84

def self.delete!
  puts '*** deleting beer table records/data...'
  Deleter.new.run
end

.delete_all!(opts = {}) ⇒ Object

method delete!



89
90
91
# File 'lib/beerdb/models.rb', line 89

def self.delete_all!( opts={} )
  # to be done
end

.read(ary, include_path) ⇒ Object



60
61
62
63
64
65
# File 'lib/beerdb/models.rb', line 60

def self.read( ary, include_path )
  reader = Reader.new( include_path )
  ary.each do |name|
    reader.load( name )
  end
end

.read_all(include_path, opts = {}) ⇒ Object

load all builtins (using plain text reader); helper for convenience



78
79
80
# File 'lib/beerdb/models.rb', line 78

def self.read_all( include_path, opts={} )  # load all builtins (using plain text reader); helper for convenience
  read_setup( 'setups/all', include_path, opts )
end

.read_setup(setup, include_path, opts = {}) ⇒ Object



67
68
69
70
# File 'lib/beerdb/models.rb', line 67

def self.read_setup( setup, include_path, opts={} )
  reader = Reader.new( include_path, opts )
  reader.load_setup( setup )
end

.read_setup_from_zip(zip_name, setup, include_path, opts = {}) ⇒ Object

todo/check - use a better (shorter) name ??



72
73
74
75
76
# File 'lib/beerdb/models.rb', line 72

def self.read_setup_from_zip( zip_name, setup, include_path, opts={} )  ## todo/check - use a better (shorter) name ??
  reader = ZipReader.new( zip_name, include_path, opts )
  reader.load_setup( setup )
  reader.close
end

.rootObject



17
18
19
# File 'lib/beerdb/version.rb', line 17

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

.tablesObject



93
94
95
# File 'lib/beerdb/models.rb', line 93

def self.tables
  Stats.new.tables
end

.versionObject



9
10
11
# File 'lib/beerdb/version.rb', line 9

def self.version
  VERSION
end