Class: Curlybars::Node::Option

Inherits:
Struct
  • Object
show all
Defined in:
lib/curlybars/node/option.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#expressionObject

Returns the value of attribute expression

Returns:

  • (Object)

    the current value of expression



3
4
5
# File 'lib/curlybars/node/option.rb', line 3

def expression
  @expression
end

#keyObject

Returns the value of attribute key

Returns:

  • (Object)

    the current value of key



3
4
5
# File 'lib/curlybars/node/option.rb', line 3

def key
  @key
end

Instance Method Details

#cache_keyObject



16
17
18
19
20
21
22
# File 'lib/curlybars/node/option.rb', line 16

def cache_key
  [
    key,
    expression.cache_key,
    self.class.name
  ].join("/")
end

#compileObject



4
5
6
7
8
9
10
# File 'lib/curlybars/node/option.rb', line 4

def compile
  # NOTE: the following is a heredoc string, representing the ruby code fragment
  # outputted by this node.
  <<-RUBY
    { #{key.to_s.inspect} => rendering.cached_call(#{expression.compile}) }
  RUBY
end

#validate(branches) ⇒ Object



12
13
14
# File 'lib/curlybars/node/option.rb', line 12

def validate(branches)
  expression.validate_as_value(branches)
end