Class: Realm::Context

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/realm/context.rb

Instance Method Summary collapse

Constructor Details

#initialize(*containers) ⇒ Context

Returns a new instance of Context.



7
8
9
# File 'lib/realm/context.rb', line 7

def initialize(*containers)
  @containers = containers.map { |c| Container[c] }
end

Instance Method Details

#[](name) ⇒ Object



11
12
13
14
15
16
# File 'lib/realm/context.rb', line 11

def [](name)
  @containers.each do |container|
    return container[name] if container.key?(name)
  end
  nil
end

#each(&block) ⇒ Object



26
27
28
# File 'lib/realm/context.rb', line 26

def each(&block)
  @containers.each { |container| container.each(&block) }
end

#key?(name) ⇒ Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/realm/context.rb', line 18

def key?(name)
  @containers.any? { |container| container.key?(name) }
end

#merge(container_like) ⇒ Object



22
23
24
# File 'lib/realm/context.rb', line 22

def merge(container_like)
  container_like.blank? ? self : self.class.new(container_like, *@containers)
end

#override!(container) ⇒ Object

Just for testing



31
32
33
# File 'lib/realm/context.rb', line 31

def override!(container)
  @containers.prepend(container)
end