dradis-pdf_export 4.1.0
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 +7 -0
- data/.gitignore +3 -0
- data/CHANGELOG.md +56 -0
- data/CHANGELOG.template +12 -0
- data/CONTRIBUTING.md +3 -0
- data/Gemfile +4 -0
- data/LICENSE +3 -0
- data/README.md +30 -0
- data/Rakefile +1 -0
- data/app/assets/images/logo_pdf.jpg +0 -0
- data/app/controllers/dradis/plugins/pdf_export/base_controller.rb +20 -0
- data/config/routes.rb +3 -0
- data/dradis-pdf_export.gemspec +32 -0
- data/lib/dradis/plugins/pdf_export/engine.rb +31 -0
- data/lib/dradis/plugins/pdf_export/exporter.rb +170 -0
- data/lib/dradis/plugins/pdf_export/gem_version.rb +19 -0
- data/lib/dradis/plugins/pdf_export/version.rb +13 -0
- data/lib/dradis/plugins/pdf_export.rb +10 -0
- data/lib/dradis-pdf_export.rb +8 -0
- metadata +173 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 2b4fe7c789940f102135b59c9bac0ec1750250ccd1e8ae4f43ef511a88da2c24
|
4
|
+
data.tar.gz: 4d21172050f7db481935f411c159e6cddaef2e3bda5c5827a76ee10080bba7c8
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 68854d55c5b6c746dd7a1bc5f1e35ef5ba9dfbf2d775e7dfd5e28cec29e7e9985d277130b9164c4b7f5a4e1539f4f396754a7dad87f019fe80ddadfeb5aa8f12
|
7
|
+
data.tar.gz: f8a4e5a79538ed2bb548c1218784e70e95404f1aa9c5c1f6750f59e4e8196d4947de6785a7053dd7003399174f15509b690c6500f1434dc8bceaaa1ec38f1dce
|
data/.gitignore
ADDED
data/CHANGELOG.md
ADDED
@@ -0,0 +1,56 @@
|
|
1
|
+
v4.1.0 (November 2021)
|
2
|
+
- No changes
|
3
|
+
|
4
|
+
v4.0.0 (July 2021)
|
5
|
+
- No changes
|
6
|
+
|
7
|
+
v3.22.0 (April 2021)
|
8
|
+
- No changes
|
9
|
+
|
10
|
+
v3.21.0 (February 2021)
|
11
|
+
- No changes
|
12
|
+
|
13
|
+
v3.20.0 (December 2020)
|
14
|
+
- No changes
|
15
|
+
|
16
|
+
v3.19.0 (September 2020)
|
17
|
+
- No changes
|
18
|
+
|
19
|
+
v3.18.0 (July 2020)
|
20
|
+
- No changes
|
21
|
+
|
22
|
+
v3.17.0 (May 2020)
|
23
|
+
- No changes
|
24
|
+
|
25
|
+
v3.16.0 (February 2020)
|
26
|
+
- No changes
|
27
|
+
|
28
|
+
v3.15.0 (November 2019)
|
29
|
+
- No changes
|
30
|
+
|
31
|
+
v3.14.0 (August 2019)
|
32
|
+
- No changes
|
33
|
+
|
34
|
+
v3.13.0 (June 2019)
|
35
|
+
- No changes
|
36
|
+
|
37
|
+
v3.12.0 (March 2019)
|
38
|
+
- No changes
|
39
|
+
|
40
|
+
v3.11.0 (November 2018)
|
41
|
+
- No changes
|
42
|
+
|
43
|
+
v3.10.0 (August 2018)
|
44
|
+
- No changes
|
45
|
+
|
46
|
+
v3.9.0 (January 2018)
|
47
|
+
- No changes
|
48
|
+
|
49
|
+
v3.8.0 (September 2017)
|
50
|
+
- No changes
|
51
|
+
|
52
|
+
v3.7.0 (July 2017)
|
53
|
+
- No changes
|
54
|
+
|
55
|
+
v3.6.0 (March 2017)
|
56
|
+
- No changes
|
data/CHANGELOG.template
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
[v#.#.#] ([month] [YYYY])
|
2
|
+
- [future tense verb] [feature]
|
3
|
+
- Upgraded gems:
|
4
|
+
- [gem]
|
5
|
+
- Bugs fixes:
|
6
|
+
- [future tense verb] [bug fix]
|
7
|
+
- Bug tracker items:
|
8
|
+
- [item]
|
9
|
+
- Security Fixes:
|
10
|
+
- High: (Authenticated|Unauthenticated) (admin|author|contributor) [vulnerability description]
|
11
|
+
- Medium: (Authenticated|Unauthenticated) (admin|author|contributor) [vulnerability description]
|
12
|
+
- Low: (Authenticated|Unauthenticated) (admin|author|contributor) [vulnerability description]
|
data/CONTRIBUTING.md
ADDED
data/Gemfile
ADDED
data/LICENSE
ADDED
data/README.md
ADDED
@@ -0,0 +1,30 @@
|
|
1
|
+
# PDF export plugin for the Dradis Framework
|
2
|
+
|
3
|
+
[](http://travis-ci.org/dradis/dradis-pdf_export)
|
4
|
+
|
5
|
+
|
6
|
+
This plugin generates a PDF report from the notes in your [Dradis Framework](https://github.com/dradis/dradisframework) repository.
|
7
|
+
|
8
|
+
It uses the amazing [Prawn](https://github.com/prawnpdf/prawn) library to do the PDF heavy lifting.
|
9
|
+
|
10
|
+
The add-on requires [Dradis CE](https://dradisframework.org/) > 3.0, or [Dradis Pro](https://dradisframework.com/pro/).
|
11
|
+
|
12
|
+
|
13
|
+
## More information
|
14
|
+
|
15
|
+
See the Dradis Framework's [README.md](https://github.com/dradis/dradisframework/blob/master/README.md)
|
16
|
+
|
17
|
+
|
18
|
+
## Contributing
|
19
|
+
|
20
|
+
See the Dradis Framework's [CONTRIBUTING.md](https://github.com/dradis/dradisframework/blob/master/CONTRIBUTING.md)
|
21
|
+
|
22
|
+
|
23
|
+
## License
|
24
|
+
|
25
|
+
Dradis Framework is released under [GNU General Public License version 2.0](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
|
26
|
+
|
27
|
+
|
28
|
+
## Feature requests and bugs
|
29
|
+
|
30
|
+
Please use the [Dradis Framework issue tracker](https://github.com/dradis/dradis-ce/issues) for add-on improvements and bug reports.
|
data/Rakefile
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require "bundler/gem_tasks"
|
Binary file
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module Dradis
|
2
|
+
module Plugins
|
3
|
+
module PdfExport
|
4
|
+
|
5
|
+
class BaseController < Dradis::Plugins::Export::BaseController
|
6
|
+
# This method cycles throw the notes in the reporting category and creates
|
7
|
+
# a simple PDF report with them.
|
8
|
+
def index
|
9
|
+
exporter = Dradis::Plugins::PdfExport::Exporter.new(export_options)
|
10
|
+
pdf = exporter.export
|
11
|
+
|
12
|
+
send_data pdf.render, filename: "dradis_report-#{Time.now.to_i}.pdf",
|
13
|
+
type: 'application/pdf',
|
14
|
+
disposition: 'inline'
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
data/config/routes.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
# -*- encoding: utf-8 -*-
|
2
|
+
require File.expand_path('../lib/dradis/plugins/pdf_export/version', __FILE__)
|
3
|
+
version = Dradis::Plugins::PdfExport::version
|
4
|
+
|
5
|
+
Gem::Specification.new do |spec|
|
6
|
+
spec.platform = Gem::Platform::RUBY
|
7
|
+
spec.name = "dradis-pdf_export"
|
8
|
+
spec.version = version
|
9
|
+
spec.required_ruby_version = '>= 1.9.3'
|
10
|
+
spec.license = 'GPL-2'
|
11
|
+
|
12
|
+
spec.authors = ['Daniel Martin']
|
13
|
+
spec.email = ["<etd@nomejortu.com>"]
|
14
|
+
spec.description = %q{Export to PDF plugin for the Dradis Framework}
|
15
|
+
spec.summary = %q{Dradis PDF export plugin}
|
16
|
+
spec.homepage = 'http://dradisframework.org'
|
17
|
+
|
18
|
+
spec.files = `git ls-files`.split($\)
|
19
|
+
spec.executables = spec.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
20
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
21
|
+
spec.require_paths = ["lib"]
|
22
|
+
|
23
|
+
spec.add_dependency 'dradis-plugins', '~> 4.0'
|
24
|
+
spec.add_dependency 'prawn', '~> 0.15.0'
|
25
|
+
|
26
|
+
spec.add_development_dependency 'capybara', '~> 1.1.3'
|
27
|
+
spec.add_development_dependency 'database_cleaner'
|
28
|
+
spec.add_development_dependency 'factory_girl_rails'
|
29
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
30
|
+
spec.add_development_dependency 'rspec-rails', '~> 2.11.0'
|
31
|
+
spec.add_development_dependency 'sqlite3'
|
32
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module Dradis
|
2
|
+
module Plugins
|
3
|
+
module PdfExport
|
4
|
+
|
5
|
+
class Engine < ::Rails::Engine
|
6
|
+
# Standard Rails Engine stuff
|
7
|
+
isolate_namespace Dradis::Plugins::PdfExport
|
8
|
+
|
9
|
+
# use rspec for tests
|
10
|
+
config.generators do |g|
|
11
|
+
g.test_framework :rspec
|
12
|
+
end
|
13
|
+
|
14
|
+
# Connect to the Framework
|
15
|
+
include Dradis::Plugins::Base
|
16
|
+
|
17
|
+
# plugin_name 'HTML export'
|
18
|
+
provides :export
|
19
|
+
description 'Generate PDF reports'
|
20
|
+
|
21
|
+
|
22
|
+
initializer 'dradis-pdf_export.mount_engine' do
|
23
|
+
Rails.application.routes.append do
|
24
|
+
mount Dradis::Plugins::PdfExport::Engine => '/export/pdf'
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
@@ -0,0 +1,170 @@
|
|
1
|
+
module Dradis
|
2
|
+
module Plugins
|
3
|
+
module PdfExport
|
4
|
+
|
5
|
+
class Processor < Prawn::Document
|
6
|
+
def initialize(args={})
|
7
|
+
super(top_margin: 70)
|
8
|
+
|
9
|
+
content_service = args[:content_service]
|
10
|
+
|
11
|
+
@author = 'Security Tester'
|
12
|
+
@email = 'tester@securitytesting.com'
|
13
|
+
@issues = content_service.all_issues
|
14
|
+
@notes = content_service.all_notes
|
15
|
+
@title = "Dradis Framework - v#{Dradis::CE::VERSION::STRING}"
|
16
|
+
|
17
|
+
sort_issues
|
18
|
+
end
|
19
|
+
|
20
|
+
def generate
|
21
|
+
cover_page
|
22
|
+
project_notes
|
23
|
+
summary_of_findings
|
24
|
+
detailed_findings
|
25
|
+
tool_list
|
26
|
+
|
27
|
+
# outline
|
28
|
+
end
|
29
|
+
|
30
|
+
private
|
31
|
+
def sort_issues
|
32
|
+
sorted = { info: [], low: [], medium: [], high: []}
|
33
|
+
@issues.each do |issue|
|
34
|
+
cvss = issue.fields['CVSSv2'].to_f;
|
35
|
+
case cvss
|
36
|
+
when 0..0.9
|
37
|
+
sorted[:info] << issue
|
38
|
+
when 1.0..3.9
|
39
|
+
sorted[:low] << issue
|
40
|
+
when 4.0..6.9
|
41
|
+
sorted[:medium] << issue
|
42
|
+
else
|
43
|
+
sorted[:high] << issue
|
44
|
+
end
|
45
|
+
end
|
46
|
+
@sorted = sorted[:high] + sorted[:medium] + sorted[:low] + sorted[:info]
|
47
|
+
end
|
48
|
+
|
49
|
+
def cover_page
|
50
|
+
move_down 50
|
51
|
+
image "#{Engine.config.paths['app/assets'].expanded.first}/logo_pdf.jpg", position: :center
|
52
|
+
move_down 20
|
53
|
+
|
54
|
+
text '<b><font size="24">Security Assessment Report</font></b>', inline_format: true, align: :center
|
55
|
+
move_down 20
|
56
|
+
text "BlackHat Arsenal 2018", align: :center
|
57
|
+
|
58
|
+
|
59
|
+
bounding_box([300, 150], width: 200, height: 150) do
|
60
|
+
# transparent(0.5) { stroke_bounds } # This will stroke on one page
|
61
|
+
text "<b>Author</b>: #{@author}", inline_format: :true
|
62
|
+
text "<b>Email</b>: #{@email}", inline_format: :true
|
63
|
+
text "<b>Date</b>: #{Time.now.strftime('%Y-%m-%d')}", inline_format: :true
|
64
|
+
# transparent(0.5) { stroke_bounds } # And this will stroke on the next
|
65
|
+
end
|
66
|
+
start_new_page
|
67
|
+
end
|
68
|
+
|
69
|
+
def project_notes
|
70
|
+
draw_header
|
71
|
+
|
72
|
+
text 'Project notes'
|
73
|
+
move_down 20
|
74
|
+
|
75
|
+
@notes.each do |note|
|
76
|
+
fields = note.fields
|
77
|
+
text "<b>#{fields['Title']}</b>", inline_format: true
|
78
|
+
text fields['Description']
|
79
|
+
end
|
80
|
+
|
81
|
+
start_new_page
|
82
|
+
end
|
83
|
+
|
84
|
+
def summary_of_findings
|
85
|
+
draw_header
|
86
|
+
|
87
|
+
text 'SUMMARY OF FINDINGS'
|
88
|
+
move_down 20
|
89
|
+
|
90
|
+
@sorted.each do |note|
|
91
|
+
fields = note.fields
|
92
|
+
text "• #{fields['Title']} (#{fields['CVSSv2']})"
|
93
|
+
end
|
94
|
+
|
95
|
+
start_new_page
|
96
|
+
end
|
97
|
+
|
98
|
+
def detailed_findings
|
99
|
+
draw_header
|
100
|
+
|
101
|
+
text 'DETAILED FINDINGS'
|
102
|
+
move_down 20
|
103
|
+
|
104
|
+
@sorted.each do |note|
|
105
|
+
fields = note.fields
|
106
|
+
text "<b>#{fields['Title']}</b> (#{fields['CVSSv2']})", inline_format: true
|
107
|
+
text fields['Description']
|
108
|
+
|
109
|
+
move_down 20
|
110
|
+
text "<b>Mitigation:</b>", inline_format: true
|
111
|
+
text fields['Mitigation']
|
112
|
+
start_new_page
|
113
|
+
end
|
114
|
+
end
|
115
|
+
|
116
|
+
def tool_list
|
117
|
+
draw_header
|
118
|
+
|
119
|
+
text 'TOOLS USED'
|
120
|
+
move_down 20
|
121
|
+
|
122
|
+
data = [
|
123
|
+
['Name', 'Description']
|
124
|
+
]
|
125
|
+
|
126
|
+
data << ['Dradis Framework', "Collaboration and reporting framework\nhttp://dradisframework.org" ]
|
127
|
+
|
128
|
+
table data, header: true, position: :center
|
129
|
+
end
|
130
|
+
|
131
|
+
def outline
|
132
|
+
outline.define do
|
133
|
+
section('Report Content', destination: 2) do
|
134
|
+
page title: 'Summary of Findings', destination: 2
|
135
|
+
page title: 'Tool List', destination: 3
|
136
|
+
end
|
137
|
+
end
|
138
|
+
end
|
139
|
+
|
140
|
+
def draw_header
|
141
|
+
fill_color 'efefef'
|
142
|
+
fill_rectangle [bounds.left-50, bounds.top + 100], bounds.width + 100, 87
|
143
|
+
fill_color '00000'
|
144
|
+
|
145
|
+
box = bounding_box [bounds.left-50, bounds.top+50], :width => (bounds.width + 100) do
|
146
|
+
|
147
|
+
font "Helvetica"
|
148
|
+
text "Security Assessment Report", align: :center
|
149
|
+
move_down 20
|
150
|
+
|
151
|
+
stroke_color 'dadada'
|
152
|
+
stroke_horizontal_rule
|
153
|
+
stroke_color '000000'
|
154
|
+
|
155
|
+
end
|
156
|
+
move_down 40
|
157
|
+
end
|
158
|
+
|
159
|
+
end
|
160
|
+
|
161
|
+
class Exporter < Dradis::Plugins::Export::Base
|
162
|
+
def export()
|
163
|
+
pdf = Processor.new(content_service: content_service)
|
164
|
+
pdf.generate
|
165
|
+
pdf
|
166
|
+
end
|
167
|
+
end
|
168
|
+
end
|
169
|
+
end
|
170
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Dradis
|
2
|
+
module Plugins
|
3
|
+
module PdfExport
|
4
|
+
# Returns the version of the currently loaded Frontend as a <tt>Gem::Version</tt>
|
5
|
+
def self.gem_version
|
6
|
+
Gem::Version.new VERSION::STRING
|
7
|
+
end
|
8
|
+
|
9
|
+
module VERSION
|
10
|
+
MAJOR = 4
|
11
|
+
MINOR = 1
|
12
|
+
TINY = 0
|
13
|
+
PRE = nil
|
14
|
+
|
15
|
+
STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,173 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: dradis-pdf_export
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 4.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Daniel Martin
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-12-02 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: dradis-plugins
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: prawn
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.15.0
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.15.0
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: capybara
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.1.3
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.1.3
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: database_cleaner
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: factory_girl_rails
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rake
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '10.0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '10.0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec-rails
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 2.11.0
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - "~>"
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 2.11.0
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: sqlite3
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
description: Export to PDF plugin for the Dradis Framework
|
126
|
+
email:
|
127
|
+
- "<etd@nomejortu.com>"
|
128
|
+
executables: []
|
129
|
+
extensions: []
|
130
|
+
extra_rdoc_files: []
|
131
|
+
files:
|
132
|
+
- ".gitignore"
|
133
|
+
- CHANGELOG.md
|
134
|
+
- CHANGELOG.template
|
135
|
+
- CONTRIBUTING.md
|
136
|
+
- Gemfile
|
137
|
+
- LICENSE
|
138
|
+
- README.md
|
139
|
+
- Rakefile
|
140
|
+
- app/assets/images/logo_pdf.jpg
|
141
|
+
- app/controllers/dradis/plugins/pdf_export/base_controller.rb
|
142
|
+
- config/routes.rb
|
143
|
+
- dradis-pdf_export.gemspec
|
144
|
+
- lib/dradis-pdf_export.rb
|
145
|
+
- lib/dradis/plugins/pdf_export.rb
|
146
|
+
- lib/dradis/plugins/pdf_export/engine.rb
|
147
|
+
- lib/dradis/plugins/pdf_export/exporter.rb
|
148
|
+
- lib/dradis/plugins/pdf_export/gem_version.rb
|
149
|
+
- lib/dradis/plugins/pdf_export/version.rb
|
150
|
+
homepage: http://dradisframework.org
|
151
|
+
licenses:
|
152
|
+
- GPL-2
|
153
|
+
metadata: {}
|
154
|
+
post_install_message:
|
155
|
+
rdoc_options: []
|
156
|
+
require_paths:
|
157
|
+
- lib
|
158
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - ">="
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: 1.9.3
|
163
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
164
|
+
requirements:
|
165
|
+
- - ">="
|
166
|
+
- !ruby/object:Gem::Version
|
167
|
+
version: '0'
|
168
|
+
requirements: []
|
169
|
+
rubygems_version: 3.1.6
|
170
|
+
signing_key:
|
171
|
+
specification_version: 4
|
172
|
+
summary: Dradis PDF export plugin
|
173
|
+
test_files: []
|