tins 1.22.1 → 1.22.2

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: 4eca5f634dc796062a53b38a97f8962615367b340f9e8f76ce7d9d29c70f25bf
4
- data.tar.gz: ea895d5750c29a7b8417e8a2e9740c718ff390810bf878871ffd84080b586243
3
+ metadata.gz: 3d98c574e4a2321165f854cddc2e3cacb54813a22945dac1b6c0cc10fff28d05
4
+ data.tar.gz: 7ba8ad11309acef41f4564d544c866fb11660e75ddf440a3085ccb3988c438ac
5
5
  SHA512:
6
- metadata.gz: 0a5d7a68bb4469117336cc8a9273048a4d0a0a0a6b8866b56464f9a1855c2ba6e6c8937e8725aeaa244c06eb9dadbdb2f2efd24f8a94a331531f4f5eac1f3fb3
7
- data.tar.gz: 0a15ad8a5dc67627a8eb3963459b2729f0e77389981fb3ed1d442f9cbaadf6201b80fa0e37a58e6293b334214b15fb5c05bcad799f223d202ecf2c7016dc7d51
6
+ metadata.gz: 33d9e297e541044de4ffacdc94e4a8e63496b7ce7b712ed5bf759203a568d57637763c8abea8e491a45cccdce64380a8a9c37c727ce6e7c4e85ab3ab5aaf3fd9
7
+ data.tar.gz: 9cf3542730ac0ad631337bc30b374e942f4c47b9676d08193263693edf4628a9fe9f14145b28c864188a812f0606c3d2a1046261cbd81e0398e6a2ffe3f0b242
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.22.1
1
+ 1.22.2
@@ -22,28 +22,23 @@ module Tins
22
22
  def _symbolize_keys_recursive(object, circular: nil)
23
23
  case
24
24
  when seen[object.__id__]
25
- circular != nil and object = circular
25
+ object = circular
26
26
  when Hash === object
27
27
  seen[object.__id__] = true
28
- result = {}
28
+ new_object = object.class.new
29
+ seen[new_object.__id__] = true
29
30
  object.each do |k, v|
30
- result[k.to_s.to_sym] = _symbolize_keys_recursive(v, circular: circular)
31
- end
32
- if object.frozen?
33
- object = result
34
- else
35
- object.replace result
31
+ new_object[k.to_s.to_sym] = _symbolize_keys_recursive(v, circular: circular)
36
32
  end
33
+ object = new_object
37
34
  when Array === object
38
35
  seen[object.__id__] = true
39
- result = object.map do |v|
40
- _symbolize_keys_recursive(v, circular: circular)
41
- end
42
- if object.frozen?
43
- object = result
44
- else
45
- object.replace result
36
+ new_object = object.class.new(object.size)
37
+ seen[new_object.__id__] = true
38
+ object.each_with_index do |v, i|
39
+ new_object[i] = _symbolize_keys_recursive(v, circular: circular)
46
40
  end
41
+ object = new_object
47
42
  end
48
43
  object
49
44
  end
@@ -1,6 +1,6 @@
1
1
  module Tins
2
2
  # Tins version
3
- VERSION = '1.22.1'
3
+ VERSION = '1.22.2'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -31,7 +31,7 @@ module Tins
31
31
  def test_symbolize_with_circular_array
32
32
  circular_array = [].tap { |a| a << a }
33
33
  assert_equal(
34
- { foo: circular_array },
34
+ { foo: [ nil ] },
35
35
  { 'foo' => circular_array }.symbolize_keys_recursive
36
36
  )
37
37
  assert_equal(
@@ -42,7 +42,7 @@ module Tins
42
42
 
43
43
  def test_symbolize_with_circular_hash
44
44
  circular_hash = {}.tap { |h| h['foo'] = h }
45
- circular_hash_symbol = {}.tap { |h| h[:foo] = h }
45
+ circular_hash_symbol = {}.tap { |h| h[:foo] = nil }
46
46
  assert_equal(
47
47
  { bar: circular_hash_symbol },
48
48
  { 'bar' => circular_hash }.symbolize_keys_recursive
@@ -1,14 +1,14 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: tins 1.22.1 ruby lib
2
+ # stub: tins 1.22.2 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "tins".freeze
6
- s.version = "1.22.1"
6
+ s.version = "1.22.2"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2019-11-12"
11
+ s.date = "2019-11-13"
12
12
  s.description = "All the stuff that isn't good/big enough for a real library.".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.extra_rdoc_files = ["README.md".freeze, "lib/dslkit.rb".freeze, "lib/dslkit/polite.rb".freeze, "lib/dslkit/rude.rb".freeze, "lib/spruz.rb".freeze, "lib/tins.rb".freeze, "lib/tins/alias.rb".freeze, "lib/tins/annotate.rb".freeze, "lib/tins/ask_and_send.rb".freeze, "lib/tins/attempt.rb".freeze, "lib/tins/bijection.rb".freeze, "lib/tins/case_predicate.rb".freeze, "lib/tins/complete.rb".freeze, "lib/tins/concern.rb".freeze, "lib/tins/count_by.rb".freeze, "lib/tins/date_dummy.rb".freeze, "lib/tins/date_time_dummy.rb".freeze, "lib/tins/deep_const_get.rb".freeze, "lib/tins/deep_dup.rb".freeze, "lib/tins/dslkit.rb".freeze, "lib/tins/duration.rb".freeze, "lib/tins/expose.rb".freeze, "lib/tins/extract_last_argument_options.rb".freeze, "lib/tins/file_binary.rb".freeze, "lib/tins/find.rb".freeze, "lib/tins/generator.rb".freeze, "lib/tins/go.rb".freeze, "lib/tins/hash_symbolize_keys_recursive.rb".freeze, "lib/tins/hash_union.rb".freeze, "lib/tins/if_predicate.rb".freeze, "lib/tins/implement.rb".freeze, "lib/tins/limited.rb".freeze, "lib/tins/lines_file.rb".freeze, "lib/tins/memoize.rb".freeze, "lib/tins/method_description.rb".freeze, "lib/tins/minimize.rb".freeze, "lib/tins/module_group.rb".freeze, "lib/tins/named_set.rb".freeze, "lib/tins/null.rb".freeze, "lib/tins/once.rb".freeze, "lib/tins/p.rb".freeze, "lib/tins/partial_application.rb".freeze, "lib/tins/proc_compose.rb".freeze, "lib/tins/proc_prelude.rb".freeze, "lib/tins/range_plus.rb".freeze, "lib/tins/require_maybe.rb".freeze, "lib/tins/responding.rb".freeze, "lib/tins/secure_write.rb".freeze, "lib/tins/sexy_singleton.rb".freeze, "lib/tins/string_byte_order_mark.rb".freeze, "lib/tins/string_camelize.rb".freeze, "lib/tins/string_underscore.rb".freeze, "lib/tins/string_version.rb".freeze, "lib/tins/subhash.rb".freeze, "lib/tins/temp_io.rb".freeze, "lib/tins/temp_io_enum.rb".freeze, "lib/tins/terminal.rb".freeze, "lib/tins/thread_local.rb".freeze, "lib/tins/time_dummy.rb".freeze, "lib/tins/to.rb".freeze, "lib/tins/to_proc.rb".freeze, "lib/tins/token.rb".freeze, "lib/tins/uniq_by.rb".freeze, "lib/tins/unit.rb".freeze, "lib/tins/version.rb".freeze, "lib/tins/write.rb".freeze, "lib/tins/xt.rb".freeze, "lib/tins/xt/annotate.rb".freeze, "lib/tins/xt/ask_and_send.rb".freeze, "lib/tins/xt/attempt.rb".freeze, "lib/tins/xt/blank.rb".freeze, "lib/tins/xt/case_predicate.rb".freeze, "lib/tins/xt/complete.rb".freeze, "lib/tins/xt/concern.rb".freeze, "lib/tins/xt/count_by.rb".freeze, "lib/tins/xt/date_dummy.rb".freeze, "lib/tins/xt/date_time_dummy.rb".freeze, "lib/tins/xt/deep_const_get.rb".freeze, "lib/tins/xt/deep_dup.rb".freeze, "lib/tins/xt/dslkit.rb".freeze, "lib/tins/xt/expose.rb".freeze, "lib/tins/xt/extract_last_argument_options.rb".freeze, "lib/tins/xt/file_binary.rb".freeze, "lib/tins/xt/full.rb".freeze, "lib/tins/xt/hash_symbolize_keys_recursive.rb".freeze, "lib/tins/xt/hash_union.rb".freeze, "lib/tins/xt/if_predicate.rb".freeze, "lib/tins/xt/implement.rb".freeze, "lib/tins/xt/irb.rb".freeze, "lib/tins/xt/method_description.rb".freeze, "lib/tins/xt/named.rb".freeze, "lib/tins/xt/null.rb".freeze, "lib/tins/xt/p.rb".freeze, "lib/tins/xt/partial_application.rb".freeze, "lib/tins/xt/proc_compose.rb".freeze, "lib/tins/xt/proc_prelude.rb".freeze, "lib/tins/xt/range_plus.rb".freeze, "lib/tins/xt/require_maybe.rb".freeze, "lib/tins/xt/responding.rb".freeze, "lib/tins/xt/secure_write.rb".freeze, "lib/tins/xt/sexy_singleton.rb".freeze, "lib/tins/xt/string.rb".freeze, "lib/tins/xt/string_byte_order_mark.rb".freeze, "lib/tins/xt/string_camelize.rb".freeze, "lib/tins/xt/string_underscore.rb".freeze, "lib/tins/xt/string_version.rb".freeze, "lib/tins/xt/subhash.rb".freeze, "lib/tins/xt/temp_io.rb".freeze, "lib/tins/xt/time_dummy.rb".freeze, "lib/tins/xt/time_freezer.rb".freeze, "lib/tins/xt/to.rb".freeze, "lib/tins/xt/uniq_by.rb".freeze, "lib/tins/xt/write.rb".freeze]
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tins
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.22.1
4
+ version: 1.22.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-11-12 00:00:00.000000000 Z
11
+ date: 2019-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar