ruby-changes:62302
From: Burdette <ko1@a...>
Date: Mon, 20 Jul 2020 03:35:53 +0900 (JST)
Subject: [ruby-changes:62302] d9eff306f5 (master): [ruby/csv] Organize files in doc/ (#145)
https://git.ruby-lang.org/ruby.git/commit/?id=d9eff306f5 From d9eff306f5806c6a1b79019ec44395e4cc816218 Mon Sep 17 00:00:00 2001 From: Burdette Lamar <BurdetteLamar@Y...> Date: Wed, 24 Jun 2020 16:04:25 -0500 Subject: [ruby/csv] Organize files in doc/ (#145) https://github.com/ruby/csv/commit/bc9ea859b0 diff --git a/doc/argument_io.rdoc b/doc/argument_io.rdoc deleted file mode 100644 index f5fe1d1..0000000 --- a/doc/argument_io.rdoc +++ /dev/null @@ -1,5 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/#L0 -* Argument +io+ should be an IO object that is: - * Open for reading; on return, the IO object will be closed. - * Positioned at the beginning. - To position at the end, for appending, use method CSV.generate. - For any other positioning, pass a preset \StringIO object instead. diff --git a/doc/csv/arguments/io.rdoc b/doc/csv/arguments/io.rdoc new file mode 100644 index 0000000..f5fe1d1 --- /dev/null +++ b/doc/csv/arguments/io.rdoc @@ -0,0 +1,5 @@ https://github.com/ruby/ruby/blob/trunk/doc/csv/arguments/io.rdoc#L1 +* Argument +io+ should be an IO object that is: + * Open for reading; on return, the IO object will be closed. + * Positioned at the beginning. + To position at the end, for appending, use method CSV.generate. + For any other positioning, pass a preset \StringIO object instead. diff --git a/doc/csv/col_sep.rdoc b/doc/csv/col_sep.rdoc deleted file mode 100644 index bb4d3ce..0000000 --- a/doc/csv/col_sep.rdoc +++ /dev/null @@ -1,45 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/doc/csv/arguments/io.rdoc#L0 -====== Option +col_sep+ - -Specifies the \String field separator to be used -for both parsing and generating. -The \String will be transcoded into the data's \Encoding before use. - -Default value: - CSV::DEFAULT_OPTIONS.fetch(:col_sep) # => "," (comma) - -For examples in this section: - ary = ['a', 'b', 'c'] - -Using the default: - str = CSV.generate_line(line) - str # => "a,b,c\n" - ary = CSV.parse_line(str) - ary # => ["a", "b", "c"] - -Using +:+ (colon): - col_sep = ':' - str = CSV.generate_line(ary, col_sep: col_sep) - str # => "a:b:c\n" - ary = CSV.parse_line(str, col_sep: col_sep) - ary # => [["a", "b", "c"]] - -Using +::+ (two colons): - col_sep = '::' - str = CSV.generate_line(ary, col_sep: col_sep) - str # => "a::b::c\n" - ary = CSV.parse_line(str, col_sep: col_sep) - ary # => [["a", "b", "c"]] - ---- - -Raises an exception if given the empty \String: - col_sep = '' - # Raises ArgumentError (:col_sep must be 1 or more characters: "") - CSV.parse_line("a:b:c\n", col_sep: col_sep) - -Raises an exception if the given value is not String-convertible: - col_sep = BasicObject.new - # Raises NoMethodError (undefined method `to_s' for #<BasicObject:>) - CSV.generate_line(line, col_sep: col_sep) - # Raises NoMethodError (undefined method `to_s' for #<BasicObject:>) - CSV.parse(str, col_sep: col_sep) diff --git a/doc/csv/converters.rdoc b/doc/csv/converters.rdoc deleted file mode 100644 index 993803c..0000000 --- a/doc/csv/converters.rdoc +++ /dev/null @@ -1,45 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/doc/csv/arguments/io.rdoc#L0 -====== Option +converters+ - -Specifies a single field converter name or \Proc, -or an \Array of field converter names and Procs. - -See {Field Converters}[#class-CSV-label-Field+Converters] - -Default value: - CSV::DEFAULT_OPTIONS.fetch(:converters) # => nil - -The value may be a single field converter name: - str = '1,2,3' - # Without a converter - ary = CSV.parse_line(str) - ary # => ["1", "2", "3"] - # With built-in converter :integer - ary = CSV.parse_line(str, converters: :integer) - ary # => [1, 2, 3] - -The value may be an \Array of field converter names: - str = '1,3.14159' - # Without converters - ary = CSV.parse_line(str) - ary # => ["1", "3.14159"] - # With built-in converters - ary = CSV.parse_line(str, converters: [:integer, :float]) - ary # => [1, 3.14159] - -The value may be a \Proc custom converter: - str = ' foo , bar , baz ' - # Without a converter - ary = CSV.parse_line(str) - ary # => [" foo ", " bar ", " baz "] - # With a custom converter - ary = CSV.parse_line(str, converters: proc {|field| field.strip }) - ary # => ["foo", "bar", "baz"] - -See also {Custom Converters}[#class-CSV-label-Custom+Converters] - ---- - -Raises an exception if the converter is not a converter name or a \Proc: - str = 'foo,0' - # Raises NoMethodError (undefined method `arity' for nil:NilClass) - CSV.parse(str, converters: :foo) diff --git a/doc/csv/empty_value.rdoc b/doc/csv/empty_value.rdoc deleted file mode 100644 index 7d3bcc0..0000000 --- a/doc/csv/empty_value.rdoc +++ /dev/null @@ -1,13 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/doc/csv/arguments/io.rdoc#L0 -====== Option +empty_value+ - -Specifies the object that is to be substituted -for each field that has an empty \String. - -Default value: - CSV::DEFAULT_OPTIONS.fetch(:empty_value) # => "" (empty string) - -With the default, <tt>""</tt>: - CSV.parse_line('a,"",b,"",c') # => ["a", "", "b", "", "c"] - -With a different object: - CSV.parse_line('a,"",b,"",c', empty_value: 'x') # => ["a", "x", "b", "x", "c"] diff --git a/doc/csv/field_size_limit.rdoc b/doc/csv/field_size_limit.rdoc deleted file mode 100644 index 797c577..0000000 --- a/doc/csv/field_size_limit.rdoc +++ /dev/null @@ -1,39 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/doc/csv/arguments/io.rdoc#L0 -====== Option +field_size_limit+ - -Specifies the \Integer field size limit. - -Default value: - CSV::DEFAULT_OPTIONS.fetch(:field_size_limit) # => nil - -This is a maximum size CSV will read ahead looking for the closing quote for a field. -(In truth, it reads to the first line ending beyond this size.) -If a quote cannot be found within the limit CSV will raise a MalformedCSVError, -assuming the data is faulty. -You can use this limit to prevent what are effectively DoS attacks on the parser. -However, this limit can cause a legitimate parse to fail; -therefore the default value is +nil+ (no limit). - -For the examples in this section: - str = <<~EOT - "a","b" - " - 2345 - ","" - EOT - str # => "\"a\",\"b\"\n\"\n2345\n\",\"\"\n" - -Using the default +nil+: - ary = CSV.parse(str) - ary # => [["a", "b"], ["\n2345\n", ""]] - -Using <tt>50</tt>: - field_size_limit = 50 - ary = CSV.parse(str, field_size_limit: field_size_limit) - ary # => [["a", "b"], ["\n2345\n", ""]] - ---- - -Raises an exception if a field is too long: - big_str = "123456789\n" * 1024 - # Raises CSV::MalformedCSVError (Field size exceeded in line 1.) - CSV.parse('valid,fields,"' + big_str + '"', field_size_limit: 2048) diff --git a/doc/csv/force_quotes.rdoc b/doc/csv/force_quotes.rdoc deleted file mode 100644 index 11afd1a..0000000 --- a/doc/csv/force_quotes.rdoc +++ /dev/null @@ -1,17 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/doc/csv/arguments/io.rdoc#L0 -====== Option +force_quotes+ - -Specifies the boolean that determines whether each output field is to be double-quoted. - -Default value: - CSV::DEFAULT_OPTIONS.fetch(:force_quotes) # => false - -For examples in this section: - ary = ['foo', 0, nil] - -Using the default, +false+: - str = CSV.generate_line(ary) - str # => "foo,0,\n" - -Using +true+: - str = CSV.generate_line(ary, force_quotes: true) - str # => "\"foo\",\"0\",\"\"\n" diff --git a/doc/csv/header_converters.rdoc b/doc/csv/header_converters.rdoc deleted file mode 100644 index 329d96a..0000000 --- a/doc/csv/header_converters.rdoc +++ /dev/null @@ -1,31 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/doc/csv/arguments/io.rdoc#L0 -====== Option +header_converters+ - -Specifies a \String converter name or an \Array of converter names. - -Default value: - CSV::DEFAULT_OPTIONS.fetch(:header_converters) # => nil - -Identical in functionality to option {converters}[#class-CSV-label-Option+converters] -except that: -- The converters apply only to the header row. -- The built-in header converters are +:downcase+ and +:symbol+. - -Examples: - str = <<-EOT - foo,0 - bar,1 - baz,2 - EOT - headers = ['Name', 'Value'] - # With no header converter - csv = CSV.parse(str, headers: headers) - csv.headers # => ["Name", "Value"] - # With header converter :downcase - csv = CSV.parse(str, headers: headers, header_converters: :downcase) - csv.headers # => ["name", "value"] - # With header converter :symbol - csv = CSV.parse(str, headers: headers, header_converters: :symbol) - csv.headers # => [:name, :value] - # With both - csv = CSV.parse(str, headers: headers, header_converters: [:downcase, :symbol]) - csv.headers # => [:name, :value] diff --git a/doc/csv/headers.rdoc b/doc/csv/headers.rdoc deleted file mode 100644 index 0ea151f..0000000 --- a/doc/csv/headers.rdoc +++ /dev/null @@ -1,63 +0,0 @@ https://github.com/ruby/ruby/blob/trunk/doc/csv/arguments/io.rdoc#L0 -====== Option +headers+ - -Specifies a boolean, \Symbol, \Array, or \String to be used -to define column headers. - -Default value: - CSV::DEFAULT_OPTIONS.fetch(:headers) # => false - ---- - -Without +headers+: - str = <<-EOT - Name,Count - foo,0 - bar,1 - bax,2 - EOT - csv = CSV.new(str) - csv # => #<CSV io_type:StringIO encoding:UTF-8 lineno:0 col_sep:"," row_sep:"\n" quote_char:"\""> - csv.headers # => nil - csv.shift # => ["Name", "Count"] - ---- - -If set to +true+ or the \Symbol +:first_row+, -the first row of the data is treated as a row of headers: - str = <<-EOT - Name,Count - foo,0 - bar,1 - bax,2 - EOT - csv = CSV.new(str, headers: true) - csv # => #<CSV io_type:StringIO encoding:UTF-8 lineno:2 col_sep:"," row_sep:"\n" quote_char:"\"" headers:["Name", "Count"]> - csv.headers # => ["Name", "Count"] - csv.shift # => #<CSV::Row "Name":"bar" "Count":"1"> - ---- - -If set to an \Array, the \Array elements are treated as headers: - str = <<-EOT - foo,0 - bar,1 - bax,2 - EOT - csv = CSV.new(str, headers: ['Name', 'Count']) - csv - csv.headers # => ["Name", "Count"] - csv.shift # => #<CSV::Row "Name":"bar" "Coun (... truncated) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/