Module: ASIR::AdditionalData

Included in:
EncapsulatedException, Invoker, Message, Result, ThreadPool, ThreadPool::Work, ThreadPool::Worker, Transport
Defined in:
lib/asir/additional_data.rb

Overview

!SLIDE Addtional Data

Support additional data attached to any object.

Defined Under Namespace

Modules: ModuleMethods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(target) ⇒ Object



24
25
26
27
# File 'lib/asir/additional_data.rb', line 24

def self.included target
  super
  target.extend(ModuleMethods)
end

Instance Method Details

#[](key) ⇒ Object



17
18
19
# File 'lib/asir/additional_data.rb', line 17

def [] key
  @additional_data && @additional_data[key]
end

#[]=(key, value) ⇒ Object



20
21
22
# File 'lib/asir/additional_data.rb', line 20

def []= key, value
  (@additional_data ||= { })[key] = value
end

#_additional_dataObject



7
# File 'lib/asir/additional_data.rb', line 7

def _additional_data; @additional_data; end

#additional_dataObject



8
9
10
# File 'lib/asir/additional_data.rb', line 8

def additional_data
  @additional_data || EMPTY_HASH
end

#additional_data!Object



11
12
13
# File 'lib/asir/additional_data.rb', line 11

def additional_data!
  @additional_data ||= { }
end

#additional_data=(x) ⇒ Object



14
15
16
# File 'lib/asir/additional_data.rb', line 14

def additional_data= x
  @additional_data = x
end