mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Document the Sprockets compressors
Add documentation to Sprockets::NullCompressor and Sprockets::LazyCompressor. Also, make LazyCompressor#compressor private, as it isn't part of the public API.
This commit is contained in:
parent
5aa86f793f
commit
725617a647
1 changed files with 23 additions and 7 deletions
|
@ -1,21 +1,37 @@
|
|||
module Sprockets
|
||||
class NullCompressor
|
||||
# An asset compressor which does nothing.
|
||||
#
|
||||
# This compressor simply returns the asset as-is, without any compression
|
||||
# whatsoever. It is useful in development mode, when compression isn't
|
||||
# needed but using the same asset pipeline as production is desired.
|
||||
class NullCompressor #:nodoc:
|
||||
def compress(content)
|
||||
content
|
||||
end
|
||||
end
|
||||
|
||||
class LazyCompressor
|
||||
# An asset compressor which only initializes the underlying compression
|
||||
# engine when needed.
|
||||
#
|
||||
# This postpones the initialization of the compressor until
|
||||
# <code>#compress</code> is called the first time.
|
||||
class LazyCompressor #:nodoc:
|
||||
# Initializes a new LazyCompressor.
|
||||
#
|
||||
# The block should return a compressor when called, i.e. an object
|
||||
# which responds to <code>#compress</code>.
|
||||
def initialize(&block)
|
||||
@block = block
|
||||
end
|
||||
|
||||
def compressor
|
||||
@compressor ||= @block.call || NullCompressor.new
|
||||
end
|
||||
|
||||
def compress(content)
|
||||
compressor.compress(content)
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def compressor
|
||||
@compressor ||= (@block.call || NullCompressor.new)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in a new issue