From 3c879a45a0f923e9dc9d7fc25cc04c3be7ffefae Mon Sep 17 00:00:00 2001 From: Azul Date: Wed, 11 Sep 2013 08:00:09 +0200 Subject: create couch dbs as users are created --- lib/tapicero.rb | 1 + lib/tapicero/couch_database_creator.rb | 14 ++++++++++++++ lib/tapicero_daemon.rb | 6 ++++-- 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 lib/tapicero/couch_database_creator.rb (limited to 'lib') diff --git a/lib/tapicero.rb b/lib/tapicero.rb index 0d49b38..7287934 100644 --- a/lib/tapicero.rb +++ b/lib/tapicero.rb @@ -18,3 +18,4 @@ Tapicero::Config.load(BASE_DIR, 'config/default.yaml', LEAP_CA_CONFIG, ARGV.grep require 'tapicero/json_stream' require 'tapicero/couch_stream' require 'tapicero/couch_changes' +require 'tapicero/couch_database_creator' diff --git a/lib/tapicero/couch_database_creator.rb b/lib/tapicero/couch_database_creator.rb new file mode 100644 index 0000000..a4aaa0f --- /dev/null +++ b/lib/tapicero/couch_database_creator.rb @@ -0,0 +1,14 @@ +require 'couchrest' + +module Tapicero + class CouchDatabaseCreator + + def initialize(host) + @couch = CouchRest.new(host) + end + + def create(name) + @couch.database(name).create! + end + end +end diff --git a/lib/tapicero_daemon.rb b/lib/tapicero_daemon.rb index 5f754c7..bd65d7f 100644 --- a/lib/tapicero_daemon.rb +++ b/lib/tapicero_daemon.rb @@ -10,10 +10,12 @@ require 'tapicero' module Tapicero puts " * Observing #{Config.couch_host}" puts " * Tracking #{Config.users_db_name}" - couch = CouchStream.new(Config.couch_host + Config.users_db_name) - users = CouchChanges.new(couch) + stream = CouchStream.new(Config.couch_host + Config.users_db_name) + users = CouchChanges.new(stream) + creator = CouchDatabaseCreator.new(Config.couch_host) users.created do |hash| puts "Created user " + hash[:id] + creator.create(Config.db_prefix + hash[:id]) end users.listen -- cgit v1.2.3