tenable-ruby 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/tenable-ruby.rb +15 -7
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 9d538ef4f3b182110dd5b74ab03dfa56bf346d95
4
- data.tar.gz: a8f4361484a9c5d1fc0b2a3c0f3f504f62425d2b
3
+ metadata.gz: f85505c10cdfc20f73c9c3206b6f98bb542be031
4
+ data.tar.gz: aa55193ae8ec7bd0093e920c964a9de427f9a7db
5
5
  SHA512:
6
- metadata.gz: fc335f3866393aa2f7aaffd3232f6d9d1c044a9732ed3cb425545547ed9ee4edc5883f4707e6dc93cd3525f0c096e517240a0735231255f687ba8149af675911
7
- data.tar.gz: 6176793f900e4ae25ab631f286ea6d1ac2b0fe7aec8a02f830f750172bf6ba8872445bcf148cb070fa2d3562a797d540564e460e24adafd284f620564ea52420
6
+ metadata.gz: b0cb391e04eba5f1bc14ef2d008dc56782371204373134479f5b4557f80569bcfcd10d7afe7495f23be1cc92132ae1f902e9ad197adfbb7c637ac42a43dd8a3d
7
+ data.tar.gz: aa21fee4bc24e24dcc3a86cb07c98b74dc7fd6576e1cd1a32adf75e5f36cf8045a47130d412e91a61e44e894587228917dcaca12eafadec66b17f349a8a012f5
data/lib/tenable-ruby.rb CHANGED
@@ -493,13 +493,17 @@ module TenableRuby
493
493
  #
494
494
  # returns: JSON parsed object with scan info
495
495
  def scan_quick_policy(policyname, name, opts = {}, foldername = nil, scanner_id = nil)
496
- policies = list_policies['policies'].select do |pol|
496
+ policies = list_policies['policies']
497
+ if policies.nil?
498
+ raise TenableRuby::Error::TenableError, "Tenable API request 'list_policies' responded with 'nil'"
499
+ end
500
+ selected_policies = policies.select do |pol|
497
501
  pol['id'] == policyname or pol['name'] == policyname
498
502
  end
499
- if policies.size == 0
500
- return nil
503
+ if selected_policies.size == 0
504
+ raise TenableRuby::Error::TenableError, "Policy #{policyname} does not exist in this Tenable account"
501
505
  end
502
- policy = policies.first
506
+ policy = selected_policies.first
503
507
  template_uuid = policy['template_uuid']
504
508
  settings = Hash.new
505
509
  settings.merge!(@quick_defaults)
@@ -507,11 +511,15 @@ module TenableRuby
507
511
  settings['name'] = name
508
512
  settings['policy_id'] = policy['id']
509
513
  unless foldername.nil?
510
- folders = list_folders['folders'].select do |folder|
514
+ folders = list_folders['folders']
515
+ if folders.nil?
516
+ raise TenableRuby::Error::TenableError, "Tenable API request 'list_folders' responded with 'nil'"
517
+ end
518
+ selected_folders = folders.select do |folder|
511
519
  folder['name'] == foldername
512
520
  end
513
- unless folders.size == 0
514
- settings['folder_id'] = folders.first['id']
521
+ unless selected_folders.size == 0
522
+ settings['folder_id'] = selected_folders.first['id']
515
523
  end
516
524
  end
517
525
  unless scanner_id.nil?
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tenable-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Patrick Craston
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-06-07 00:00:00.000000000 Z
11
+ date: 2019-06-26 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |-
14
14
  Ruby library for communicating with the tenable.io API.