Top Level Namespace

Defined Under Namespace

Modules: BeerDb

Constant Summary collapse

Beer =

shortcuts for models

BeerDb::Models::Beer
Brewery =
BeerDb::Models::Brewery
Tag =
WorldDb::Models::Tag
Tagging =
WorldDb::Models::Tagging
Continent =
WorldDb::Models::Continent
Country =
WorldDb::Models::Country
Region =
WorldDb::Models::Region
City =
WorldDb::Models::City
Prop =
WorldDb::Models::Prop
DB_CONFIG =

connect to db

{
  adapter:  'sqlite3',
  database: 'beer.db'
}
AT =

some countries

Country.find_by_key( 'at' )
DE =
Country.find_by_key( 'de' )
EN =
Country.find_by_key( 'en' )
US =
Country.find_by_key( 'us' )
MX =
Country.find_by_key( 'mx' )
WIEN =

some cities

City.find_by_key( 'wien' )
NO =

some regions

Region.find_by_key_and_country_id( 'no', AT.id )
OO =

at - oberoesterreich

Region.find_by_key_and_country_id( 'oo', AT.id )
OTTAKRINGER =

some breweries

Brewery.find_by_key( 'ottakringer' )
SCHWECHAT =
Brewery.find_by_key( 'schwechat' )

Instance Method Summary collapse

Instance Method Details

#beerdbObject

for use to run with interactive ruby (irb)

e.g.  irb -r sportdb/console


4
# File 'lib/beerdb/console.rb', line 4

require 'beerdb'

#connect_to_db(options) ⇒ Object



37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/beerdb/cli/main.rb', line 37

def connect_to_db( options )
  puts BeerDb.banner

  puts "working directory: #{Dir.pwd}"

  db_config = {
    :adapter  => 'sqlite3',
    :database => "#{options.db_path}/#{options.db_name}"
  }

  puts "Connecting to db using settings: "
  pp db_config

  ActiveRecord::Base.establish_connection( db_config )
  
  LogDb.setup  # turn on logging to db
end

#serveObject

fix/todo: add server alias (serve/server)



162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
# File 'lib/beerdb/cli/main.rb', line 162

command :serve do |c|
  ## todo: how to specify many fixutes <>... ??? in syntax
  c.syntax = 'beerdb serve [options]'
  c.description = 'Start web service (HTTP JSON API)'

  c.action do |args, options|

    LogUtils::Logger.root.level = :warn    if options.quiet.present?
    LogUtils::Logger.root.level = :debug   if options.verbose.present?

    myopts.merge_commander_options!( options.__hash__ )
    connect_to_db( myopts )

    # NB: server (HTTP service) not included in standard default require
    require 'beerdb/server'

    BeerDb::Server.run!
    
    puts 'Done.'
  end
end