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.



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

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

Instance Method Details

#[](name) ⇒ Object



13
14
15
16
17
18
# File 'lib/realm/context.rb', line 13

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

#each(&block) ⇒ Object



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

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

#key?(name) ⇒ Boolean

Returns:

  • (Boolean)


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

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

#merge(container_like) ⇒ Object



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

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

#override!(container) ⇒ Object

Just for testing



33
34
35
# File 'lib/realm/context.rb', line 33

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