summaryrefslogtreecommitdiffstats
path: root/libimagruby/lib/imag.rb
diff options
context:
space:
mode:
Diffstat (limited to 'libimagruby/lib/imag.rb')
-rw-r--r--libimagruby/lib/imag.rb96
1 files changed, 96 insertions, 0 deletions
diff --git a/libimagruby/lib/imag.rb b/libimagruby/lib/imag.rb
new file mode 100644
index 00000000..b8c91115
--- /dev/null
+++ b/libimagruby/lib/imag.rb
@@ -0,0 +1,96 @@
+#!/usr/bin/env ruby
+
+module Imag
+
+ IMAG_INIT_FN_NAME = 'imag_ruby_initialize'
+
+ def self.setup binary_path
+ require binary_path
+
+ self.core_setup
+ self.classes_setup
+ end
+
+ module Logger
+
+ def self.init debug, verbose, color
+ RImag.init_logger debug, verbose, color
+ end
+
+ def self.trace msg
+ RImag.trace msg
+ end
+
+ def self.dbg msg
+ RImag.dbg msg
+ end
+
+ def self.debug msg
+ RImag.debug msg
+ end
+
+ def self.info msg
+ RImag.info msg
+ end
+
+ def self.warn msg
+ RImag.warn msg
+ end
+
+ def self.error msg
+ RImag.error msg
+ end
+
+ end
+
+ private
+
+ def self.class_names
+ [
+ :StoreId ,
+ :StoreHandle ,
+ :FileLockEntryHandle ,
+ :EntryHeader ,
+ :EntryContent ,
+ ]
+ end
+
+ def self.core_setup
+ self.class_names.map {|n| [n, "R#{n}".to_sym ] }.each do |elem|
+ Imag.const_set elem.first, Kernel.const_get(elem.last)
+ end
+ end
+
+ def self.classes_setup
+ self.class_storeid_setup
+ end
+
+ def self.class_storeid_setup
+ Imag::StoreId.class_exec do
+ def to_s
+ self.to_str
+ end
+ end
+ end
+
+end
+
+if __FILE__ == $0
+ puts "Running some tests..."
+ puts "I hope you passed the library object as first argument..."
+ begin
+ Imag.setup ARGV.first
+ rescue Exception => e
+ puts "Seems not to be the case... or something else went wrong..."
+ puts e
+ exit 1
+ end
+
+ Imag::Logger.init true, true, true
+ Imag::Logger.info "The Logger should work now"
+
+ Imag::Logger.info "Lets see whether we have properly setup StoreId"
+ Imag::Logger.info Imag::StoreId::new_baseless("baselessId").to_s
+ Imag::Logger.info "Seems good."
+end
+