class ZendeskAppsSupport::StylesheetCompiler

Public Class Methods

new(source, app_id, url_prefix) click to toggle source
# File lib/zendesk_apps_support/stylesheet_compiler.rb, line 9
def initialize(source, app_id, url_prefix)
  @source = source
  @app_id = app_id
  @url_prefix = url_prefix
end

Public Instance Methods

app_asset_url(name) click to toggle source
# File lib/zendesk_apps_support/stylesheet_compiler.rb, line 28
def app_asset_url(name)
  "#{@url_prefix}#{name}"
end
compile(sassc: false) click to toggle source
# File lib/zendesk_apps_support/stylesheet_compiler.rb, line 15
def compile(sassc: false)
  options = {
    syntax: :scss, app_asset_url_builder: self
  }
  if sassc
    compiler_class = SassC
    options[:style] = :compressed
  else
    compiler_class = Sass
  end
  compiler_class::Engine.new(wrapped_source.dup, options).render
end

Private Instance Methods

wrapped_source() click to toggle source
# File lib/zendesk_apps_support/stylesheet_compiler.rb, line 34
def wrapped_source
  ".app-#{@app_id} {#{@source}}"
end