diff options
author | Azul <azul@riseup.net> | 2013-09-11 08:00:09 +0200 |
---|---|---|
committer | Azul <azul@riseup.net> | 2013-09-11 08:00:09 +0200 |
commit | 3c879a45a0f923e9dc9d7fc25cc04c3be7ffefae (patch) | |
tree | e0e43b8a2adbfcef0c2dd7249b9a3c0674cb92e6 /lib | |
parent | 7958827a0ba1126646e01314e7c6bb4f86292dc8 (diff) |
create couch dbs as users are created
Diffstat (limited to 'lib')
-rw-r--r-- | lib/tapicero.rb | 1 | ||||
-rw-r--r-- | lib/tapicero/couch_database_creator.rb | 14 | ||||
-rw-r--r-- | lib/tapicero_daemon.rb | 6 |
3 files changed, 19 insertions, 2 deletions
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 |