Module: Jekyll::Shopsavvy::ArgsParser

Defined in:
lib/jekyll/shopsavvy/tags.rb

Overview

Parses key=value style arguments out of a Liquid tag’s markup string.

Class Method Summary collapse

Class Method Details

.parse(markup) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/jekyll/shopsavvy/tags.rb', line 9

def parse(markup)
  tokens = Shellwords.split(markup.to_s)
  positional = []
  named = {}
  tokens.each do |t|
    if t.include?("=")
      k, v = t.split("=", 2)
      named[k.to_sym] = v
    else
      positional << t
    end
  end
  [positional, named]
end