class Jekyll::LayerVault::Asset

Public Class Methods

new(tag_name, text, tokens) click to toggle source
Calls superclass method
# File lib/plugins/asset.rb, line 9
def initialize(tag_name, text, tokens)
  super
  @text = text.strip
end

Public Instance Methods

render(context) click to toggle source
# File lib/plugins/asset.rb, line 14
def render(context)
  return @text unless valid_parameters?

  config = context.registers[:site].config
  file, revision, asset = parse_parameters

  url = File.join(URL_BASE, config['organization'], config['project'], file)
  url = File.join(url, 'revisions', revision) unless revision.nil?
  url = File.join(url, 'assets', asset)
  url += "?raw=1"
end

Private Instance Methods

parse_parameters() click to toggle source
# File lib/plugins/asset.rb, line 28
def parse_parameters
  @text.scan(PARAM_REGEX).
    tap { |m| m.insert 1, [] if m.length == 2 }.
    tap { |m| m[1] = [] if m[1][0] == '-' }.
    map(&:first)
end