def migration_filters(klass)
      # the attribute => migration method hash
      mh = attribute_method_hash(klass)
      @mgt_mths[klass] = mh unless mh.empty?
      fh = attribute_filter_hash(klass)
      return if mh.empty? and fh.empty?
      # For each class path terminal attribute metadata, add the migration filters
      # to the attribute metadata => proc hash.
      klass.attributes.to_compact_hash do |pa|
        # the filter
        flt = fh[pa]
        # the migration shim method
        mth = mh[pa]
        # the filter proc
        Proc.new do |obj, value, row|
          # filter the value
          value = flt.transform(value) if flt and not value.nil?
          # apply the migrate_<attribute> method, if defined
          if mth then
            obj.send(mth, value, row) unless value.nil?
          else
            value
          end
        end
      end
    end
def migration_filters(klass)
      # the attribute => migration method hash
      mh = attribute_method_hash(klass)
      @mgt_mths[klass] = mh unless mh.empty?
      fh = attribute_filter_hash(klass)
      return if mh.empty? and fh.empty?
      # For each class path terminal attribute metadata, add the migration filters
      # to the attribute metadata => proc hash.
      klass.attributes.to_compact_hash do |pa|
        # the filter
        flt = fh[pa]
        # the migration shim method
        mth = mh[pa]
        # the filter proc
        Proc.new do |obj, value, row|
          # filter the value
          value = flt.transform(value) if flt and not value.nil?
          # apply the migrate_<attribute> method, if defined
          if mth then
            obj.send(mth, value, row) unless value.nil?
          else
            value
          end
        end
      end
    end
Discovers methods of the form +migrate+__attribute_ implemented for the paths
 in the given class => paths hash the given klass. The migrate method is called
 on the input field value corresponding to the path.