cloudmersive-virus-scan-api-client 1.2.9 → 1.3.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: 38d570e030484ee07ddb56932df34c61380c773dc7c6d5824f0598492b126d14
4
- data.tar.gz: d175d8a3a61450d0f0bb8de704701a69275c4d11eaeeb0d32d8dcc7d014db626
3
+ metadata.gz: 6ab657198529a457e44b7cd0fe9f000ba92157fcf5c3b877e611f3fc9e3e3b14
4
+ data.tar.gz: dbbaf7736d944a5aa34c9c06334b339a309fecc8cd9ecd1146c5406ee282af24
5
5
  SHA512:
6
- metadata.gz: 27a8cb85ef5646a65b391992b4fb273eda759b452f908240b83e19a926d6f9482bcd23d0354dda49cd9a7e819c5569ed3c4b244b9b039a5614506d7d2df5818f
7
- data.tar.gz: ee159d9dde4112800d5ae65720b54146fe2e0abe481ecdbc2869d4ae5657e018f5818bdb1d0b995bbcdd4902fa54fcccdd8e32b8c718555514498c1bf38f14f4
6
+ metadata.gz: c6f5cf69ab63b1631d9edeb516ac8349df8099a753a137af88edc435a142cdfade582c7cea669b8e7ef37aba41434543a9a1391f31108edae41beb2bfca1fd01
7
+ data.tar.gz: 640d17746bc5445339a1c26a2bd3a5e006eaa0109a29f349a686fc8174e1ff2143ef60e4c1744a5162609b397be85d0600b3a528fd3a899ec752bcf0563532d6
data/README.md CHANGED
@@ -7,7 +7,7 @@ Virus API lets you scan files and content for viruses and identify security issu
7
7
  This SDK is automatically generated by the [Swagger Codegen](https://github.com/swagger-api/swagger-codegen) project:
8
8
 
9
9
  - API version: v1
10
- - Package version: 1.2.9
10
+ - Package version: 1.3.0
11
11
  - Build package: io.swagger.codegen.languages.RubyClientCodegen
12
12
 
13
13
  ## Installation
@@ -23,15 +23,15 @@ gem build cloudmersive-virus-scan-api-client.gemspec
23
23
  Then either install the gem locally:
24
24
 
25
25
  ```shell
26
- gem install ./cloudmersive-virus-scan-api-client-1.2.9.gem
26
+ gem install ./cloudmersive-virus-scan-api-client-1.3.0.gem
27
27
  ```
28
- (for development, run `gem install --dev ./cloudmersive-virus-scan-api-client-1.2.9.gem` to install the development dependencies)
28
+ (for development, run `gem install --dev ./cloudmersive-virus-scan-api-client-1.3.0.gem` to install the development dependencies)
29
29
 
30
30
  or publish the gem to a gem hosting service, e.g. [RubyGems](https://rubygems.org/).
31
31
 
32
32
  Finally add this to the Gemfile:
33
33
 
34
- gem 'cloudmersive-virus-scan-api-client', '~> 1.2.9'
34
+ gem 'cloudmersive-virus-scan-api-client', '~> 1.3.0'
35
35
 
36
36
  ### Install from Git
37
37
 
@@ -84,12 +84,15 @@ All URIs are relative to *https://api.cloudmersive.com*
84
84
  Class | Method | HTTP request | Description
85
85
  ------------ | ------------- | ------------- | -------------
86
86
  *CloudmersiveVirusScanApiClient::ScanApi* | [**scan_file**](docs/ScanApi.md#scan_file) | **POST** /virus/scan/file | Scan a file for viruses
87
+ *CloudmersiveVirusScanApiClient::ScanApi* | [**scan_website**](docs/ScanApi.md#scan_website) | **POST** /virus/scan/website | Scan a website for malicious content including viruses and threats (including Phishing)
87
88
 
88
89
 
89
90
  ## Documentation for Models
90
91
 
91
92
  - [CloudmersiveVirusScanApiClient::VirusFound](docs/VirusFound.md)
92
93
  - [CloudmersiveVirusScanApiClient::VirusScanResult](docs/VirusScanResult.md)
94
+ - [CloudmersiveVirusScanApiClient::WebsiteScanRequest](docs/WebsiteScanRequest.md)
95
+ - [CloudmersiveVirusScanApiClient::WebsiteScanResult](docs/WebsiteScanResult.md)
93
96
 
94
97
 
95
98
  ## Documentation for Authorization
@@ -5,6 +5,7 @@ All URIs are relative to *https://api.cloudmersive.com*
5
5
  Method | HTTP request | Description
6
6
  ------------- | ------------- | -------------
7
7
  [**scan_file**](ScanApi.md#scan_file) | **POST** /virus/scan/file | Scan a file for viruses
8
+ [**scan_website**](ScanApi.md#scan_website) | **POST** /virus/scan/website | Scan a website for malicious content including viruses and threats (including Phishing)
8
9
 
9
10
 
10
11
  # **scan_file**
@@ -59,3 +60,55 @@ Name | Type | Description | Notes
59
60
 
60
61
 
61
62
 
63
+ # **scan_website**
64
+ > WebsiteScanResult scan_website(input)
65
+
66
+ Scan a website for malicious content including viruses and threats (including Phishing)
67
+
68
+ ### Example
69
+ ```ruby
70
+ # load the gem
71
+ require 'cloudmersive-virus-scan-api-client'
72
+ # setup authorization
73
+ CloudmersiveVirusScanApiClient.configure do |config|
74
+ # Configure API key authorization: Apikey
75
+ config.api_key['Apikey'] = 'YOUR API KEY'
76
+ # Uncomment the following line to set a prefix for the API key, e.g. 'Bearer' (defaults to nil)
77
+ #config.api_key_prefix['Apikey'] = 'Bearer'
78
+ end
79
+
80
+ api_instance = CloudmersiveVirusScanApiClient::ScanApi.new
81
+
82
+ input = CloudmersiveVirusScanApiClient::WebsiteScanRequest.new # WebsiteScanRequest |
83
+
84
+
85
+ begin
86
+ #Scan a website for malicious content including viruses and threats (including Phishing)
87
+ result = api_instance.scan_website(input)
88
+ p result
89
+ rescue CloudmersiveVirusScanApiClient::ApiError => e
90
+ puts "Exception when calling ScanApi->scan_website: #{e}"
91
+ end
92
+ ```
93
+
94
+ ### Parameters
95
+
96
+ Name | Type | Description | Notes
97
+ ------------- | ------------- | ------------- | -------------
98
+ **input** | [**WebsiteScanRequest**](WebsiteScanRequest.md)| |
99
+
100
+ ### Return type
101
+
102
+ [**WebsiteScanResult**](WebsiteScanResult.md)
103
+
104
+ ### Authorization
105
+
106
+ [Apikey](../README.md#Apikey)
107
+
108
+ ### HTTP request headers
109
+
110
+ - **Content-Type**: application/json, text/json, application/xml, text/xml, application/x-www-form-urlencoded
111
+ - **Accept**: application/json, text/json, application/xml, text/xml
112
+
113
+
114
+
@@ -0,0 +1,8 @@
1
+ # CloudmersiveVirusScanApiClient::WebsiteScanRequest
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **url** | **String** | URL of the website to scan; should begin with http:// or https:// | [optional]
7
+
8
+
@@ -0,0 +1,9 @@
1
+ # CloudmersiveVirusScanApiClient::WebsiteScanResult
2
+
3
+ ## Properties
4
+ Name | Type | Description | Notes
5
+ ------------ | ------------- | ------------- | -------------
6
+ **clean_result** | **BOOLEAN** | True if the scan contained no threats, false otherwise | [optional]
7
+ **website_threat_type** | **String** | Type of threat returned; can be None, Malware, ForcedDownload or Phishing | [optional]
8
+
9
+
@@ -19,6 +19,8 @@ require 'cloudmersive-virus-scan-api-client/configuration'
19
19
  # Models
20
20
  require 'cloudmersive-virus-scan-api-client/models/virus_found'
21
21
  require 'cloudmersive-virus-scan-api-client/models/virus_scan_result'
22
+ require 'cloudmersive-virus-scan-api-client/models/website_scan_request'
23
+ require 'cloudmersive-virus-scan-api-client/models/website_scan_result'
22
24
 
23
25
  # APIs
24
26
  require 'cloudmersive-virus-scan-api-client/api/scan_api'
@@ -75,5 +75,60 @@ module CloudmersiveVirusScanApiClient
75
75
  end
76
76
  return data, status_code, headers
77
77
  end
78
+
79
+ # Scan a website for malicious content including viruses and threats (including Phishing)
80
+ #
81
+ # @param input
82
+ # @param [Hash] opts the optional parameters
83
+ # @return [WebsiteScanResult]
84
+ def scan_website(input, opts = {})
85
+ data, _status_code, _headers = scan_website_with_http_info(input, opts)
86
+ return data
87
+ end
88
+
89
+ # Scan a website for malicious content including viruses and threats (including Phishing)
90
+ #
91
+ # @param input
92
+ # @param [Hash] opts the optional parameters
93
+ # @return [Array<(WebsiteScanResult, Fixnum, Hash)>] WebsiteScanResult data, response status code and response headers
94
+ def scan_website_with_http_info(input, opts = {})
95
+ if @api_client.config.debugging
96
+ @api_client.config.logger.debug "Calling API: ScanApi.scan_website ..."
97
+ end
98
+ # verify the required parameter 'input' is set
99
+ if @api_client.config.client_side_validation && input.nil?
100
+ fail ArgumentError, "Missing the required parameter 'input' when calling ScanApi.scan_website"
101
+ end
102
+ # resource path
103
+ local_var_path = "/virus/scan/website"
104
+
105
+ # query parameters
106
+ query_params = {}
107
+
108
+ # header parameters
109
+ header_params = {}
110
+ # HTTP header 'Accept' (if needed)
111
+ header_params['Accept'] = @api_client.select_header_accept(['application/json', 'text/json', 'application/xml', 'text/xml'])
112
+ # HTTP header 'Content-Type'
113
+ header_params['Content-Type'] = @api_client.select_header_content_type(['application/json', 'text/json', 'application/xml', 'text/xml', 'application/x-www-form-urlencoded'])
114
+
115
+ # form parameters
116
+ form_params = {}
117
+
118
+ # http body (model)
119
+ post_body = @api_client.object_to_http_body(input)
120
+ auth_names = ['Apikey']
121
+ data, status_code, headers = @api_client.call_api(:POST, local_var_path,
122
+ :header_params => header_params,
123
+ :query_params => query_params,
124
+ :form_params => form_params,
125
+ :body => post_body,
126
+ :auth_names => auth_names,
127
+ :return_type => 'WebsiteScanResult')
128
+ if @api_client.config.debugging
129
+ @api_client.config.logger.debug "API called: ScanApi#scan_website\nData: #{data.inspect}\nStatus code: #{status_code}\nHeaders: #{headers}"
130
+ end
131
+ return data, status_code, headers
132
+ end
78
133
  end
79
134
  end
@@ -0,0 +1,189 @@
1
+ =begin
2
+ #virusapi
3
+
4
+ #Virus API lets you scan files and content for viruses and identify security issues with content.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: unset
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudmersiveVirusScanApiClient
16
+ # Request to scan a website for malicious content
17
+ class WebsiteScanRequest
18
+ # URL of the website to scan; should begin with http:// or https://
19
+ attr_accessor :url
20
+
21
+
22
+ # Attribute mapping from ruby-style variable name to JSON key.
23
+ def self.attribute_map
24
+ {
25
+ :'url' => :'Url'
26
+ }
27
+ end
28
+
29
+ # Attribute type mapping.
30
+ def self.swagger_types
31
+ {
32
+ :'url' => :'String'
33
+ }
34
+ end
35
+
36
+ # Initializes the object
37
+ # @param [Hash] attributes Model attributes in the form of hash
38
+ def initialize(attributes = {})
39
+ return unless attributes.is_a?(Hash)
40
+
41
+ # convert string to symbol for hash key
42
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
43
+
44
+ if attributes.has_key?(:'Url')
45
+ self.url = attributes[:'Url']
46
+ end
47
+
48
+ end
49
+
50
+ # Show invalid properties with the reasons. Usually used together with valid?
51
+ # @return Array for valid properties with the reasons
52
+ def list_invalid_properties
53
+ invalid_properties = Array.new
54
+ return invalid_properties
55
+ end
56
+
57
+ # Check to see if the all the properties in the model are valid
58
+ # @return true if the model is valid
59
+ def valid?
60
+ return true
61
+ end
62
+
63
+ # Checks equality by comparing each attribute.
64
+ # @param [Object] Object to be compared
65
+ def ==(o)
66
+ return true if self.equal?(o)
67
+ self.class == o.class &&
68
+ url == o.url
69
+ end
70
+
71
+ # @see the `==` method
72
+ # @param [Object] Object to be compared
73
+ def eql?(o)
74
+ self == o
75
+ end
76
+
77
+ # Calculates hash code according to all attributes.
78
+ # @return [Fixnum] Hash code
79
+ def hash
80
+ [url].hash
81
+ end
82
+
83
+ # Builds the object from hash
84
+ # @param [Hash] attributes Model attributes in the form of hash
85
+ # @return [Object] Returns the model itself
86
+ def build_from_hash(attributes)
87
+ return nil unless attributes.is_a?(Hash)
88
+ self.class.swagger_types.each_pair do |key, type|
89
+ if type =~ /\AArray<(.*)>/i
90
+ # check to ensure the input is an array given that the the attribute
91
+ # is documented as an array but the input is not
92
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
93
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
94
+ end
95
+ elsif !attributes[self.class.attribute_map[key]].nil?
96
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
97
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
98
+ end
99
+
100
+ self
101
+ end
102
+
103
+ # Deserializes the data based on type
104
+ # @param string type Data type
105
+ # @param string value Value to be deserialized
106
+ # @return [Object] Deserialized data
107
+ def _deserialize(type, value)
108
+ case type.to_sym
109
+ when :DateTime
110
+ DateTime.parse(value)
111
+ when :Date
112
+ Date.parse(value)
113
+ when :String
114
+ value.to_s
115
+ when :Integer
116
+ value.to_i
117
+ when :Float
118
+ value.to_f
119
+ when :BOOLEAN
120
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
121
+ true
122
+ else
123
+ false
124
+ end
125
+ when :Object
126
+ # generic object (usually a Hash), return directly
127
+ value
128
+ when /\AArray<(?<inner_type>.+)>\z/
129
+ inner_type = Regexp.last_match[:inner_type]
130
+ value.map { |v| _deserialize(inner_type, v) }
131
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
132
+ k_type = Regexp.last_match[:k_type]
133
+ v_type = Regexp.last_match[:v_type]
134
+ {}.tap do |hash|
135
+ value.each do |k, v|
136
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
137
+ end
138
+ end
139
+ else # model
140
+ temp_model = CloudmersiveVirusScanApiClient.const_get(type).new
141
+ temp_model.build_from_hash(value)
142
+ end
143
+ end
144
+
145
+ # Returns the string representation of the object
146
+ # @return [String] String presentation of the object
147
+ def to_s
148
+ to_hash.to_s
149
+ end
150
+
151
+ # to_body is an alias to to_hash (backward compatibility)
152
+ # @return [Hash] Returns the object in the form of hash
153
+ def to_body
154
+ to_hash
155
+ end
156
+
157
+ # Returns the object in the form of hash
158
+ # @return [Hash] Returns the object in the form of hash
159
+ def to_hash
160
+ hash = {}
161
+ self.class.attribute_map.each_pair do |attr, param|
162
+ value = self.send(attr)
163
+ next if value.nil?
164
+ hash[param] = _to_hash(value)
165
+ end
166
+ hash
167
+ end
168
+
169
+ # Outputs non-array value in the form of hash
170
+ # For object, use to_hash. Otherwise, just return the value
171
+ # @param [Object] value Any valid value
172
+ # @return [Hash] Returns the value in the form of hash
173
+ def _to_hash(value)
174
+ if value.is_a?(Array)
175
+ value.compact.map{ |v| _to_hash(v) }
176
+ elsif value.is_a?(Hash)
177
+ {}.tap do |hash|
178
+ value.each { |k, v| hash[k] = _to_hash(v) }
179
+ end
180
+ elsif value.respond_to? :to_hash
181
+ value.to_hash
182
+ else
183
+ value
184
+ end
185
+ end
186
+
187
+ end
188
+
189
+ end
@@ -0,0 +1,232 @@
1
+ =begin
2
+ #virusapi
3
+
4
+ #Virus API lets you scan files and content for viruses and identify security issues with content.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: unset
10
+
11
+ =end
12
+
13
+ require 'date'
14
+
15
+ module CloudmersiveVirusScanApiClient
16
+ # Result of running a website scan
17
+ class WebsiteScanResult
18
+ # True if the scan contained no threats, false otherwise
19
+ attr_accessor :clean_result
20
+
21
+ # Type of threat returned; can be None, Malware, ForcedDownload or Phishing
22
+ attr_accessor :website_threat_type
23
+
24
+ class EnumAttributeValidator
25
+ attr_reader :datatype
26
+ attr_reader :allowable_values
27
+
28
+ def initialize(datatype, allowable_values)
29
+ @allowable_values = allowable_values.map do |value|
30
+ case datatype.to_s
31
+ when /Integer/i
32
+ value.to_i
33
+ when /Float/i
34
+ value.to_f
35
+ else
36
+ value
37
+ end
38
+ end
39
+ end
40
+
41
+ def valid?(value)
42
+ !value || allowable_values.include?(value)
43
+ end
44
+ end
45
+
46
+ # Attribute mapping from ruby-style variable name to JSON key.
47
+ def self.attribute_map
48
+ {
49
+ :'clean_result' => :'CleanResult',
50
+ :'website_threat_type' => :'WebsiteThreatType'
51
+ }
52
+ end
53
+
54
+ # Attribute type mapping.
55
+ def self.swagger_types
56
+ {
57
+ :'clean_result' => :'BOOLEAN',
58
+ :'website_threat_type' => :'String'
59
+ }
60
+ end
61
+
62
+ # Initializes the object
63
+ # @param [Hash] attributes Model attributes in the form of hash
64
+ def initialize(attributes = {})
65
+ return unless attributes.is_a?(Hash)
66
+
67
+ # convert string to symbol for hash key
68
+ attributes = attributes.each_with_object({}){|(k,v), h| h[k.to_sym] = v}
69
+
70
+ if attributes.has_key?(:'CleanResult')
71
+ self.clean_result = attributes[:'CleanResult']
72
+ end
73
+
74
+ if attributes.has_key?(:'WebsiteThreatType')
75
+ self.website_threat_type = attributes[:'WebsiteThreatType']
76
+ end
77
+
78
+ end
79
+
80
+ # Show invalid properties with the reasons. Usually used together with valid?
81
+ # @return Array for valid properties with the reasons
82
+ def list_invalid_properties
83
+ invalid_properties = Array.new
84
+ return invalid_properties
85
+ end
86
+
87
+ # Check to see if the all the properties in the model are valid
88
+ # @return true if the model is valid
89
+ def valid?
90
+ website_threat_type_validator = EnumAttributeValidator.new('String', ["None", "Malware", "Phishing", "ForcedDownload"])
91
+ return false unless website_threat_type_validator.valid?(@website_threat_type)
92
+ return true
93
+ end
94
+
95
+ # Custom attribute writer method checking allowed values (enum).
96
+ # @param [Object] website_threat_type Object to be assigned
97
+ def website_threat_type=(website_threat_type)
98
+ validator = EnumAttributeValidator.new('String', ["None", "Malware", "Phishing", "ForcedDownload"])
99
+ unless validator.valid?(website_threat_type)
100
+ fail ArgumentError, "invalid value for 'website_threat_type', must be one of #{validator.allowable_values}."
101
+ end
102
+ @website_threat_type = website_threat_type
103
+ end
104
+
105
+ # Checks equality by comparing each attribute.
106
+ # @param [Object] Object to be compared
107
+ def ==(o)
108
+ return true if self.equal?(o)
109
+ self.class == o.class &&
110
+ clean_result == o.clean_result &&
111
+ website_threat_type == o.website_threat_type
112
+ end
113
+
114
+ # @see the `==` method
115
+ # @param [Object] Object to be compared
116
+ def eql?(o)
117
+ self == o
118
+ end
119
+
120
+ # Calculates hash code according to all attributes.
121
+ # @return [Fixnum] Hash code
122
+ def hash
123
+ [clean_result, website_threat_type].hash
124
+ end
125
+
126
+ # Builds the object from hash
127
+ # @param [Hash] attributes Model attributes in the form of hash
128
+ # @return [Object] Returns the model itself
129
+ def build_from_hash(attributes)
130
+ return nil unless attributes.is_a?(Hash)
131
+ self.class.swagger_types.each_pair do |key, type|
132
+ if type =~ /\AArray<(.*)>/i
133
+ # check to ensure the input is an array given that the the attribute
134
+ # is documented as an array but the input is not
135
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
136
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map{ |v| _deserialize($1, v) } )
137
+ end
138
+ elsif !attributes[self.class.attribute_map[key]].nil?
139
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
140
+ end # or else data not found in attributes(hash), not an issue as the data can be optional
141
+ end
142
+
143
+ self
144
+ end
145
+
146
+ # Deserializes the data based on type
147
+ # @param string type Data type
148
+ # @param string value Value to be deserialized
149
+ # @return [Object] Deserialized data
150
+ def _deserialize(type, value)
151
+ case type.to_sym
152
+ when :DateTime
153
+ DateTime.parse(value)
154
+ when :Date
155
+ Date.parse(value)
156
+ when :String
157
+ value.to_s
158
+ when :Integer
159
+ value.to_i
160
+ when :Float
161
+ value.to_f
162
+ when :BOOLEAN
163
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
164
+ true
165
+ else
166
+ false
167
+ end
168
+ when :Object
169
+ # generic object (usually a Hash), return directly
170
+ value
171
+ when /\AArray<(?<inner_type>.+)>\z/
172
+ inner_type = Regexp.last_match[:inner_type]
173
+ value.map { |v| _deserialize(inner_type, v) }
174
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
175
+ k_type = Regexp.last_match[:k_type]
176
+ v_type = Regexp.last_match[:v_type]
177
+ {}.tap do |hash|
178
+ value.each do |k, v|
179
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
180
+ end
181
+ end
182
+ else # model
183
+ temp_model = CloudmersiveVirusScanApiClient.const_get(type).new
184
+ temp_model.build_from_hash(value)
185
+ end
186
+ end
187
+
188
+ # Returns the string representation of the object
189
+ # @return [String] String presentation of the object
190
+ def to_s
191
+ to_hash.to_s
192
+ end
193
+
194
+ # to_body is an alias to to_hash (backward compatibility)
195
+ # @return [Hash] Returns the object in the form of hash
196
+ def to_body
197
+ to_hash
198
+ end
199
+
200
+ # Returns the object in the form of hash
201
+ # @return [Hash] Returns the object in the form of hash
202
+ def to_hash
203
+ hash = {}
204
+ self.class.attribute_map.each_pair do |attr, param|
205
+ value = self.send(attr)
206
+ next if value.nil?
207
+ hash[param] = _to_hash(value)
208
+ end
209
+ hash
210
+ end
211
+
212
+ # Outputs non-array value in the form of hash
213
+ # For object, use to_hash. Otherwise, just return the value
214
+ # @param [Object] value Any valid value
215
+ # @return [Hash] Returns the value in the form of hash
216
+ def _to_hash(value)
217
+ if value.is_a?(Array)
218
+ value.compact.map{ |v| _to_hash(v) }
219
+ elsif value.is_a?(Hash)
220
+ {}.tap do |hash|
221
+ value.each { |k, v| hash[k] = _to_hash(v) }
222
+ end
223
+ elsif value.respond_to? :to_hash
224
+ value.to_hash
225
+ else
226
+ value
227
+ end
228
+ end
229
+
230
+ end
231
+
232
+ end
@@ -11,5 +11,5 @@ Swagger Codegen version: unset
11
11
  =end
12
12
 
13
13
  module CloudmersiveVirusScanApiClient
14
- VERSION = "1.2.9"
14
+ VERSION = "1.3.0"
15
15
  end
@@ -44,4 +44,16 @@ describe 'ScanApi' do
44
44
  end
45
45
  end
46
46
 
47
+ # unit tests for scan_website
48
+ # Scan a website for malicious content including viruses and threats (including Phishing)
49
+ #
50
+ # @param input
51
+ # @param [Hash] opts the optional parameters
52
+ # @return [WebsiteScanResult]
53
+ describe 'scan_website test' do
54
+ it "should work" do
55
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
56
+ end
57
+ end
58
+
47
59
  end
@@ -0,0 +1,42 @@
1
+ =begin
2
+ #virusapi
3
+
4
+ #Virus API lets you scan files and content for viruses and identify security issues with content.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: unset
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for CloudmersiveVirusScanApiClient::WebsiteScanRequest
18
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
19
+ # Please update as you see appropriate
20
+ describe 'WebsiteScanRequest' do
21
+ before do
22
+ # run before each test
23
+ @instance = CloudmersiveVirusScanApiClient::WebsiteScanRequest.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of WebsiteScanRequest' do
31
+ it 'should create an instance of WebsiteScanRequest' do
32
+ expect(@instance).to be_instance_of(CloudmersiveVirusScanApiClient::WebsiteScanRequest)
33
+ end
34
+ end
35
+ describe 'test attribute "url"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ end
42
+
@@ -0,0 +1,52 @@
1
+ =begin
2
+ #virusapi
3
+
4
+ #Virus API lets you scan files and content for viruses and identify security issues with content.
5
+
6
+ OpenAPI spec version: v1
7
+
8
+ Generated by: https://github.com/swagger-api/swagger-codegen.git
9
+ Swagger Codegen version: unset
10
+
11
+ =end
12
+
13
+ require 'spec_helper'
14
+ require 'json'
15
+ require 'date'
16
+
17
+ # Unit tests for CloudmersiveVirusScanApiClient::WebsiteScanResult
18
+ # Automatically generated by swagger-codegen (github.com/swagger-api/swagger-codegen)
19
+ # Please update as you see appropriate
20
+ describe 'WebsiteScanResult' do
21
+ before do
22
+ # run before each test
23
+ @instance = CloudmersiveVirusScanApiClient::WebsiteScanResult.new
24
+ end
25
+
26
+ after do
27
+ # run after each test
28
+ end
29
+
30
+ describe 'test an instance of WebsiteScanResult' do
31
+ it 'should create an instance of WebsiteScanResult' do
32
+ expect(@instance).to be_instance_of(CloudmersiveVirusScanApiClient::WebsiteScanResult)
33
+ end
34
+ end
35
+ describe 'test attribute "clean_result"' do
36
+ it 'should work' do
37
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
38
+ end
39
+ end
40
+
41
+ describe 'test attribute "website_threat_type"' do
42
+ it 'should work' do
43
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
44
+ #validator = Petstore::EnumTest::EnumAttributeValidator.new('String', ["None", "Malware", "Phishing", "ForcedDownload"])
45
+ #validator.allowable_values.each do |value|
46
+ # expect { @instance.website_threat_type = value }.not_to raise_error
47
+ #end
48
+ end
49
+ end
50
+
51
+ end
52
+
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cloudmersive-virus-scan-api-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.9
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cloudmersive
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-04 00:00:00.000000000 Z
11
+ date: 2019-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: typhoeus
@@ -205,6 +205,8 @@ files:
205
205
  - "./docs/ScanApi.md"
206
206
  - "./docs/VirusFound.md"
207
207
  - "./docs/VirusScanResult.md"
208
+ - "./docs/WebsiteScanRequest.md"
209
+ - "./docs/WebsiteScanResult.md"
208
210
  - "./git_push.sh"
209
211
  - "./lib/cloudmersive-virus-scan-api-client.rb"
210
212
  - "./lib/cloudmersive-virus-scan-api-client/api/scan_api.rb"
@@ -213,12 +215,16 @@ files:
213
215
  - "./lib/cloudmersive-virus-scan-api-client/configuration.rb"
214
216
  - "./lib/cloudmersive-virus-scan-api-client/models/virus_found.rb"
215
217
  - "./lib/cloudmersive-virus-scan-api-client/models/virus_scan_result.rb"
218
+ - "./lib/cloudmersive-virus-scan-api-client/models/website_scan_request.rb"
219
+ - "./lib/cloudmersive-virus-scan-api-client/models/website_scan_result.rb"
216
220
  - "./lib/cloudmersive-virus-scan-api-client/version.rb"
217
221
  - "./spec/api/scan_api_spec.rb"
218
222
  - "./spec/api_client_spec.rb"
219
223
  - "./spec/configuration_spec.rb"
220
224
  - "./spec/models/virus_found_spec.rb"
221
225
  - "./spec/models/virus_scan_result_spec.rb"
226
+ - "./spec/models/website_scan_request_spec.rb"
227
+ - "./spec/models/website_scan_result_spec.rb"
222
228
  - "./spec/spec_helper.rb"
223
229
  homepage: https://www.cloudmersive.com/virus-api
224
230
  licenses: