[前][次][番号順一覧][スレッド一覧]

ruby-changes:63110

From: BurdetteLamar <ko1@a...>
Date: Fri, 25 Sep 2020 17:29:02 +0900 (JST)
Subject: [ruby-changes:63110] 36b2177ea8 (master): [flori/json] Enhance RDoc for JSON.parse

https://git.ruby-lang.org/ruby.git/commit/?id=36b2177ea8

From 36b2177ea80663437daac92c50db378cf1bff799 Mon Sep 17 00:00:00 2001
From: BurdetteLamar <burdettelamar@y...>
Date: Fri, 3 Jul 2020 14:11:26 -0500
Subject: [flori/json] Enhance RDoc for JSON.parse

https://github.com/flori/json/commit/33e64ef255

diff --git a/ext/json/lib/json/common.rb b/ext/json/lib/json/common.rb
index ed4e047..3ff6df1 100644
--- a/ext/json/lib/json/common.rb
+++ b/ext/json/lib/json/common.rb
@@ -4,13 +4,16 @@ require 'json/generic_object' https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L4
 
 module JSON
   class << self
+    # :call-seq:
+    #   JSON[object] -> new_array or new_string
+    #
     # If +object+ is a
-    # {String-convertible object}[doc/implicit_conversion_rdoc.html#label-String-Convertible+Objects]
-    # (implementing +to_str+), calls JSON.parse with +object+ and +opts+:
+    # {String-convertible object}[doc/implicit_conversion_rdoc.html#label-String-Convertible+Objects],
+    # calls JSON.parse with +object+ and +opts+ (see method #parse):
     #   json = '[0, 1, null]'
     #   JSON[json]# => [0, 1, nil]
     #
-    # Otherwise, calls JSON.generate with +object+ and +opts+:
+    # Otherwise, calls JSON.generate with +object+ and +opts+ (see method #generate):
     #   ruby = [0, 1, nil]
     #   JSON[ruby] # => '[0,1,null]'
     def [](object, opts = {})
@@ -171,10 +174,24 @@ module JSON https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L174
   # For examples of parsing for all \JSON data types, see
   # {Parsing \JSON}[#module-JSON-label-Parsing+JSON].
   #
-  # ====== Exceptions
+  # Parses nested JSON objects:
+  #   source = <<-EOT
+  #   {
+  #   "name": "Dave",
+  #     "age" :40,
+  #     "hats": [
+  #       "Cattleman's",
+  #       "Panama",
+  #       "Tophat"
+  #     ]
+  #   }
+  #   EOT
+  #   ruby = JSON.parse(source)
+  #   ruby # => {"name"=>"Dave", "age"=>40, "hats"=>["Cattleman's", "Panama", "Tophat"]}
   #
-  # Raises an exception if +source+ is not valid JSON:
+  # ---
   #
+  # Raises an exception if +source+ is not valid JSON:
   #   # Raises JSON::ParserError (783: unexpected token at ''):
   #   JSON.parse('')
   #
@@ -201,12 +218,24 @@ module JSON https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L218
     Parser.new(source, **(opts||{})).parse
   end
 
-  # Parses the content of a file (see parse method documentation for more information).
+  # :call-seq:
+  #   CSV.load_file(path, opts={}) -> object
+  #
+  # Calls:
+  #   parse(File.read(path), opts)
+  #
+  # See method #parse.
   def load_file(filespec, opts = {})
     parse(File.read(filespec), opts)
   end
 
-  # Parses the content of a file (see parse! method documentation for more information).
+  # :call-seq:
+  #   CSV.load_file!(path, opts = {})
+  #
+  # Calls:
+  #   CSV.parse!(File.read(path, opts))
+  #
+  # See method #parse!
   def load_file!(filespec, opts = {})
     parse!(File.read(filespec), opts)
   end
@@ -247,8 +276,6 @@ module JSON https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L276
   #
   # Raises an exception if any formatting option is not a \String.
   #
-  # ====== Exceptions
-  #
   # Raises an exception if +obj+ contains circular references:
   #   a = []; b = []; a.push(b); b.push(a)
   #   # Raises JSON::NestingError (nesting of 100 is too deep):
@@ -280,6 +307,9 @@ module JSON https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L307
   module_function :unparse
   # :startdoc:
 
+  # :call-seq:
+  #   JSON.fast_generate(obj, opts) -> new_string
+  #
   # Arguments +obj+ and +opts+ here are the same as
   # arguments +obj+ and +opts+ in JSON.generate.
   #
@@ -398,6 +428,7 @@ module JSON https://github.com/ruby/ruby/blob/trunk/ext/json/lib/json/common.rb#L428
   #
   # This method is part of the implementation of the load/dump interface of
   # Marshal and YAML.
+  #
   def load(source, proc = nil, options = {})
     opts = load_default_options.merge options
     if source.respond_to? :to_str
-- 
cgit v0.10.2


--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]