recursive-open-struct 1.0.3 → 1.0.4

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
  SHA1:
3
- metadata.gz: 1a818135247a6ccee4084c02a5504a41213ed7ef
4
- data.tar.gz: 83e7f427a585d6b32f0d041d0b237e37f16fc7d1
3
+ metadata.gz: c20dbcb5ce4e4805d18e6c7ea454ef2357dbc224
4
+ data.tar.gz: d9a112d4e90c9355c3f7356e88b16f81fe8da7f7
5
5
  SHA512:
6
- metadata.gz: 786b9589759c155996647a4a5cf35ae3d3bb28515c9d6cc9555ca152c4ff34578abb8b6e3357b5711340f22702e482517ad8d60d5fd53c0f418f99caa95d819a
7
- data.tar.gz: e76b6ab3dc483c8eecbcc40cfae8f66da581533d45826d7e215baaf763f6f6176bb040502c96f2858c4492ca93784d1de302ed78eb9417abf3efb357129970dc
6
+ metadata.gz: 7379ae006edd0cea0f1b052098042a6333cc8ed3509fa1742f77b54aa73d135eb483e41bfa7eb00e39b29fb2c7c5cc808cd788f4af0cb3ff0fdb11a77a4d2f77
7
+ data.tar.gz: ac6f2be126563fa292e523f2e463fa1a8f520f8d5e6b45c134e6d196a4bc50de4d1bcf144448cf8da7b5b862615cf400efaf094efd1c11c9b55e7f5e96fa7175
@@ -3,6 +3,7 @@ Recursive-open-struct was written by these fine people:
3
3
  * Cédric Felizard <cedric@felizard.fr>
4
4
  * Federico Aloi <federico.aloi@gmail.com>
5
5
  * fervic <roberto@runawaybit.com>
6
+ * Joe Rafaniello <jrafanie@redhat.com>
6
7
  * Kris Dekeyser <kris.dekeyser@libis.be>
7
8
  * Matt Culpepper <matt@culpepper.co>
8
9
  * Matthew O'Riordan <matthew.oriordan@gmail.com>
@@ -1,3 +1,11 @@
1
+ 1.0.4 / 2017-04-29
2
+ ==================
3
+
4
+ * FIX
5
+ [#52](https://github.com/aetherknight/recursive-open-struct/pull/52): Joe
6
+ Rafaniello: Improve performance of DeepDup by using Set instead of an Array
7
+ to track visited nodes.
8
+
1
9
  1.0.3 / 2017-04-10
2
10
  ==================
3
11
 
@@ -1,3 +1,4 @@
1
+ require 'set'
1
2
  class RecursiveOpenStruct::DeepDup
2
3
  def initialize(opts={})
3
4
  @recurse_over_arrays = opts.fetch(:recurse_over_arrays, false)
@@ -10,7 +11,7 @@ class RecursiveOpenStruct::DeepDup
10
11
 
11
12
  private
12
13
 
13
- def deep_dup(obj, visited=[])
14
+ def deep_dup(obj, visited=Set.new)
14
15
  if obj.is_a?(Hash)
15
16
  obj.each_with_object({}) do |(key, value), h|
16
17
  h[@preserve_original_keys ? key : key.to_sym] = value_or_deep_dup(value, visited)
@@ -3,5 +3,5 @@
3
3
  require 'ostruct'
4
4
 
5
5
  class RecursiveOpenStruct < OpenStruct
6
- VERSION = "1.0.3"
6
+ VERSION = "1.0.4"
7
7
  end
metadata CHANGED
@@ -1,94 +1,94 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: recursive-open-struct
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - William (B.J.) Snow Orvis
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-10 00:00:00.000000000 Z
11
+ date: 2017-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
+ name: bundler
14
15
  requirement: !ruby/object:Gem::Requirement
15
16
  requirements:
16
17
  - - ">="
17
18
  - !ruby/object:Gem::Version
18
19
  version: '0'
19
- name: bundler
20
- prerelease: false
21
20
  type: :development
21
+ prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
+ name: pry
28
29
  requirement: !ruby/object:Gem::Requirement
29
30
  requirements:
30
31
  - - ">="
31
32
  - !ruby/object:Gem::Version
32
33
  version: '0'
33
- name: pry
34
- prerelease: false
35
34
  type: :development
35
+ prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
+ name: rake
42
43
  requirement: !ruby/object:Gem::Requirement
43
44
  requirements:
44
45
  - - ">="
45
46
  - !ruby/object:Gem::Version
46
47
  version: '0'
47
- name: rake
48
- prerelease: false
49
48
  type: :development
49
+ prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
+ name: rdoc
56
57
  requirement: !ruby/object:Gem::Requirement
57
58
  requirements:
58
59
  - - ">="
59
60
  - !ruby/object:Gem::Version
60
61
  version: '0'
61
- name: rdoc
62
- prerelease: false
63
62
  type: :development
63
+ prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
+ name: rspec
70
71
  requirement: !ruby/object:Gem::Requirement
71
72
  requirements:
72
73
  - - "~>"
73
74
  - !ruby/object:Gem::Version
74
75
  version: '3.2'
75
- name: rspec
76
- prerelease: false
77
76
  type: :development
77
+ prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '3.2'
83
83
  - !ruby/object:Gem::Dependency
84
+ name: simplecov
84
85
  requirement: !ruby/object:Gem::Requirement
85
86
  requirements:
86
87
  - - ">="
87
88
  - !ruby/object:Gem::Version
88
89
  version: '0'
89
- name: simplecov
90
- prerelease: false
91
90
  type: :development
91
+ prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
@@ -141,7 +141,7 @@ homepage: http://github.com/aetherknight/recursive-open-struct
141
141
  licenses:
142
142
  - MIT
143
143
  metadata: {}
144
- post_install_message:
144
+ post_install_message:
145
145
  rdoc_options: []
146
146
  require_paths:
147
147
  - lib
@@ -156,9 +156,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
156
156
  - !ruby/object:Gem::Version
157
157
  version: '0'
158
158
  requirements: []
159
- rubyforge_project:
160
- rubygems_version: 2.6.6
161
- signing_key:
159
+ rubyforge_project:
160
+ rubygems_version: 2.6.8
161
+ signing_key:
162
162
  specification_version: 4
163
163
  summary: OpenStruct subclass that returns nested hash attributes as RecursiveOpenStructs
164
164
  test_files: