Commit e274958

mo <mo.khan@gmail.com>
2018-05-09 18:00:57
replace multiple parameters with a settings hash.
1 parent d3d968a
Changed files (3)
bin/console
@@ -11,8 +11,8 @@ require "del"
 # Pry.start
 
 require "irb"
-Del.start(
-  dotenv_file: Pathname.new(Dir.home).join(".delrc"),
-  start_server: false,
-)
+
+settings = YAML.load(IO.read(Pathname.new(Dir.home).join(".delrc")))
+settings.merge!(start_server: false)
+Del.start(settings)
 IRB.start(__FILE__)
lib/del/cli.rb
@@ -10,11 +10,15 @@ module Del
 
     desc "server <routes.rb>", "start server"
     def server(startup_file = nil)
-      Del.start(
-        configuration_file: options[:configuration_file],
-        socket_file: options[:socket_file],
-        startup_file: startup_file,
-      )
+      settings = YAML.load(IO.read(options[:configuration_file]))
+      settings.merge!(socket_file: options[:socket_file])
+      settings.merge!(startup_file: startup_file)
+      settings.merge!(start_server: true)
+
+      Del.start(settings)
+    rescue Errno::ENOENT => error
+      say error.message, :red
+      say "run 'del setup'", :yellow
     end
 
     desc "message <jid> <message>", "send a message to the Jabber ID"
lib/del.rb
@@ -20,17 +20,14 @@ require "del/user"
 require "del/version"
 
 module Del
-  def self.start(configuration_file:, startup_file: nil, start_server: true, socket_file: nil)
-    puts "Loading... #{configuration_file}"
-    settings = YAML.load(IO.read(configuration_file)).merge(socket_file: socket_file)
+  def self.start(settings)
     @configuration = Configuration.new(settings)
-    @configuration.socket_file = socket_file if socket_file
     @configuration.router.register(/.*/) do |message|
       logger.debug(message.to_s)
     end
-    @configuration.load(startup_file)
+    @configuration.load(settings[:startup_file])
     del = Robot.new(configuration: @configuration)
-    del.get_funky!(start_server: start_server)
+    del.get_funky!(start_server: settings[:start_server])
   end
 
   def self.configure