coaster 1.3.16 → 1.3.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9f77d0070583968f901f013740db84265ea28fcebddddf30dbc11dd441910563
4
- data.tar.gz: aad9339285e5ae4e7fba33343b30b976f38f01454a586dd6d3577c9b7a17699b
3
+ metadata.gz: ab2eb8291386db2096f9972b5094c8377337cf1ba33741222dc748959e9eb6c8
4
+ data.tar.gz: 599d8e3771f71618d5cd93b111bc04b68b61cd632bedb212e8070d61758462ae
5
5
  SHA512:
6
- metadata.gz: 36c410d67d869ee45be7441edb48943dd2d5e1f58d460071ec9ddcb9141bfee9958f9122ab9f7c003989052065834ea3a0bb0429876f66b989be2c598a96291d
7
- data.tar.gz: 1bbba2dcad11976f9c9a088e9e46fd006512758cb53a01a21fdc0995233929428d491595bafca10f13d1869980d79572f2bb47a89c180a71783319956441b2fd
6
+ metadata.gz: 6700f6a695c28ca3d4eda360ccf651a5a35aa30568ad38f41e0e0992aeb3edd9cee94d23beab7e1f79e03f378553a7b09efbc278ce7090511dee9c046394e916
7
+ data.tar.gz: da224933981d1593c1ddf6318829ca63a6610dcf75535bd49a3c043a32ef604a074292c50da53e8ff5790e690ddc851bf6a9ea3e251ee2afcb6e0b3308b52be4
data/lib/coaster/util.rb CHANGED
@@ -7,12 +7,12 @@ module Coaster
7
7
  case object
8
8
  when Hash
9
9
  object.each_with_object({}) do |(key, value), memo|
10
- memo.merge!(flatten_hashify(value, breadcrumbs: breadcrumbs + [key], include_array: include_array))
10
+ memo.merge!(flatten_hashify(value, delimiter: delimiter, breadcrumbs: breadcrumbs + [key], include_array: include_array))
11
11
  end
12
12
  when Array
13
13
  if include_array
14
14
  object.each.with_index(1).with_object({}) do |(element, ix), memo|
15
- memo.merge!(flatten_hashify(element, breadcrumbs: breadcrumbs + [ix], include_array: include_array))
15
+ memo.merge!(flatten_hashify(element, delimiter: delimiter, breadcrumbs: breadcrumbs + [ix], include_array: include_array))
16
16
  end
17
17
  else
18
18
  {breadcrumbs.join(delimiter) => object}
@@ -1,3 +1,3 @@
1
1
  module Coaster
2
- VERSION = '1.3.16'
2
+ VERSION = '1.3.17'
3
3
  end
data/test/test_util.rb CHANGED
@@ -20,5 +20,10 @@ module Coaster
20
20
  res = Util.flatten_hashify([{a: 1}, 22, [33, 44], {b: {c: [33, {d: 4}]}}], include_array: true)
21
21
  assert_equal({"1.a"=>1, "2"=>22, "3.1"=>33, "3.2"=>44, "4.b.c.1"=>33, "4.b.c.2.d"=>4}, res)
22
22
  end
23
+
24
+ def test_flatten_hashify_delimiter
25
+ res = Util.flatten_hashify([{a: 1}, 22, [33, 44], {b: {c: [33, {d: 4}]}}], include_array: true, delimiter: '/')
26
+ assert_equal({"1/a"=>1, "2"=>22, "3/1"=>33, "3/2"=>44, "4/b/c/1"=>33, "4/b/c/2/d"=>4}, res)
27
+ end
23
28
  end
24
29
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.16
4
+ version: 1.3.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - buzz jung