structurebutcher 0.7.0 → 0.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/structurebutcher.rb +15 -2
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8de11b61a4cff11073f600d70e13e1166df5ce85
4
- data.tar.gz: 41461e5a17c76349926ce05accae503b16cc6415
3
+ metadata.gz: db853d50c1ba07f0bc5a4e4d990c4586b4ba17d5
4
+ data.tar.gz: 337b870faf1fad12a15767be0b246958286442da
5
5
  SHA512:
6
- metadata.gz: bc1b1156c46e0ffcd9cfe568682f830aa3e5959f2b7cea466f7f3f9baf4b35cd02ad779ef39a568a879629630bc9514efd930f5debc272c51ead24d7fbfe4189
7
- data.tar.gz: 16e70c42509b4c928433ac61afb873429d8d28236cd07bc7a27615330e97fdce4727bbdb6a0f0c27a0504760a652183238cac8ccde1c548cfb65e75a2e51c93c
6
+ metadata.gz: b694dce96c8783c94d473fdb581f56b504c4d181985e0bfcf7061cb7b7f5eb5eaad9f1c6f0a627c2a3d9a1f7d09c11647a35c5a1de8a07d43262bcb93af3ee0e
7
+ data.tar.gz: 592094360fa418d177bc3e7dbede2832978d16cfa8a17cbfdd07f740e62e472b611d9b5b8a45852125fc2a249814408224178b44d0ca1c043f25957dd2d256b7
@@ -10,6 +10,18 @@ require 'base64'
10
10
  #amputovat, implantovat
11
11
  #amputate, implantate
12
12
 
13
+ class Hash
14
+ def sort_by_key(recursive = false, &block)
15
+ self.keys.sort(&block).reduce({}) do |seed, key|
16
+ seed[key] = self[key]
17
+ if recursive && seed[key].is_a?(Hash)
18
+ seed[key] = seed[key].sort_by_key(true, &block)
19
+ end
20
+ seed
21
+ end
22
+ end
23
+ end
24
+
13
25
  class StructureButcher
14
26
  def split_escape(str)
15
27
  output = []
@@ -72,7 +84,8 @@ class StructureButcher
72
84
  part = butcher.implantate(body, slot, part)
73
85
 
74
86
  storer = StructureButcher::Storer.new
75
- storer.save_structure(body, body_file, "yaml")
87
+
88
+ storer.save_structure(body.sort_by_key(true), body_file, "yaml")
76
89
  end
77
90
 
78
91
  def implantate_struct_into_file(body_file, slot, part_struct)
@@ -89,7 +102,7 @@ class StructureButcher
89
102
  butcher.implantate(body, slot, part_struct)
90
103
 
91
104
  storer = StructureButcher::Storer.new
92
- storer.save_structure(body, body_file, "yaml")
105
+ storer.save_structure(body.sort_by_key(true), body_file, "yaml")
93
106
  end
94
107
  end
95
108
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: structurebutcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miroslav Tynovsky
@@ -79,7 +79,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
79
79
  version: '0'
80
80
  requirements: []
81
81
  rubyforge_project:
82
- rubygems_version: 2.2.2
82
+ rubygems_version: 2.6.8
83
83
  signing_key:
84
84
  specification_version: 4
85
85
  summary: Config saver/restorer