aboutsummaryrefslogblamecommitdiffstats
path: root/activesupport/lib/active_support/json/encoders.rb
blob: c3e3619f59f9588a9e21e4b5de082f62203446a4 (plain) (tree)
























                                                             
module ActiveSupport
  module JSON #:nodoc:
    module Encoders
      mattr_accessor :encoders
      @@encoders = {}

      class << self        
        def define_encoder(klass, &block)
          encoders[klass] = block
        end
        
        def [](klass)
          klass.ancestors.each do |k|
            encoder = encoders[k]
            return encoder if encoder
          end
        end
      end
    end
  end
end

Dir[File.dirname(__FILE__) + '/encoders/*.rb'].each do |file|
  require file[0..-4]
end