Module: ExpressTemplates::Components::Capabilities::Conditionality::ClassMethods

Defined in:
lib/express_templates/components/capabilities/conditionality.rb

Instance Method Summary collapse

Instance Method Details

#condition_procObject



35
36
37
# File 'lib/express_templates/components/capabilities/conditionality.rb', line 35

def condition_proc
  @condition_proc
end

#only_if(condition_proc) ⇒ Object



39
40
41
42
43
44
45
46
47
48
# File 'lib/express_templates/components/capabilities/conditionality.rb', line 39

def only_if condition_proc
  @condition_proc = Proc.from_source "-> {!(#{condition_proc.source_body})}"
  inner_src = self[:markup]
  fragment_src = %Q(-> {
  unless_block(Proc.from_source(#{@condition_proc.source.inspect})) {
    #{inner_src.source_body}
  }
})
  _store :markup, Proc.from_source(fragment_src)
end