public Serializer(Emitter/*!*/ emitter, YamlOptions/*!*/ opts) { ContractUtils.RequiresNotNull(emitter, "emitter"); _emitter = emitter; _useExplicitStart = opts.ExplicitStart; _useExplicitEnd = opts.ExplicitEnd; if (opts.UseVersion) { _useVersion = opts.Version; } _anchorTemplate = opts.AnchorFormat ?? "id{0:000}"; _emitter.Emit(StreamStartEvent.Instance); }
public static MutableString QuickEmit(RubyContext/*!*/ context, [NotNull]BlockParam/*!*/ block, RubyModule/*!*/ self, object objectId, [NotNull]Hash/*!*/ opts) { YamlOptions cfg = YamlOptions.DefaultOptions; MutableStringWriter writer = new MutableStringWriter(); Emitter emitter = new Emitter(writer, cfg); using (Serializer s = new Serializer(emitter, cfg)) { RubyRepresenter r = new RubyRepresenter(context, s, cfg); object result; block.Yield(r, out result); s.Serialize(result as Node); return writer.String; } }
public static object QuickEmit(RubyContext/*!*/ context, [NotNull]BlockParam/*!*/ block, RubyModule/*!*/ self, object objectId, [NotNull]Hash/*!*/ opts) { YamlOptions cfg = YamlOptions.DefaultOptions; // TODO: encoding MutableStringWriter writer = new MutableStringWriter(MutableString.CreateMutable(RubyEncoding.UTF8)); Emitter emitter = new Emitter(writer, cfg); using (Serializer s = new Serializer(emitter, cfg)) { RubyRepresenter r = new RubyRepresenter(context, s, cfg); object result; if (block.Yield(r, out result)) { return result; } s.Serialize(result as Node); return writer.String; } }