Sha256: 36be3479cbd47e5c2a188e1d45cefe9415bc49e45becd4c0eefa7ff915311adc

Contents?: true

Size: 1.41 KB

Versions: 70

Compression:

Stored size: 1.41 KB

Contents

# The Slim module contains all Slim related classes (e.g. Engine, Parser).
# Plugins might also reside within the Slim module (e.g. Include, Smart).
# @api public
module Slim
  # Slim engine which transforms slim code to executable ruby code
  # @api public
  class Engine < Temple::Engine
    # This overwrites some Temple default options or sets default options for Slim specific filters.
    # It is recommended to set the default settings only once in the code and avoid duplication. Only use
    # `define_options` when you have to override some default settings.
    define_options pretty: false,
                   sort_attrs: true,
                   format: :xhtml,
                   attr_quote: '"',
                   merge_attrs: {'class' => ' '},
                   generator: Temple::Generators::StringBuffer,
                   default_tag: 'div'

    filter :Encoding
    filter :RemoveBOM
    use Slim::Parser
    use Slim::Embedded
    use Slim::Interpolation
    use Slim::Splat::Filter
    use Slim::DoInserter
    use Slim::EndInserter
    use Slim::Controls
    html :AttributeSorter
    html :AttributeMerger
    use Slim::CodeAttributes
    use(:AttributeRemover) { Temple::HTML::AttributeRemover.new(remove_empty_attrs: options[:merge_attrs].keys) }
    html :Pretty
    filter :Escapable
    filter :ControlFlow
    filter :MultiFlattener
    filter :StaticMerger
    use(:Generator) { options[:generator] }
  end
end

Version data entries

70 entries across 56 versions & 5 rubygems

Version Path
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/slim-4.1.0/lib/slim/engine.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/slim-4.1.0/lib/slim/engine.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-6.1.2 bundle/ruby/3.3.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-6.1.1 bundle/ruby/3.0.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-6.1.0 bundle/ruby/3.1.0/gems/slim-4.1.0/lib/slim/engine.rb
scrapbook-0.3.2 vendor/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-6.0.1 bundle/ruby/3.1.0/gems/slim-4.1.0/lib/slim/engine.rb
scrapbook-0.3.1 vendor/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-6.0.0 bundle/ruby/3.0.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.4.1 bundle/ruby/3.1.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.4.0 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.3.1 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.3.0 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.2.3 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.2.2 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.2.1 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.2.0 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.1.2 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb
brakeman-5.1.1 bundle/ruby/2.7.0/gems/slim-4.1.0/lib/slim/engine.rb