opsviewconfig 0.0.1 → 0.0.2

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/opsviewconfig.rb +14 -1
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 51b8d3c6b9a1dccc2f1afa1487da05047161b3a1
4
- data.tar.gz: baf8ba1bef60a158207e02b89f1f4a1b30f4f69a
3
+ metadata.gz: e8ad0eb5889e77255803ca785d9fb0f209e522ec
4
+ data.tar.gz: 6cdf740f502cfefda5ae0ac60c5d57839c7ddcc8
5
5
  SHA512:
6
- metadata.gz: 27fb4a21cf837bc272673f2891c68ae556bba25b44d51fee31099eaf73a7ba99feac4a3886ffa88fd5afddd13078e114f0dcebbf8d202e3b4093357d6356f567
7
- data.tar.gz: af71352f53cff766ce9b5fd31bb7df94eb6c1d23e9b6ec3ef96197740affa711e6061d71034f055cebb2a7f57878cb195171cd67e8954245ca2321894fed0089
6
+ metadata.gz: b002226b32d68e1106b2eed919c3b795514ad619e9b5feb874064b68da9688eac4e9f6bb92462c679a7a0839bdc0e00fe2ada9242cec5e9e6a7777f5ed6074a3
7
+ data.tar.gz: 538927bc10222af72429d9b80e5c747424c0ef525deb6d3a5129488b16dc144c911652a30a18c2d2c1910a400127b2c88614961d4fd3018cb81621fc88af1059
data/lib/opsviewconfig.rb CHANGED
@@ -1,6 +1,19 @@
1
1
  require 'json'
2
2
  require 'opsview_rest'
3
3
 
4
+
5
+ class Hash
6
+ def sort_by_key(recursive = false, &block)
7
+ self.keys.sort(&block).reduce({}) do |seed, key|
8
+ seed[key] = self[key]
9
+ if recursive && seed[key].is_a?(Hash)
10
+ seed[key] = seed[key].sort_by_key(true, &block)
11
+ end
12
+ seed
13
+ end
14
+ end
15
+ end
16
+
4
17
  class Opsviewconfig
5
18
  def initialize(config)
6
19
  # Connect to opsview and return handler
@@ -32,7 +45,7 @@ class Opsviewconfig
32
45
  resource.delete("id")
33
46
  cleanexport << resource
34
47
  end
35
- return cleanexport
48
+ return cleanexport.sort_by_key(true)
36
49
  end
37
50
 
38
51
  def import(type,filename=nil,folder=nil)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opsviewconfig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitriy M
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-17 00:00:00.000000000 Z
11
+ date: 2015-12-04 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: A simple class to import and export OpsView config
14
14
  email: dmitriy.mar@gmail.com