Sha256: 6f18e5040cf5e20395a3c4ce392e5ad8e735b3536f7c58398c77dc347f94a5bb

Contents?: true

Size: 470 Bytes

Versions: 4

Compression:

Stored size: 470 Bytes

Contents

class Shortcode::Transformer < Parslet::Transform

  rule(text: simple(:text)) { String(text) }
  rule(
    open:     simple(:name),
    options:  subtree(:options),
    inner:    sequence(:inner),
    close:    simple(:name)
  ) { Shortcode::Tag.new(name.to_s, options).wrap(inner.join) }
  rule(
    open_close: simple(:name),
    options:    subtree(:options)
  ) { Shortcode::Tag.new(name.to_s, options).wrap }

  rule(body: sequence(:strings)) { strings.join }
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
shortcode-0.0.4 lib/shortcode/transformer.rb
shortcode-0.0.3 lib/shortcode/transformer.rb
shortcode-0.0.2 lib/shortcode/transformer.rb
shortcode-0.0.1 lib/shortcode/transformer.rb