aboutsummaryrefslogtreecommitdiff
path: root/core/logger.rb
diff options
context:
space:
mode:
authorDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2014-04-20 04:23:20 -0700
committerDavid Vazgenovich Shakaryan <dvshakaryan@gmail.com>2014-04-20 04:23:20 -0700
commit7f134adccb20abe773234acecf526c9951b418e8 (patch)
treeeeb4b4f96a963591f244c8f661b84dd194cf1484 /core/logger.rb
parent7e7aa3278a9e478b02eb152575fb00ee0802ac81 (diff)
downloaddinobot-7f134adccb20abe773234acecf526c9951b418e8.tar.gz
dinobot-7f134adccb20abe773234acecf526c9951b418e8.tar.xz
Improved namespace and directory structure.
Diffstat (limited to 'core/logger.rb')
-rw-r--r--core/logger.rb50
1 files changed, 50 insertions, 0 deletions
diff --git a/core/logger.rb b/core/logger.rb
new file mode 100644
index 0000000..d73cd15
--- /dev/null
+++ b/core/logger.rb
@@ -0,0 +1,50 @@
+module Dinobot
+ module Core
+ class Logger
+ @@instance = nil
+ @@mutex = Mutex.new
+
+ def in(*lines)
+ str = lines.join("\n")
+
+ puts str.gsub(/^/, "\e[32m<<\e[0m ")
+ end
+
+ def out(*lines)
+ str = lines.join("\n")
+
+ puts str.gsub(/^/, "\e[36m>>\e[0m ")
+ end
+
+ def error(*lines)
+ str = lines.join("\n")
+
+ puts str.gsub(/^/, "\e[31m!!\e[0m ")
+ end
+
+ def info(*lines)
+ str = lines.join("\n")
+
+ puts str.gsub(/^/, "\e[33m==\e[0m ")
+ end
+
+ def indent(*lines)
+ str = lines.join("\n")
+
+ puts str.gsub(/^/, ' ')
+ end
+
+ class << self
+ def instance
+ return @@instance if @@instance
+
+ @@mutex.synchronize do
+ @@instance ||= new
+ end
+ end
+ end
+
+ private_class_method :allocate, :new
+ end
+ end
+end