Sha256: bb36b7f73fc4295f14befdfbb007da1160237b89fb553a7e4812f4ac01055112

Contents?: true

Size: 555 Bytes

Versions: 5

Compression:

Stored size: 555 Bytes

Contents

require_relative 'processor/base'
require_relative 'processor/coffee_script'
require_relative 'processor/haml'
require_relative 'processor/sass'

module Rail
  module Processor
    def self.processors
      @processors ||= Processor.constants.map do |name|
        object = Processor.const_get(name)
        object.is_a?(Class) && object < Base ? object : nil
      end.compact
    end

    def self.find(filename)
      extension = File.extname(filename).slice(1..-1)
      processors.find { |processor| processor.capable?(extension) }
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rail-0.1.1 lib/rail/processor.rb
rail-0.1.0 lib/rail/processor.rb
rail-0.0.8 lib/rail/processor.rb
rail-0.0.7 lib/rail/processor.rb
rail-0.0.6 lib/rail/processor.rb