class Spritely::Sprockets::Transformer

Public Class Methods

cache_key() click to toggle source
# File lib/spritely/sprockets/transformer.rb, line 11
def self.cache_key
  @cache_key ||= "#{name}:#{Spritely::VERSION}".freeze
end
call(input) click to toggle source
# File lib/spritely/sprockets/transformer.rb, line 7
def self.call(input)
  new(input).call
end

Public Instance Methods

call() click to toggle source
# File lib/spritely/sprockets/transformer.rb, line 15
def call
  data = cache.fetch([self.class.cache_key, input[:name], sprite_map.cache_key]) do
    sprite_map.files.each do |file|
      context.depend_on(File.dirname(file))
      context.link_asset(file)
    end

    sprite_map.save!
  end

  context.metadata.merge(data: data)
end

Private Instance Methods

cache() click to toggle source
# File lib/spritely/sprockets/transformer.rb, line 34
def cache
  @cache ||= input[:cache]
end
context() click to toggle source
# File lib/spritely/sprockets/transformer.rb, line 30
def context
  @context ||= input[:environment].context_class.new(input)
end
sprite_map() click to toggle source
# File lib/spritely/sprockets/transformer.rb, line 38
def sprite_map
  @sprite_map ||= SpriteMap.new(input[:name].remove("sprites/"), input[:environment], input[:metadata][:sprite_directives])
end