module Sprockets::Export::BundleProcessor

Constants

PATTERN

Public Instance Methods

call(input) click to toggle source
# File lib/sprockets/export/bundle_processor.rb, line 9
def call(input)
  Sprockets::Export::Store.reset
  data = input[:data]

  if data =~ PATTERN
    data = Sprockets::Export::Template.new(extract_template_data(data)).render
  end

  { data: data }
end

Private Instance Methods

create_flags(string = "") click to toggle source
# File lib/sprockets/export/bundle_processor.rb, line 35
def create_flags(string = "")
  flags = {}
  string.split.each { |flag| flags[flag] = true }
  OpenStruct.new(flags)
end
extract_template_data(js) click to toggle source
# File lib/sprockets/export/bundle_processor.rb, line 21
def extract_template_data(js)
  _, head, namespace, flags, export, tail = *js.match(PATTERN)

  { namespace: namespace,
    flags: create_flags(flags),
    export: format(export),
    head: format(head),
    tail: format(tail) }
end
format(part) click to toggle source
# File lib/sprockets/export/bundle_processor.rb, line 31
def format(part)
  part.strip.gsub(/\A\s*;\n*|\n;\s*\z/, "").strip
end