class Cumuliform::Section

@api private

Attributes

imports[R]
items[R]
name[R]

Public Class Methods

new(name, imports) click to toggle source
# File lib/cumuliform/section.rb, line 6
def initialize(name, imports)
  @name = name
  @imports = imports
  @items = {}
end

Public Instance Methods

[](name) click to toggle source
# File lib/cumuliform/section.rb, line 16
def [](name)
  merged[name]
end
[]=(name, item) click to toggle source
# File lib/cumuliform/section.rb, line 12
def []=(name, item)
  items[name] = item
end
each(&block) click to toggle source
# File lib/cumuliform/section.rb, line 20
def each(&block)
  merged.each(&block)
end
empty?() click to toggle source
# File lib/cumuliform/section.rb, line 28
def empty?
  merged.empty?
end
member?(name) click to toggle source
# File lib/cumuliform/section.rb, line 24
def member?(name)
  merged.member?(name)
end
merged() click to toggle source
# File lib/cumuliform/section.rb, line 32
def merged
  imports.reduce({}) { |merged, import|
    import.get_section(name).merged.merge(merged)
  }.merge(items)
end