Commit 9fab726

mo <mo.khan@gmail.com>
2018-04-15 20:34:56
make the server interactive.
1 parent cd31cd4
Changed files (3)
lib/incognito/cli/sms_command.rb
@@ -20,6 +20,7 @@ module Incognito
       desc 'server', "Start a server"
       def server
         require 'incognito/sms_server'
+        $shell = self
         SmsServer.run!
       end
 
lib/incognito/sms_server.rb
@@ -2,11 +2,25 @@ require 'sinatra'
 require 'sinatra/base'
 
 class SmsServer < Sinatra::Base
+  configure do
+    disable :logging
+    set quiet: true, b: 2
+  end
+
   get '/' do
     content_type 'text/xml'
+    Incognito.logger.debug(params.inspect)
 
-    Twilio::TwiML::MessagingResponse.new do |response|
-      response.message(body: "It's a me... Mario!")
-    end.to_s
+    $shell.say "To: #{params["To"]}", :green
+    $shell.say "From: #{params["From"]}", :green
+    $shell.say "Message: #{params["Body"]}", :green
+    if $shell.yes? "Reply?"
+      Twilio::TwiML::MessagingResponse.new do |response|
+        response.message(body: $shell.ask("What is your response?"))
+      end.to_s
+    else
+      Twilio::TwiML::MessagingResponse.new do |response|
+      end.to_s
+    end
   end
 end
lib/incognito.rb
@@ -1,4 +1,5 @@
 require 'dotenv'
+require 'logger'
 require 'pathname'
 require 'twilio-ruby'
 
@@ -8,4 +9,7 @@ require "incognito/version"
 Dotenv.load(".env.local", Pathname.new(Dir.home).join(".incognitorc").to_s)
 
 module Incognito
+  def self.logger
+    @logger ||= Logger.new(STDOUT)
+  end
 end