virustotalx 1.1.0 → 1.2.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f014d99e8a184fa94a9f2d696209672867c2d437c83bf094b49346078887b077
4
- data.tar.gz: 0ff81e8a4a61b7283a8d54fe329127d602b07847f8a62ca70f7aa4112b6a6187
3
+ metadata.gz: 29c0a2908fdf7c04604adbdf13e22e34883b71ccfa2ccdb803067a835d7feb47
4
+ data.tar.gz: 2c13fbcdcdc79cb3489825760fb62560693bb715191e75dd165c55d25e96ab89
5
5
  SHA512:
6
- metadata.gz: c957e719c7a2f9be34493128a95369f5a0bd0f0a534570f9466c70af1cec243daba9198b516cc21af576bd3f5d31b01a65dc017cd6a946663c6d9f3009906d04
7
- data.tar.gz: a0497c176fc774a95193452590226f9887792aed9a42a1e144859b0db99684195c75d1e6ca8eb5de833a00a72b506b86f88bf347f621ea3f84b865c4960ef4e5
6
+ metadata.gz: 22ae1e88179b146f4ae4569899567f01525228f2605143301c89f7d070fd8d2354d5db7c1c763d9a71cc6bafd78c30532851f9c97e718015feec74b8420307a4
7
+ data.tar.gz: 282f86c261ccfea33d66287d8d5e08c8d2efc2be7d9a1d4c7d91c14986492307ded9d8aa149522f17e328a402e8d08a474edefe5ac18adcd5695d15fe0b65c67
@@ -0,0 +1,26 @@
1
+ name: Ruby CI
2
+
3
+ on: [pull_request]
4
+
5
+ jobs:
6
+ build:
7
+
8
+ runs-on: ubuntu-latest
9
+
10
+ strategy:
11
+ fail-fast: false
12
+ matrix:
13
+ ruby: [2.7, '3.0']
14
+
15
+ steps:
16
+ - uses: actions/checkout@v2
17
+ - name: Set up Ruby
18
+ uses: ruby/setup-ruby@v1
19
+ with:
20
+ ruby-version: ${{ matrix.ruby }}
21
+ bundler-cache: true
22
+ - name: Build and test with Rake
23
+ run: |
24
+ gem install bundler
25
+ bundle install
26
+ bundle exec rake
data/.overcommit.yml ADDED
@@ -0,0 +1,9 @@
1
+ PreCommit:
2
+ BundleCheck:
3
+ enabled: true
4
+
5
+ RuboCop:
6
+ enabled: true
7
+ required_executable: bundle
8
+ command: ["bundle", "exec", "standardrb"]
9
+ on_warn: fail
data/.standard.yml ADDED
@@ -0,0 +1,4 @@
1
+ ignore:
2
+ - "**/*":
3
+ - Layout/SpaceInsideHashLiteralBraces
4
+ - Style/RescueStandardError
data/README.md CHANGED
@@ -1,7 +1,7 @@
1
1
  # virustotalx
2
2
 
3
3
  [![Gem Version](https://badge.fury.io/rb/virustotalx.svg)](https://badge.fury.io/rb/virustotalx)
4
- [![Build Status](https://travis-ci.org/ninoseki/virustotalx.svg?branch=master)](https://travis-ci.org/ninoseki/virustotalx)
4
+ [![Ruby CI](https://github.com/ninoseki/virustotalx/actions/workflows/test.yml/badge.svg)](https://github.com/ninoseki/virustotalx/actions/workflows/test.yml)
5
5
  [![Coverage Status](https://coveralls.io/repos/github/ninoseki/virustotalx/badge.svg?branch=master)](https://coveralls.io/github/ninoseki/virustotalx?branch=master)
6
6
  [![CodeFactor](https://www.codefactor.io/repository/github/ninoseki/virustotalx/badge)](https://www.codefactor.io/repository/github/ninoseki/virustotalx)
7
7
 
@@ -44,7 +44,7 @@ api.ip_address.get("1.1.1.1")
44
44
  ### Files
45
45
 
46
46
  | HTTP Method | URL | API method |
47
- | ----------- | ---------------------------------- | ---------------------------------------------------------- |
47
+ |-------------|------------------------------------|------------------------------------------------------------|
48
48
  | POST | /files | api.file.upload(filepath) |
49
49
  | GET | /files/upload_url | api.file.upload_url |
50
50
  | GET | /files/{id} | api.file.get(id) |
@@ -62,7 +62,7 @@ api.ip_address.get("1.1.1.1")
62
62
  ### URLs
63
63
 
64
64
  | HTTP Method | URL | API method |
65
- | ----------- | --------------------------- | -------------------------------------------------------------- |
65
+ |-------------|-----------------------------|----------------------------------------------------------------|
66
66
  | POST | /urls | N/A |
67
67
  | GET | /urls/{id} | api.url.get(id) |
68
68
  | POST | /urls/{id}/analyse | api.url.analyse(id) |
@@ -78,7 +78,7 @@ Note: you can use a URL as an id.
78
78
  ### Domains
79
79
 
80
80
  | HTTP Method | URL | API method |
81
- | ----------- | -------------------------------- | ------------------------------------------------------------ |
81
+ |-------------|----------------------------------|--------------------------------------------------------------|
82
82
  | GET | /domains/{domain} | api.domain.get(domain) |
83
83
  | GET | /domains/{domain}/comments | api.domain.comment(domain) |
84
84
  | POST | /domains/{domain}/comments | api.domain.add_comment(domain, text) |
@@ -87,7 +87,7 @@ Note: you can use a URL as an id.
87
87
  ### IP addresses
88
88
 
89
89
  | HTTP Method | URL | API method |
90
- | ----------- | --------------------------------- | ------------------------------------------------------------------------------- |
90
+ |-------------|-----------------------------------|---------------------------------------------------------------------------------|
91
91
  | GET | /ip_addresses/{ip} | api.ip_address.get(ip) |
92
92
  | GET | /ip_addresses/{ip}/comments | api.ip_address.comments(id) |
93
93
  | POST | /ip_addresses/{ip}/comments | api.ip_address.add_comment(id, text) |
@@ -96,13 +96,13 @@ Note: you can use a URL as an id.
96
96
  ### Analyses
97
97
 
98
98
  | HTTP Method | URL | API method |
99
- | ----------- | -------------- | -------------------- |
99
+ |-------------|----------------|----------------------|
100
100
  | GET | /analyses/{id} | api.analysis.get(ip) |
101
101
 
102
102
  ## Graphs
103
103
 
104
104
  | HTTP Method | URL | API method |
105
- | ----------- | ---------------------------------------------------- | ----------------------------------------------------------------------------------- |
105
+ |-------------|------------------------------------------------------|-------------------------------------------------------------------------------------|
106
106
  | GET | graphs | api.graph.search(filter: nil, limit: nil, cursor: nil, order: nil, attributes: nil) |
107
107
  | POST | graphs | api.graph.create(\*\*params) |
108
108
  | GET | graphs/{id} | api.graph.get(id) |
@@ -117,6 +117,12 @@ Note: you can use a URL as an id.
117
117
  | DELETE | graphs/{id}/relationships/editors/{user_or_group_id} | api.graph.delete_editor(id, user_or_group_id) |
118
118
  | GET | graphs/{id}/relationships/{relationship} | api.graph.`relationship`(id) |
119
119
 
120
+ ## Intelligence
121
+
122
+ | HTTP Method | URL | API method |
123
+ |-------------|---------------------|--------------------------------------------------------------------------------------------|
124
+ | GET | intelligence/search | api.intelligence.search(query, order: nil, limit: nil, cursor: nil, descriptors_only: nil) |
125
+
120
126
  ## License
121
127
 
122
128
  The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
data/Rakefile CHANGED
@@ -3,4 +3,4 @@ require "rspec/core/rake_task"
3
3
 
4
4
  RSpec::Core::RakeTask.new(:spec)
5
5
 
6
- task :default => :spec
6
+ task default: :spec
@@ -69,5 +69,14 @@ module VirusTotal
69
69
  def graph
70
70
  @graph ||= Client::Graph.new(key: key)
71
71
  end
72
+
73
+ #
74
+ # Intelligence API endpoint client
75
+ #
76
+ # @return [VirusTotal::Client::Intelligence]
77
+ #
78
+ def intelligence
79
+ @intelligence ||= Client::Intelligence.new(key: key)
80
+ end
72
81
  end
73
82
  end
@@ -16,8 +16,9 @@ module VirusTotal
16
16
  domain: "domains",
17
17
  file: "files",
18
18
  graph: "graphs",
19
+ intelligence: "intelligence",
19
20
  ipaddress: "ip_addresses",
20
- url: "urls",
21
+ url: "urls"
21
22
  }.freeze
22
23
 
23
24
  attr_reader :key
@@ -38,7 +39,8 @@ module VirusTotal
38
39
  end
39
40
 
40
41
  def https_options
41
- if proxy = ENV["HTTPS_PROXY"] || ENV["https_proxy"]
42
+ proxy = ENV["HTTPS_PROXY"] || ENV["https_proxy"]
43
+ if proxy
42
44
  uri = URI(proxy)
43
45
  {
44
46
  proxy_address: uri.hostname,
@@ -55,13 +57,13 @@ module VirusTotal
55
57
  code = code.to_s.to_sym
56
58
 
57
59
  table = {
58
- "400": BadRequestError,
59
- "401": AuthenticationRequiredError,
60
- "403": ForbiddenError,
61
- "404": NotFoundError,
62
- "409": AlreadyExistsError,
63
- "429": QuotaExceededError,
64
- "503": TransientError,
60
+ '400': BadRequestError,
61
+ '401': AuthenticationRequiredError,
62
+ '403': ForbiddenError,
63
+ '404': NotFoundError,
64
+ '409': AlreadyExistsError,
65
+ '429': QuotaExceededError,
66
+ '503': TransientError
65
67
  }
66
68
  raise Error, "Unsupported response code returned: #{code} - #{message}" unless table.key?(code)
67
69
 
@@ -78,7 +80,7 @@ module VirusTotal
78
80
  code = response.code.to_i
79
81
  body = response.body
80
82
  json = JSON.parse(body) if response["Content-Type"].to_s.include?("application/json")
81
- message = json ? json.dig("message") : body
83
+ message = json ? json["message"] : body
82
84
 
83
85
  case code
84
86
  when 200
@@ -114,7 +116,7 @@ module VirusTotal
114
116
  post = Net::HTTP::Post.new(url_for(path))
115
117
 
116
118
  data = [
117
- ["file", file, { "filename": filename }],
119
+ ["file", file, { filename: filename }]
118
120
  ]
119
121
  post.set_form(data, "multipart/form-data")
120
122
 
@@ -10,7 +10,7 @@ module VirusTotal
10
10
  private
11
11
 
12
12
  def relationships
13
- @relationships ||= %w(
13
+ @relationships ||= %w[
14
14
  communicating_files
15
15
  downloaded_files
16
16
  graphs
@@ -19,7 +19,7 @@ module VirusTotal
19
19
  resolutions
20
20
  siblings
21
21
  urls
22
- ).map(&:to_sym)
22
+ ].map(&:to_sym)
23
23
  end
24
24
  end
25
25
  end
@@ -89,7 +89,7 @@ module VirusTotal
89
89
  private
90
90
 
91
91
  def relationships
92
- @relationships ||= %w(
92
+ @relationships ||= %w[
93
93
  analyses
94
94
  behaviours
95
95
  bundled_files
@@ -112,7 +112,7 @@ module VirusTotal
112
112
  submissions
113
113
  screenshots
114
114
  votes
115
- ).map(&:to_sym)
115
+ ].map(&:to_sym)
116
116
  end
117
117
  end
118
118
  end
@@ -4,6 +4,7 @@ module VirusTotal
4
4
  module Client
5
5
  class Graph < Base
6
6
  include Action::Get
7
+ include Action::Relationships
7
8
 
8
9
  #
9
10
  # Return graphs.
@@ -181,14 +182,14 @@ module VirusTotal
181
182
  private
182
183
 
183
184
  def relationships
184
- @relationships ||= %w(
185
+ @relationships ||= %w[
185
186
  comments
186
187
  items
187
188
  viewers
188
189
  editors
189
190
  owner
190
191
  group
191
- ).map(&:to_sym)
192
+ ].map(&:to_sym)
192
193
  end
193
194
  end
194
195
  end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module VirusTotal
4
+ module Client
5
+ class Intelligence < Base
6
+ #
7
+ # Intelligense search
8
+ #
9
+ # @param [String] query Search query
10
+ # @param [String, nil] order Sort order
11
+ # @param [Integer, nil] limit Maximum number of results
12
+ # @param [String, nil] cursor Continuation cursor
13
+ # @param [Boolean, nil] descriptors_only Whether to return full object information or just object descriptors
14
+ #
15
+ # @return [Hash]
16
+ #
17
+ def search(query, order: nil, limit: nil, cursor: nil, descriptors_only: nil)
18
+ params = {
19
+ query: query,
20
+ order: order,
21
+ limit: limit,
22
+ cursor: cursor,
23
+ descriptors_only: descriptors_only
24
+ }.compact
25
+
26
+ _get("/#{name}/search", params) { |json| json }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -10,7 +10,7 @@ module VirusTotal
10
10
  private
11
11
 
12
12
  def relationships
13
- @relationships ||= %w(
13
+ @relationships ||= %w[
14
14
  communicating_files
15
15
  downloaded_files
16
16
  graphs
@@ -18,7 +18,7 @@ module VirusTotal
18
18
  referrer_files
19
19
  resolutions
20
20
  urls
21
- ).map(&:to_sym)
21
+ ].map(&:to_sym)
22
22
  end
23
23
  end
24
24
  end
@@ -45,14 +45,14 @@ module VirusTotal
45
45
  end
46
46
 
47
47
  def relationships
48
- @relationships ||= %w(
48
+ @relationships ||= %w[
49
49
  analyses
50
50
  downloaded_files
51
51
  graphs
52
52
  last_serving_ip_address
53
53
  redirecting_urls
54
54
  submissions
55
- ).map(&:to_sym)
55
+ ].map(&:to_sym)
56
56
  end
57
57
  end
58
58
  end
@@ -4,15 +4,26 @@ module VirusTotal
4
4
  class Error < StandardError; end
5
5
 
6
6
  class AlreadyExistsError < Error; end
7
+
7
8
  class AuthenticationRequiredError < Error; end
9
+
8
10
  class BadRequestError < Error; end
11
+
9
12
  class ForbiddenError < Error; end
13
+
10
14
  class InvalidArgumentError < Error; end
15
+
11
16
  class NotFoundError < Error; end
17
+
12
18
  class QuotaExceededError < Error; end
19
+
13
20
  class RateLimitError < Error; end
21
+
14
22
  class TooManyRequestsError < Error; end
23
+
15
24
  class TransientError < Error; end
25
+
16
26
  class UserNotActiveError < Error; end
27
+
17
28
  class WrongCredentialsError < Error; end
18
29
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module VirusTotal
4
- VERSION = "1.1.0"
4
+ VERSION = "1.2.0"
5
5
  end
data/lib/virustotal.rb CHANGED
@@ -17,8 +17,8 @@ require "virustotal/clients/analysis"
17
17
  require "virustotal/clients/domain"
18
18
  require "virustotal/clients/file"
19
19
  require "virustotal/clients/graph"
20
+ require "virustotal/clients/intelligence"
20
21
  require "virustotal/clients/ip_address"
21
22
  require "virustotal/clients/url"
22
23
 
23
- module VirusTotal
24
- end
24
+ module VirusTotal; end
data/renovate.json ADDED
@@ -0,0 +1,5 @@
1
+ {
2
+ "extends": [
3
+ "config:base"
4
+ ]
5
+ }
data/virustotalx.gemspec CHANGED
@@ -1,33 +1,35 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- lib = File.expand_path('lib', __dir__)
3
+ lib = File.expand_path("lib", __dir__)
4
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
5
  require "virustotal/version"
6
6
 
7
7
  Gem::Specification.new do |spec|
8
- spec.name = "virustotalx"
9
- spec.version = VirusTotal::VERSION
10
- spec.authors = ["Manabu Niseki"]
11
- spec.email = ["manabu.niseki@gmail.com"]
8
+ spec.name = "virustotalx"
9
+ spec.version = VirusTotal::VERSION
10
+ spec.authors = ["Manabu Niseki"]
11
+ spec.email = ["manabu.niseki@gmail.com"]
12
12
 
13
- spec.summary = "Yet another VirusTotal API wrapper for Ruby"
14
- spec.description = "Yet another VirusTotal API wrapper for Ruby"
15
- spec.homepage = "https://github.com/ninoseki/virustotalx"
16
- spec.license = "MIT"
13
+ spec.summary = "Yet another VirusTotal API wrapper for Ruby"
14
+ spec.description = "Yet another VirusTotal API wrapper for Ruby"
15
+ spec.homepage = "https://github.com/ninoseki/virustotalx"
16
+ spec.license = "MIT"
17
17
 
18
18
  # Specify which files should be added to the gem when it is released.
19
19
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
- spec.files = Dir.chdir(File.expand_path(__dir__)) do
20
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
21
21
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
22
22
  end
23
- spec.bindir = "exe"
24
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
+ spec.bindir = "exe"
24
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
25
25
  spec.require_paths = ["lib"]
26
26
 
27
- spec.add_development_dependency "bundler", "~> 2.0"
28
- spec.add_development_dependency "coveralls", "~> 0.8"
27
+ spec.add_development_dependency "bundler", "~> 2.2"
28
+ spec.add_development_dependency "coveralls_reborn", "~> 0.23"
29
+ spec.add_development_dependency "overcommit", "~> 0.58"
29
30
  spec.add_development_dependency "rake", "~> 13.0"
30
- spec.add_development_dependency "rspec", "~> 3.9"
31
- spec.add_development_dependency "vcr", "~> 5.0"
32
- spec.add_development_dependency "webmock", "~> 3.7"
31
+ spec.add_development_dependency "rspec", "~> 3.10"
32
+ spec.add_development_dependency "standard", "~> 1.3"
33
+ spec.add_development_dependency "vcr", "~> 6.0"
34
+ spec.add_development_dependency "webmock", "~> 3.14"
33
35
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: virustotalx
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manabu Niseki
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-10-19 00:00:00.000000000 Z
11
+ date: 2021-09-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -16,28 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.0'
19
+ version: '2.2'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.0'
26
+ version: '2.2'
27
27
  - !ruby/object:Gem::Dependency
28
- name: coveralls
28
+ name: coveralls_reborn
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.8'
33
+ version: '0.23'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.8'
40
+ version: '0.23'
41
+ - !ruby/object:Gem::Dependency
42
+ name: overcommit
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '0.58'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '0.58'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rake
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -58,42 +72,56 @@ dependencies:
58
72
  requirements:
59
73
  - - "~>"
60
74
  - !ruby/object:Gem::Version
61
- version: '3.9'
75
+ version: '3.10'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '3.10'
83
+ - !ruby/object:Gem::Dependency
84
+ name: standard
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '1.3'
62
90
  type: :development
63
91
  prerelease: false
64
92
  version_requirements: !ruby/object:Gem::Requirement
65
93
  requirements:
66
94
  - - "~>"
67
95
  - !ruby/object:Gem::Version
68
- version: '3.9'
96
+ version: '1.3'
69
97
  - !ruby/object:Gem::Dependency
70
98
  name: vcr
71
99
  requirement: !ruby/object:Gem::Requirement
72
100
  requirements:
73
101
  - - "~>"
74
102
  - !ruby/object:Gem::Version
75
- version: '5.0'
103
+ version: '6.0'
76
104
  type: :development
77
105
  prerelease: false
78
106
  version_requirements: !ruby/object:Gem::Requirement
79
107
  requirements:
80
108
  - - "~>"
81
109
  - !ruby/object:Gem::Version
82
- version: '5.0'
110
+ version: '6.0'
83
111
  - !ruby/object:Gem::Dependency
84
112
  name: webmock
85
113
  requirement: !ruby/object:Gem::Requirement
86
114
  requirements:
87
115
  - - "~>"
88
116
  - !ruby/object:Gem::Version
89
- version: '3.7'
117
+ version: '3.14'
90
118
  type: :development
91
119
  prerelease: false
92
120
  version_requirements: !ruby/object:Gem::Requirement
93
121
  requirements:
94
122
  - - "~>"
95
123
  - !ruby/object:Gem::Version
96
- version: '3.7'
124
+ version: '3.14'
97
125
  description: Yet another VirusTotal API wrapper for Ruby
98
126
  email:
99
127
  - manabu.niseki@gmail.com
@@ -101,9 +129,11 @@ executables: []
101
129
  extensions: []
102
130
  extra_rdoc_files: []
103
131
  files:
132
+ - ".github/workflows/test.yml"
104
133
  - ".gitignore"
134
+ - ".overcommit.yml"
105
135
  - ".rspec"
106
- - ".travis.yml"
136
+ - ".standard.yml"
107
137
  - Gemfile
108
138
  - LICENSE
109
139
  - README.md
@@ -121,17 +151,19 @@ files:
121
151
  - lib/virustotal/clients/domain.rb
122
152
  - lib/virustotal/clients/file.rb
123
153
  - lib/virustotal/clients/graph.rb
154
+ - lib/virustotal/clients/intelligence.rb
124
155
  - lib/virustotal/clients/ip_address.rb
125
156
  - lib/virustotal/clients/url.rb
126
157
  - lib/virustotal/errors.rb
127
158
  - lib/virustotal/version.rb
128
159
  - lib/virustotalx.rb
160
+ - renovate.json
129
161
  - virustotalx.gemspec
130
162
  homepage: https://github.com/ninoseki/virustotalx
131
163
  licenses:
132
164
  - MIT
133
165
  metadata: {}
134
- post_install_message:
166
+ post_install_message:
135
167
  rdoc_options: []
136
168
  require_paths:
137
169
  - lib
@@ -146,8 +178,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
146
178
  - !ruby/object:Gem::Version
147
179
  version: '0'
148
180
  requirements: []
149
- rubygems_version: 3.0.3
150
- signing_key:
181
+ rubygems_version: 3.2.22
182
+ signing_key:
151
183
  specification_version: 4
152
184
  summary: Yet another VirusTotal API wrapper for Ruby
153
185
  test_files: []
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.6.1
7
- before_install: gem install bundler -v 2.0.1