imag/libimagruby/gem/imag.rb

97 lines
1.7 KiB
Ruby

#!/usr/bin/env ruby
module RubyImag
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
Imag.init_logger debug, verbose, color
end
def self.trace msg
Imag.trace msg
end
def self.dbg msg
Imag.dbg msg
end
def self.debug msg
Imag.debug msg
end
def self.info msg
Imag.info msg
end
def self.warn msg
Imag.warn msg
end
def self.error msg
Imag.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|
RubyImag.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
RubyImag::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
RubyImag.setup ARGV.first
rescue Exception => e
puts "Seems not to be the case... or something else went wrong..."
puts e
exit 1
end
RubyImag::Logger.init true, true, true
RubyImag::Logger.info "The Logger should work now"
RubyImag::Logger.info "Lets see whether we have properly setup StoreId"
RubyImag::Logger.info RubyImag::StoreId::new_baseless("baselessId").to_s
RubyImag::Logger.info "Seems good."
end