dradis-projects 3.0.1 → 3.6.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.
@@ -1,7 +1,7 @@
1
1
  require 'logger'
2
2
 
3
3
  class ExportTasks < Thor
4
- include Dradis::Plugins::thor_helper_module.to_s.constantize
4
+ include Rails.application.config.dradis.thor_helper_module
5
5
 
6
6
  namespace "dradis:plugins:projects:export"
7
7
 
@@ -10,9 +10,16 @@ class ExportTasks < Thor
10
10
  def template
11
11
  require 'config/environment'
12
12
 
13
+ # The options we'll end up passing to the Processor class
14
+ opts = {}
15
+
16
+ STDOUT.sync = true
13
17
  logger = Logger.new(STDOUT)
14
18
  logger.level = Logger::DEBUG
19
+ opts[:logger] = logger
20
+
15
21
  template_path = options.file || Rails.root.join('backup').to_s
22
+ FileUtils.mkdir_p(template_path) unless File.exist?(template_path)
16
23
 
17
24
  unless template_path =~ /\.xml\z/
18
25
  date = DateTime.now.strftime("%Y-%m-%d")
@@ -25,10 +32,9 @@ class ExportTasks < Thor
25
32
 
26
33
  detect_and_set_project_scope
27
34
 
28
- exporter = Dradis::Plugins::Projects::Export::Template.new(
29
- content_service: content_service_for(Dradis::Plugins::Projects::Export::Template),
30
- logger: logger
31
- )
35
+ exporter_class = Rails.application.config.dradis.projects.template_exporter
36
+ export_options = opts.merge(plugin: Dradis::Plugins::Projects)
37
+ exporter = exporter_class.new(export_options)
32
38
 
33
39
  File.open(template_path, 'w') { |f| f.write exporter.export() }
34
40
 
@@ -45,11 +51,18 @@ class ExportTasks < Thor
45
51
  def package
46
52
  require 'config/environment'
47
53
 
54
+ # The options we'll end up passing to the Processor class
55
+ opts = {}
56
+
57
+ STDOUT.sync = true
48
58
  logger = Logger.new(STDOUT)
49
59
  logger.level = Logger::DEBUG
60
+ opts[:logger] = logger
61
+
50
62
  package_path = options.file || Rails.root.join('backup')
63
+ FileUtils.mkdir_p(package_path) unless File.exist?(package_path)
51
64
 
52
- unless package_path =~ /\.zip\z/
65
+ unless package_path.to_s =~ /\.zip\z/
53
66
  date = DateTime.now.strftime("%Y-%m-%d")
54
67
  sequence = Dir.glob(File.join(package_path, "dradis-export_#{date}_*.zip")).collect { |a| a.match(/_([0-9]+)\.zip\z/)[1].to_i }.max || 0
55
68
  package_path = File.join(package_path, "dradis-export_#{date}_#{sequence + 1}.zip")
@@ -57,10 +70,9 @@ class ExportTasks < Thor
57
70
 
58
71
  detect_and_set_project_scope
59
72
 
60
- Dradis::Plugins::Projects::Export::Package.new(
61
- content_service: content_service_for(Dradis::Plugins::Projects::Export::Package),
62
- logger: logger
63
- ).export(filename: package_path)
73
+ export_options = opts.merge(plugin: Dradis::Plugins::Projects)
74
+ Dradis::Plugins::Projects::Export::Package.new(export_options).
75
+ export(filename: package_path)
64
76
 
65
77
  logger.info{ "Project package created at:\n\t#{ File.expand_path( package_path ) }" }
66
78
  logger.close
@@ -69,7 +81,7 @@ class ExportTasks < Thor
69
81
  end
70
82
 
71
83
  class UploadTasks < Thor
72
- include Dradis::Plugins::thor_helper_module.to_s.constantize
84
+ include Rails.application.config.dradis.thor_helper_module
73
85
 
74
86
  namespace "dradis:plugins:projects:upload"
75
87
 
@@ -89,7 +101,7 @@ class UploadTasks < Thor
89
101
 
90
102
  detect_and_set_project_scope
91
103
 
92
- content_service = content_service_for(Dradis::Plugins::Projects::Upload::Template)
104
+ content_service = Dradis::Plugins::ContentService.new(plugin: Dradis::Plugins::Projects::Upload::Template)
93
105
  template_service = Dradis::Plugins::TemplateService.new(plugin: Dradis::Plugins::Projects::Upload::Template)
94
106
 
95
107
  importer = Dradis::Plugins::Projects::Upload::Template::Importer.new(
@@ -122,7 +134,7 @@ class UploadTasks < Thor
122
134
 
123
135
  detect_and_set_project_scope
124
136
 
125
- content_service = content_service_for(Dradis::Plugins::Projects::Upload::Package)
137
+ content_service = Dradis::Plugins::ContentService.new(plugin: Dradis::Plugins::Projects::Upload::Package)
126
138
  template_service = Dradis::Plugins::TemplateService.new(plugin: Dradis::Plugins::Projects::Upload::Package)
127
139
 
128
140
  importer = Dradis::Plugins::Projects::Upload::Package::Importer.new(
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dradis-projects
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.1
4
+ version: 3.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Daniel Martin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-07 00:00:00.000000000 Z
11
+ date: 2017-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -72,14 +72,14 @@ dependencies:
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '3.5'
75
+ version: '3.6'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '3.5'
82
+ version: '3.6'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rubyzip
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -104,6 +104,7 @@ extra_rdoc_files: []
104
104
  files:
105
105
  - ".gitignore"
106
106
  - ".ruby-version"
107
+ - CHANGELOG.md
107
108
  - CONTRIBUTING.md
108
109
  - Gemfile
109
110
  - LICENSE
@@ -118,9 +119,11 @@ files:
118
119
  - lib/dradis/plugins/projects/engine.rb
119
120
  - lib/dradis/plugins/projects/export/package.rb
120
121
  - lib/dradis/plugins/projects/export/template.rb
122
+ - lib/dradis/plugins/projects/export/v1/template.rb
121
123
  - lib/dradis/plugins/projects/gem_version.rb
122
124
  - lib/dradis/plugins/projects/upload/package.rb
123
125
  - lib/dradis/plugins/projects/upload/template.rb
126
+ - lib/dradis/plugins/projects/upload/v1/template.rb
124
127
  - lib/dradis/plugins/projects/version.rb
125
128
  - lib/tasks/thorfile.rb
126
129
  homepage: http://dradisframework.org