aws_security_viz 0.1.5.pre.alpha.pre.94 → 0.1.5.pre.alpha.pre.95

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: cd9e5d5e1d26a05f068c1a4e846b31a787bb257820824787ecd9e69a4129af19
4
- data.tar.gz: 1e3f4c081c2edeceac1a11200d33958d5c78a55cdb90f13a908583eace952f54
3
+ metadata.gz: 21404786fcd63a480db05387d2cc644b9870e0feef79d519301e86e4561a1474
4
+ data.tar.gz: 3d39be6e27f7eb5d2f6f217d5355db2b2432b75779632cd2cc109488244660da
5
5
  SHA512:
6
- metadata.gz: 76e17324185301d83372b7793000fc5ff0e37d4401f392d2c2a37c309e28e5475784b0c5b1eb0262494c21e62f61ff780b6188d8f988b9c06cf75357338d857f
7
- data.tar.gz: e971d162b5a420d1d8ca86b4259f4a3fb4c0537cf7976f1a09c6913da3bd47f124fbe3a68ab2dcdcc0d6b4be63642dbd2660710daba95de77866a5e051855c5e
6
+ metadata.gz: 42d193be3102ff612724722860f8e26ec01f93eccf186c8e31e17ca598f97bffdd186919e4e5149198b5696948dc76a019682a21b7aa738e5dd8a6012a5b1185
7
+ data.tar.gz: 308e912b07ef57c2bbb59b478903789155184ed4047ed72960486f19fbd5991e393bb3d54dc2796c5e7327edf16c22fc95fa9d09cb0463358c0c24aec2359b37
@@ -25,7 +25,7 @@ Gem::Specification.new do |s|
25
25
  s.add_development_dependency 'rake', '~> 12.0', '>= 12.0.0'
26
26
  s.add_development_dependency 'rspec', '~> 3.5', '>= 3.5.0'
27
27
 
28
- s.add_runtime_dependency 'ruby-graphviz', '~> 1.2', '>= 1.2.3'
28
+ s.add_runtime_dependency 'graphviz', '~> 1.1', '>= 1.1.0'
29
29
  s.add_runtime_dependency 'fog-aws', '~> 2.0', '>= 2.0.1'
30
30
  s.add_runtime_dependency 'unf', '~> 0.1.4'
31
31
  s.add_runtime_dependency 'json', '~> 2.1', '>= 2.1.0'
@@ -29,7 +29,7 @@ class GraphFilter
29
29
  paths = []
30
30
  visitor.set_examine_vertex_event_handler { |x| path << x }
31
31
  visitor.set_finish_vertex_event_handler { |x| path.pop }
32
- visitor.set_examine_edge_event_handler { |x, y| paths << path.dclone + [y] if y == destination }
32
+ visitor.set_examine_edge_event_handler { |x, y| paths << path.clone + [y] if y == destination }
33
33
  graph.depth_first_visit(source, visitor) { |x|}
34
34
  to_remove = graph.vertices - paths.flatten
35
35
  graph.remove_vertices(*to_remove)
@@ -3,29 +3,35 @@ require 'graphviz'
3
3
  module Renderer
4
4
  class GraphViz
5
5
  def initialize(file_name, config)
6
- @g = ::GraphViz::new('G', :type => 'strict digraph') { |g|
7
- g[:overlap] = :false
8
- g[:splines] = :true
9
- g[:sep] = 1
10
- g[:concentrate] = :true
11
- g[:rankdir] = "LR"
12
- }
6
+ @g = Graphviz::Graph.new('G', {
7
+ overlap: false,
8
+ splines: true,
9
+ sep: 1,
10
+ concentrate: true,
11
+ rankdir: "LR"
12
+ })
13
13
  @file_name = file_name
14
14
  @config = config
15
15
  end
16
16
 
17
17
  def add_node(name)
18
- @g.add_node(name)
18
+ @g.add_node(name, label: name)
19
19
  end
20
20
 
21
21
  def add_edge(from, to, opts)
22
- @g.add_edge(from, to, ({style: 'bold'}).merge(opts))
22
+ from_node = create_if_missing(from)
23
+ to_node = create_if_missing(to)
24
+ options = ({style: 'bold'}).merge(opts)
25
+ from_node.connect(to_node, options)
23
26
  end
24
27
 
28
+ def create_if_missing(name)
29
+ n = @g.get_node(name).first
30
+ n.nil? ? add_node(name) : n
31
+ end
32
+
25
33
  def output
26
- extension = File.extname(@file_name)
27
- opts = {extension[1..-1].to_sym => @file_name, :use => @config.format}
28
- @g.output(opts)
34
+ Graphviz::output(@g, path: @file_name, format: nil) #format: nil to force detection based on extension.
29
35
  end
30
36
  end
31
37
  end
@@ -1,4 +1,4 @@
1
- strict digraph G {
1
+ digraph G {
2
2
  graph [bb="0,0,388.31,144",
3
3
  concentrate=true,
4
4
  overlap=false,
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
+ require 'tempfile'
2
3
 
3
4
  describe VisualizeAws do
4
5
  let(:opts) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws_security_viz
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5.pre.alpha.pre.94
4
+ version: 0.1.5.pre.alpha.pre.95
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anay Nayak
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-08-26 00:00:00.000000000 Z
11
+ date: 2018-10-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -65,25 +65,25 @@ dependencies:
65
65
  - !ruby/object:Gem::Version
66
66
  version: 3.5.0
67
67
  - !ruby/object:Gem::Dependency
68
- name: ruby-graphviz
68
+ name: graphviz
69
69
  requirement: !ruby/object:Gem::Requirement
70
70
  requirements:
71
71
  - - "~>"
72
72
  - !ruby/object:Gem::Version
73
- version: '1.2'
73
+ version: '1.1'
74
74
  - - ">="
75
75
  - !ruby/object:Gem::Version
76
- version: 1.2.3
76
+ version: 1.1.0
77
77
  type: :runtime
78
78
  prerelease: false
79
79
  version_requirements: !ruby/object:Gem::Requirement
80
80
  requirements:
81
81
  - - "~>"
82
82
  - !ruby/object:Gem::Version
83
- version: '1.2'
83
+ version: '1.1'
84
84
  - - ">="
85
85
  - !ruby/object:Gem::Version
86
- version: 1.2.3
86
+ version: 1.1.0
87
87
  - !ruby/object:Gem::Dependency
88
88
  name: fog-aws
89
89
  requirement: !ruby/object:Gem::Requirement