Class: Wood::Nodes::CodeBlock

Inherits:
Node
  • Object
show all
Includes:
Enumerable
Defined in:
lib/wood/nodes/code_block.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Enumerable

#in_between, #map_with_index

Class Method Details

.[](*options) ⇒ Object



3
4
5
6
7
8
9
10
# File 'lib/wood/nodes/code_block.rb', line 3

def self.[](*options)
  case opts = options.first
  when Hash
    new(opts)
  else
    new(expressions: options)
  end
end

Instance Method Details

#<<(node) ⇒ Object



36
37
38
# File 'lib/wood/nodes/code_block.rb', line 36

def << node
  @expressions << node
end

#[](idx) ⇒ Object



40
41
42
# File 'lib/wood/nodes/code_block.rb', line 40

def [](idx)
  @expressions[idx]
end

#each(&block) ⇒ Object



32
33
34
# File 'lib/wood/nodes/code_block.rb', line 32

def each(&block)
  @expressions.each(&block)
end

#empty?Boolean

Returns:

  • (Boolean)


24
25
26
# File 'lib/wood/nodes/code_block.rb', line 24

def empty?
  expressions.empty?
end

#setupObject



16
17
18
# File 'lib/wood/nodes/code_block.rb', line 16

def setup
  @expressions = Array(expressions).flatten
end

#sexpObject



20
21
22
# File 'lib/wood/nodes/code_block.rb', line 20

def sexp
  expressions.map(&:sexp)
end

#sizeObject



28
29
30
# File 'lib/wood/nodes/code_block.rb', line 28

def size
  expressions.size
end