module MasterView module Directives #outputs an elsif/end block around the text tags and remove previous end (from if) class Elsif < MasterView::DirectiveBase def priority DirectivePriorities::High end def stag(directive_call_stack) tag = @directive_call_stack.context[:tag] delete_last_in_parent(tag, erb('end') ) ret = [] ret << erb('elsif '+attr_value) ret << directive_call_stack.render end def etag(directive_call_stack) ret = [] ret << directive_call_stack.render ret << erb('end') end end end end