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

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
  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