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/