coaster 1.3.16 → 1.3.17

Sign up to get free protection for your applications and to get access to all the features.
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