Sha256: 855a3ae97767e0e6338fb84ae447aa12d360863b6ead6cfbfcff44dada5e0a25

Contents?: true

Size: 796 Bytes

Versions: 100

Compression:

Stored size: 796 Bytes

Contents

module PactBroker
  module Api
    module Renderers
      class IntegrationsDotRenderer
        def initialize(integrations)
          @integrations = integrations
        end

        def self.call(integrations)
          new(integrations).call
        end

        def call
          "digraph { ranksep=3; ratio=auto; overlap=false; node [  shape = plaintext, fontname = Helvetica ];
#{integrations_graph}
}
"
        end

        private

        attr_reader :integrations

        def integrations_graph
          integrations
            .collect{ | integration| "  #{escape_name(integration.consumer_name)} -> #{escape_name(integration.provider_name)}" }
            .join("\n")
        end

        def escape_name(name)
          name.tr(" ", "_")
        end
      end
    end
  end
end

Version data entries

100 entries across 100 versions & 1 rubygems

Version Path
pact_broker-2.97.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.96.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.95.1 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.95.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.94.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.93.4 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.93.3 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.93.2 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.93.1 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.93.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.92.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.91.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.90.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.89.1 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.89.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.88.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.87.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.86.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.85.1 lib/pact_broker/api/renderers/integrations_dot_renderer.rb
pact_broker-2.85.0 lib/pact_broker/api/renderers/integrations_dot_renderer.rb