# File lib/moped/protocol/message.rb, line 154 def document(name, options = {}) attr_accessor name if options[:optional] class_eval "def serialize_\#{name}(buffer)\nbuffer << \#{name}.to_bson if \#{name}\nend\n", __FILE__, __LINE__ + 1 elsif options[:type] == :array class_eval "def serialize_\#{name}(buffer)\n\#{name}.each do |document|\nbuffer << document.to_bson\nend\nend\n", __FILE__, __LINE__ + 1 else class_eval "def serialize_\#{name}(buffer)\nbuffer << \#{name}.to_bson\nend\n", __FILE__, __LINE__ + 1 end fields << name end