Class: C0::Document
Overview
A full document: navigate its top-level groups.
Instance Method Summary collapse
- #each ⇒ Object
- #group(index) ⇒ Object
- #group_by_name(name) ⇒ Object
- #group_count ⇒ Object
-
#initialize(buf) ⇒ Document
constructor
A new instance of Document.
- #name ⇒ Object
- #size ⇒ Object
Constructor Details
Instance Method Details
#each ⇒ Object
209 210 211 212 213 |
# File 'lib/c0.rb', line 209 def each return enum_for(:each) unless block_given? @groups.each { |s, e| yield Group.new(@buf, s, e) } end |
#group(index) ⇒ Object
196 197 198 199 |
# File 'lib/c0.rb', line 196 def group(index) s, e = @groups[index] Group.new(@buf, s, e) end |
#group_by_name(name) ⇒ Object
201 202 203 204 205 |
# File 'lib/c0.rb', line 201 def group_by_name(name) needle = C0.to_bin(name) each { |g| return g if g.name == needle } nil end |
#group_count ⇒ Object
194 |
# File 'lib/c0.rb', line 194 def group_count = @groups.size |
#name ⇒ Object
192 |
# File 'lib/c0.rb', line 192 def name = @buf.byteslice(@name[0], @name[1] - @name[0]) |
#size ⇒ Object
207 |
# File 'lib/c0.rb', line 207 def size = @groups.size |