File: CHANGELOG.md

package info (click to toggle)
ruby-iniparse 1.5.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 280 kB
  • sloc: ruby: 2,469; makefile: 4
file content (41 lines) | stat: -rw-r--r-- 1,002 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
### 1.5.0

* OptionCollection no longer yields duplicate keys as an array, but instead yields each key in turn.

  For example, given an INI file:

    [test]
    a = 1
    a = 2
    b = 3

  IniParse would previously yield a single "a" key: an array containing two `Line`s:

    doc['test'].map { |line| line }
    # => [[<a = 1>, <a = 2>], <b = 3>]

  Instead, each key/value pair will be yielded in turn:

    doc['test'].map { |line| line }
    # => [<a = 1>, <a = 2>, <b = 3>]

  Directly accessing values via `[]` will still return an array of values as before:

    doc['test']['a']
    # => [1, 2]

* LineCollection#each may be called without a block, returning an Enumerator.

    doc = IniParse.parse(<<~EOF)
      [test]
      a = x
      b = y
    EOF

    doc[test].each
    # => #<Enumerator: ...>

  This allows for chaining as in the standard library:

    doc['test'].map.with_index { |a, i| { index: i, value: a.value } }
    # => [{ index: 0, value: 'x' }, { index: 1, value: 'y' }]