Class: Coactive::Context

Inherits:
Object
  • Object
show all
Includes:
Coactive::Contexts::Inspect
Defined in:
lib/coactive/context.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Coactive::Contexts::Inspect

#to_s

Constructor Details

#initialize(data = {}, &block) ⇒ Context

Returns a new instance of Context.



11
12
13
14
# File 'lib/coactive/context.rb', line 11

def initialize(data = {}, &block)
  data = data.to_h if data.respond_to?(:to_h)
  @_data = data
end

Instance Attribute Details

#_dataObject (readonly)

Returns the value of attribute _data.



9
10
11
# File 'lib/coactive/context.rb', line 9

def _data
  @_data
end

Instance Method Details

#[](key) ⇒ Object



16
17
18
# File 'lib/coactive/context.rb', line 16

def [](key)
  @_data[key]
end

#[]=(key, value) ⇒ Object



20
21
22
# File 'lib/coactive/context.rb', line 20

def []=(key, value)
  @_data[key] = value
end

#define_accessors!(keys) ⇒ Object



32
33
34
35
36
37
38
39
40
41
# File 'lib/coactive/context.rb', line 32

def define_accessors!(keys)
  Array(keys).each do |key|
    define_singleton_method key do
      @_data[key]
    end
    define_singleton_method "#{key}=" do |value|
      @_data[key] = value
    end
  end
end

#key?(key) ⇒ Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/coactive/context.rb', line 24

def key?(key)
  @_data.key?(key)
end

#to_hObject



28
29
30
# File 'lib/coactive/context.rb', line 28

def to_h
  @_data
end