Module: Hakuban

Defined in:
lib/hakuban.rb,
lib/hakuban/engine.rb,
lib/hakuban/logger.rb,
lib/hakuban/stream.rb,
lib/hakuban/version.rb,
lib/hakuban/contract.rb,
lib/hakuban/exchange.rb,
lib/hakuban/descriptor.rb,
lib/hakuban/ffi-object.rb,
lib/hakuban/object_state.rb,
lib/hakuban/object_state_sink.rb,
lib/hakuban/object_state_stream.rb,
lib/hakuban/tokio-websocket-connector.rb

Defined Under Namespace

Modules: FFI, Stream Classes: Contract, Engine, FFIObject, LocalExchange, ObjectBuilder, ObjectDescriptor, ObjectExposeContract, ObjectObserveContract, ObjectState, ObjectStateSink, ObjectStateSinkParams, ObjectStateStream, TagBuilder, TagDescriptor, TagExposeContract, TagObserveContract, Tokio, WebsocketConnector

Constant Summary collapse

VERSION =
"0.7.0"
@@logger_initialized =
false

Class Method Summary collapse

Class Method Details

.hakuban_initializeObject



5
6
7
# File 'lib/hakuban.rb', line 5

def self.hakuban_initialize
	require_relative 'hakuban/ffi.rb'
end

.logger_initialize(default_level, skip_if_already_initialized: false) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/hakuban/logger.rb', line 5

def self.logger_initialize(default_level, skip_if_already_initialized: false)
	Hakuban::hakuban_initialize
	if @@logger_initialized and !skip_if_already_initialized
		raise "Logger already initialized. This can't be done more than once. Make sure logger_initialize is called before any LocalExchange gets constructed."  
	end
	if not @@logger_initialized
		raise "Invalid default log level string"  if ! FFI::hakuban_logger_initialize(default_level).is_Ok?
		@@logger_initialized = true
	end
end