Sha256: 1a1e519560f9ee1d9080792789eb95d96d421f110a34420b85d586e909c6a193

Contents?: true

Size: 1.45 KB

Versions: 15

Compression:

Stored size: 1.45 KB

Contents

require 'awestruct/handler_chain'
require 'awestruct/handlers/verbatim_file_handler'
require 'awestruct/handlers/css_tilt_handler'
require 'awestruct/handlers/javascript_handler'
require 'awestruct/handlers/redirect_handler'
require 'awestruct/handlers/tilt_handler'
require 'awestruct/handlers/asciidoctor_handler'

module Awestruct

  class HandlerChains

    DEFAULTS = [
      Awestruct::Handlers::CssTiltHandler::CHAIN,
      Awestruct::Handlers::RedirectHandler::CHAIN,
      Awestruct::Handlers::JavascriptHandler::CHAIN,
      Awestruct::Handlers::AsciidoctorHandler::CHAIN,
      Awestruct::Handlers::TiltHandler::NON_INTERPOLATION_CHAIN,
      Awestruct::Handlers::TiltHandler::INTERPOLATION_CHAIN,
      HandlerChain.new( /.*/, Awestruct::Handlers::VerbatimFileHandler )
    ]

    def initialize(include_defaults=true)
      @chains = []
      self << :defaults if include_defaults

      # Register our sassc templates
      begin
        if require('sassc') || defined?(::Sassc)
          require 'awestruct/handlers/template/sassc'
          ::Tilt.register ::Awestruct::Tilt::SassSasscTemplate,'sass'
          ::Tilt.register ::Awestruct::Tilt::ScssSasscTemplate,'scss'
        end
      rescue LoadError
        # doesn't matter if we can't load it
      end
    end

    def[](path)
      @chains.detect{|e| e.matches?( path.to_s ) }
    end

    def <<(chain)
      @chains += DEFAULTS and return if ( chain == :defaults )
      @chains << chain
    end

  end

end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
awestruct-0.6.7 lib/awestruct/handler_chains.rb
awestruct-0.6.6 lib/awestruct/handler_chains.rb
awestruct-0.6.5 lib/awestruct/handler_chains.rb
awestruct-0.6.4 lib/awestruct/handler_chains.rb
awestruct-0.6.3 lib/awestruct/handler_chains.rb
awestruct-0.6.2 lib/awestruct/handler_chains.rb
awestruct-0.6.1 lib/awestruct/handler_chains.rb
awestruct-0.6.0 lib/awestruct/handler_chains.rb
awestruct-0.6.0.RC1 lib/awestruct/handler_chains.rb
awestruct-0.6.0.alpha4 lib/awestruct/handler_chains.rb
awestruct-0.6.0.alpha3 lib/awestruct/handler_chains.rb
awestruct-0.6.0.alpha1 lib/awestruct/handler_chains.rb
awestruct-0.5.7 lib/awestruct/handler_chains.rb
awestruct-0.5.7.RC2 lib/awestruct/handler_chains.rb
awestruct-0.5.7.RC1 lib/awestruct/handler_chains.rb