Class: Alki::Assembly::MetaList
- Inherits:
-
Object
- Object
- Alki::Assembly::MetaList
- Defined in:
- lib/alki/assembly/meta_list.rb
Instance Attribute Summary collapse
-
#list ⇒ Object
readonly
Returns the value of attribute list.
Instance Method Summary collapse
- #add(name = nil, meta) ⇒ Object
- #append(*prefix, meta_list) ⇒ Object
- #append!(*prefix, meta_list) ⇒ Object
- #dup ⇒ Object
- #each ⇒ Object
-
#initialize(list = []) ⇒ MetaList
constructor
A new instance of MetaList.
- #prefix(*prefix) ⇒ Object
- #to_a ⇒ Object
Constructor Details
#initialize(list = []) ⇒ MetaList
Returns a new instance of MetaList.
6 7 8 |
# File 'lib/alki/assembly/meta_list.rb', line 6 def initialize(list = []) @list = list end |
Instance Attribute Details
#list ⇒ Object (readonly)
Returns the value of attribute list.
4 5 6 |
# File 'lib/alki/assembly/meta_list.rb', line 4 def list @list end |
Instance Method Details
#add(name = nil, meta) ⇒ Object
10 11 12 13 14 |
# File 'lib/alki/assembly/meta_list.rb', line 10 def add(name=nil,) path = name ? [name.to_sym] : [] @list << [path,] self end |
#append(*prefix, meta_list) ⇒ Object
23 24 25 26 |
# File 'lib/alki/assembly/meta_list.rb', line 23 def append(*prefix, ) append! *prefix, .dup self end |
#append!(*prefix, meta_list) ⇒ Object
28 29 30 31 |
# File 'lib/alki/assembly/meta_list.rb', line 28 def append!(*prefix, ) @list.push *.prefix(*prefix).list self end |
#dup ⇒ Object
47 48 49 |
# File 'lib/alki/assembly/meta_list.rb', line 47 def dup self.class.new to_a end |
#each ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/alki/assembly/meta_list.rb', line 33 def each enum_for(:each) unless block_given? @list.each do |(path,)| yield path, end self end |
#prefix(*prefix) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/alki/assembly/meta_list.rb', line 16 def prefix(*prefix) @list.each do |(path,_)| path.unshift *prefix end self end |
#to_a ⇒ Object
41 42 43 44 45 |
# File 'lib/alki/assembly/meta_list.rb', line 41 def to_a @list.map do |(path,)| [path.dup,] end end |