class Alki::Assembly::MetaList

Attributes

list[R]

Public Class Methods

new(list = []) click to toggle source
# File lib/alki/assembly/meta_list.rb, line 6
def initialize(list = [])
  @list = list
end

Public Instance Methods

add(name=nil,meta) click to toggle source
# File lib/alki/assembly/meta_list.rb, line 10
def add(name=nil,meta)
  path = name ? [name.to_sym] : []
  @list << [path,meta]
  self
end
append(*prefix, meta_list) click to toggle source
# File lib/alki/assembly/meta_list.rb, line 23
def append(*prefix, meta_list)
  append! *prefix, meta_list.dup
  self
end
append!(*prefix, meta_list) click to toggle source
# File lib/alki/assembly/meta_list.rb, line 28
def append!(*prefix, meta_list)
  @list.push *meta_list.prefix(*prefix).list
  self
end
dup() click to toggle source
# File lib/alki/assembly/meta_list.rb, line 47
def dup
  self.class.new to_a
end
each() { |path, meta| ... } click to toggle source
# File lib/alki/assembly/meta_list.rb, line 33
def each
  enum_for(:each) unless block_given?
  @list.each do |(path,meta)|
    yield path, meta
  end
  self
end
prefix(*prefix) click to toggle source
# File lib/alki/assembly/meta_list.rb, line 16
def prefix(*prefix)
  @list.each do |(path,_)|
    path.unshift *prefix
  end
  self
end
to_a() click to toggle source
# File lib/alki/assembly/meta_list.rb, line 41
def to_a
  @list.map do |(path,meta)|
    [path.dup,meta]
  end
end