Module: Amrita2::Extention::ValueAttr

Extended by:
Core::SpecOptionMeta::CompilerOption
Defined in:
lib/amrita2/core.rb

Overview

:nodoc:

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Core::SpecOptionMeta::MetaData

#check_option

Class Method Details

.check_option(spec, k, v) ⇒ Object



1803
1804
# File 'lib/amrita2/core.rb', line 1803

def self.check_option(spec, k, v)
end

Instance Method Details

#code_for_leaf_element(element, dyn_spec, cg, &block) ⇒ Object



1806
1807
1808
1809
1810
1811
1812
# File 'lib/amrita2/core.rb', line 1806

def code_for_leaf_element(element, dyn_spec, cg, &block)
  cg.code('include Amrita2::Runtime')
  sym = dyn_spec.sym
  cg.define_element_method(sym, dyn_spec.output_stream) do
    complie_for_single(element, dyn_spec, cg, dyn_spec.option[:value_attr])
  end
end

#generate_expander(spec, mod, parent = nil) ⇒ Object



1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
# File 'lib/amrita2/core.rb', line 1814

def generate_expander(spec, mod, parent=nil)
  ret = super
  def ret.expand(data)
    case data
    when false, nil, "false"
      @method.call(nil)
    else
      super
    end
  end
  ret
end