Every tag method in Markaby returns a Fragment. If any method gets called on the Fragment, the tag is removed from the Markaby stream and given back as a string. Usually the fragment is never used, though, and the stream stays intact.
For a more practical explanation, check out the README.
# File lib/markaby/builder.rb, line 275 def initialize(s, a, b) @s, @f1, @f2 = s, a, b end
# File lib/markaby/builder.rb, line 278 def method_missing(*a) unless @str @str = @s[@f1, @f2].to_s @s[@f1, @f2] = [nil] * @f2 @str end @str.send(*a) end