コード例 #1
0
        public static object YamlAs(RubyScope /*!*/ scope, RubyModule /*!*/ self, object tag)
        {
            RubyModule yamlModule;

            scope.RubyContext.TryGetModule(scope.GlobalScope, "YAML", out yamlModule);
            return(RubyYaml.TagClass(yamlModule, tag, self));
        }
コード例 #2
0
ファイル: RubyConstructor.cs プロジェクト: ltwlf/IronSP
        private static object ParseObject(RubyConstructor /*!*/ ctor, string /*!*/ value)
        {
            Composer composer = RubyYaml.MakeComposer(new StringReader(value), ctor.Encoding);

            if (composer.CheckNode())
            {
                return(ctor.ConstructObject(composer.GetNode()));
            }
            else
            {
                throw new ConstructorException("Invalid YAML element: " + value);
            }
        }
コード例 #3
0
 public static object ToYaml(object self, [NotNull] RubyRepresenter /*!*/ emitter)
 {
     if (emitter.Level > 0)
     {
         // return a node:
         return(emitter.Represent(self));
     }
     else
     {
         // return a string:
         return(RubyYaml.DumpAll(emitter, new object[] { self }, null));
     }
 }
コード例 #4
0
                public static object CreateSequence([NotNull] BlockParam /*!*/ block, Out /*!*/ self, [DefaultProtocol] MutableString taguri, object yamlStyle)
                {
                    var rep = self._representer;
                    var seq = new SequenceNode(rep.ToTag(taguri), new List <Node>(), RubyYaml.ToYamlFlowStyle(yamlStyle));

                    object blockResult;

                    if (block.Yield(seq, out blockResult))
                    {
                        return(blockResult);
                    }

                    return(seq);
                }
コード例 #5
0
 public static MutableString /*!*/ TagUri(RubyContext /*!*/ context, RubyTime /*!*/ self)
 {
     return(RubyYaml.GetTagUri(context, self, Tags.Timestamp, typeof(RubyTime)));
 }
コード例 #6
0
 public static MutableString /*!*/ TagUri(RubyContext /*!*/ context, RubyRegex /*!*/ self)
 {
     return(RubyYaml.GetTagUri(context, self, Tags.RubyRegexp, typeof(RubyRegex)));
 }
コード例 #7
0
 public static MutableString /*!*/ TagUri(RubyContext /*!*/ context, MutableString /*!*/ self)
 {
     return(RubyYaml.GetTagUri(context, self, Tags.Str, typeof(MutableString)));
 }
コード例 #8
0
 public static MutableString TagUri(RubyContext /*!*/ context, object self)
 {
     return(RubyYaml.GetTagUri(context, self, Tags.RubyException, typeof(Exception)));
 }
コード例 #9
0
 public static MutableString /*!*/ TagUri(RubyContext /*!*/ context, RubyArray /*!*/ self)
 {
     return(RubyYaml.GetTagUri(context, self, Tags.Seq, typeof(RubyArray)));
 }
コード例 #10
0
 public static object Transform(RubyScope /*!*/ scope, Node /*!*/ self)
 {
     return(new RubyConstructor(scope.GlobalScope, new SimpleNodeProvider(self, RubyYaml.GetEncoding(scope.RubyContext))).GetData());
 }
コード例 #11
0
        internal ScalarQuotingStyle GetYamlStyle(object obj)
        {
            var site = _siteStorage.ToYamlStyle;

            return(RubyYaml.ToYamlStyle(Context, site.Target(site, obj)));
        }
コード例 #12
0
ファイル: YamlStream.cs プロジェクト: ltwlf/IronSP
 public static object Emit(YamlCallSiteStorage /*!*/ siteStorage, YamlStream /*!*/ self, [Optional] RubyIO io)
 {
     return(RubyYaml.DumpAll(siteStorage, self._documents, io));
 }
コード例 #13
0
                public static object CreateMap([NotNull] BlockParam /*!*/ block, Out /*!*/ self, [DefaultProtocol] MutableString taguri, object yamlStyle)
                {
                    var rep = self._representer;
                    var map = new MappingNode(rep.ToTag(taguri), new Dictionary <Node, Node>(), RubyYaml.ToYamlFlowStyle(yamlStyle));

                    object blockResult;

                    if (block.Yield(map, out blockResult))
                    {
                        return(blockResult);
                    }

                    return(map);
                }
コード例 #14
0
 public static object SetStyle(RubyContext /*!*/ context, ScalarNode /*!*/ self, object value)
 {
     self.Style = RubyYaml.ToYamlStyle(context, value);
     return(value);
 }
コード例 #15
0
 public static object SetStyle(SequenceNode /*!*/ self, object value)
 {
     self.FlowStyle = RubyYaml.ToYamlFlowStyle(value);
     return(value);
 }
コード例 #16
0
 public static object ToYaml(YamlCallSiteStorage /*!*/ siteStorage, object self, [DefaultParameterValue(null)] object options)
 {
     return(RubyYaml.DumpAll(siteStorage, new object[] { self }, null));
 }
コード例 #17
0
 public static MutableString /*!*/ TagUri(RubyContext /*!*/ context, object /*!*/ self)
 {
     return(RubyYaml.GetTagUri(context, self, Tags.Map, typeof(Hash)));
 }
コード例 #18
0
ファイル: BuiltinsOps.cs プロジェクト: gaybro8777/ironruby
 public static object ToYaml(RubyContext /*!*/ context, object self, params object[] args)
 {
     return(RubyYaml.DumpAll(context, new object[] { self }, null));
 }
コード例 #19
0
 public static object Emit(RubyContext /*!*/ context, YamlStream /*!*/ self, [Optional] RubyIO io)
 {
     return(RubyYaml.DumpAll(context, self.Documents, io));
 }