popcorn: pop_repos use config
authorAlexandre Terrasa <alexandre@moz-code.org>
Sat, 3 Dec 2016 04:15:30 +0000 (23:15 -0500)
committerAlexandre Terrasa <alexandre@moz-code.org>
Mon, 5 Dec 2016 16:54:45 +0000 (11:54 -0500)
Signed-off-by: Alexandre Terrasa <alexandre@moz-code.org>

lib/popcorn/pop_repos.nit

index 7b02c35..1f12853 100644 (file)
@@ -131,39 +131,28 @@ redef class AppConfig
        # Default database hostname
        var default_db_name = "popcorn"
 
        # Default database hostname
        var default_db_name = "popcorn"
 
-       # MongoDB server used for data persistence
-       var db_host: String is lazy do return value_or_default("db.host", default_db_host)
-
-       # MongoDB DB used for data persistence
-       var db_name: String is lazy do return value_or_default("db.name", default_db_name)
-
-       # Mongo db client
-       var client = new MongoClient(db_host) is lazy
-
-       # Mongo db instance
-       var db: MongoDb = client.database(db_name) is lazy
-
-       redef init from_options(opts) do
-               super
-               var db_host = opts.opt_db_host.value
-               if db_host != null then self["db.host"] = db_host
-               var db_name = opts.opt_db_name.value
-               if db_name != null then self["db.name"] = db_name
-       end
-end
-
-redef class AppOptions
-
        # MongoDb host name
        var opt_db_host = new OptionString("MongoDb host", "--db-host")
 
        # MongoDb database name
        var opt_db_name = new OptionString("MongoDb database name", "--db-name")
 
        # MongoDb host name
        var opt_db_host = new OptionString("MongoDb host", "--db-host")
 
        # MongoDb database name
        var opt_db_name = new OptionString("MongoDb database name", "--db-name")
 
+       # MongoDB server used for data persistence
+       fun db_host: String do return opt_db_host.value or else ini["db.host"] or else default_db_host
+
+       # MongoDB DB used for data persistence
+       fun db_name: String do return opt_db_name.value or else ini["db.name"] or else default_db_name
+
        init do
                super
                add_option(opt_db_host, opt_db_name)
        end
        init do
                super
                add_option(opt_db_host, opt_db_name)
        end
+
+       # Mongo db client
+       var client = new MongoClient(db_host) is lazy
+
+       # Mongo db instance
+       var db: MongoDb = client.database(db_name) is lazy
 end
 
 # A Repository is an object that can store serialized instances.
 end
 
 # A Repository is an object that can store serialized instances.