suggestgrid 0.1.32.rc2 → 0.2.0.rc4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/lib/{suggest_grid → suggestgrid}/api_helper.rb +80 -56
  4. data/lib/{suggest_grid → suggestgrid}/configuration.rb +1 -2
  5. data/lib/{suggest_grid → suggestgrid}/controllers/action_controller.rb +17 -17
  6. data/lib/{suggest_grid → suggestgrid}/controllers/base_controller.rb +5 -5
  7. data/lib/{suggest_grid → suggestgrid}/controllers/metadata_controller.rb +22 -22
  8. data/lib/{suggest_grid → suggestgrid}/controllers/recommendation_controller.rb +8 -8
  9. data/lib/{suggest_grid → suggestgrid}/controllers/similarity_controller.rb +8 -8
  10. data/lib/{suggest_grid → suggestgrid}/controllers/type_controller.rb +10 -10
  11. data/lib/{suggest_grid/exceptions/delete_error_response_exception.rb → suggestgrid/exceptions/delete_error_response_error_exception.rb} +9 -9
  12. data/lib/{suggest_grid/exceptions/detailed_error_response_exception.rb → suggestgrid/exceptions/detailed_error_response_error_exception.rb} +7 -7
  13. data/lib/{suggest_grid/exceptions/error_response_exception.rb → suggestgrid/exceptions/error_response_error_exception.rb} +6 -6
  14. data/lib/{suggest_grid/exceptions/limit_exceeded_error_response_exception.rb → suggestgrid/exceptions/limit_exceeded_error_response_error_exception.rb} +8 -8
  15. data/lib/{suggest_grid → suggestgrid}/http/faraday_client.rb +5 -7
  16. data/lib/{suggest_grid → suggestgrid}/http/http_call_back.rb +4 -4
  17. data/lib/{suggest_grid → suggestgrid}/http/http_client.rb +3 -3
  18. data/lib/{suggest_grid → suggestgrid}/http/http_context.rb +1 -1
  19. data/lib/{suggest_grid → suggestgrid}/http/http_method_enum.rb +1 -1
  20. data/lib/{suggest_grid → suggestgrid}/http/http_request.rb +4 -4
  21. data/lib/{suggest_grid → suggestgrid}/http/http_response.rb +2 -2
  22. data/lib/{suggest_grid → suggestgrid}/models/action.rb +22 -32
  23. data/lib/suggestgrid/models/actions_response.rb +56 -0
  24. data/lib/{suggest_grid → suggestgrid}/models/base_model.rb +0 -17
  25. data/lib/suggestgrid/models/bulk_post_error.rb +51 -0
  26. data/lib/suggestgrid/models/bulk_post_response.rb +47 -0
  27. data/lib/suggestgrid/models/delete_success_response.rb +60 -0
  28. data/lib/{suggest_grid → suggestgrid}/models/get_recommended_items_body.rb +42 -52
  29. data/lib/{suggest_grid → suggestgrid}/models/get_recommended_users_body.rb +42 -52
  30. data/lib/{suggest_grid → suggestgrid}/models/get_similar_items_body.rb +34 -44
  31. data/lib/{suggest_grid → suggestgrid}/models/get_similar_users_body.rb +34 -44
  32. data/lib/suggestgrid/models/get_type_response.rb +33 -0
  33. data/lib/suggestgrid/models/get_types_response.rb +33 -0
  34. data/lib/suggestgrid/models/items_response.rb +56 -0
  35. data/lib/suggestgrid/models/message_response.rb +33 -0
  36. data/lib/suggestgrid/models/metadata.rb +49 -0
  37. data/lib/suggestgrid/models/type_request_body.rb +33 -0
  38. data/lib/suggestgrid/models/users_response.rb +56 -0
  39. data/lib/suggestgrid.rb +55 -0
  40. data/spec/swagger.yaml +3 -8
  41. metadata +45 -45
  42. data/lib/suggest_grid/models/actions_response.rb +0 -66
  43. data/lib/suggest_grid/models/bulk_post_error.rb +0 -61
  44. data/lib/suggest_grid/models/bulk_post_response.rb +0 -57
  45. data/lib/suggest_grid/models/delete_success_response.rb +0 -70
  46. data/lib/suggest_grid/models/get_type_response.rb +0 -43
  47. data/lib/suggest_grid/models/get_types_response.rb +0 -43
  48. data/lib/suggest_grid/models/items_response.rb +0 -66
  49. data/lib/suggest_grid/models/message_response.rb +0 -43
  50. data/lib/suggest_grid/models/metadata.rb +0 -43
  51. data/lib/suggest_grid/models/type_request_body.rb +0 -43
  52. data/lib/suggest_grid/models/users_response.rb +0 -66
  53. data/lib/suggest_grid.rb +0 -55
  54. /data/lib/{suggest_grid → suggestgrid}/exceptions/api_exception.rb +0 -0
  55. /data/lib/{suggest_grid → suggestgrid}/http/auth/basic_auth.rb +0 -0
  56. /data/lib/{suggest_grid/suggest_grid_client.rb → suggestgrid/suggestgrid_client.rb} +0 -0
@@ -1,7 +1,7 @@
1
1
  # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
2
 
3
3
  module SuggestGrid
4
- class DeleteErrorResponseException < APIException
4
+ class DeleteErrorResponseErrorException < APIException
5
5
  # Message of the response.
6
6
  # @return [String]
7
7
  attr_accessor :error_text
@@ -37,16 +37,16 @@ module SuggestGrid
37
37
  rescue TypeError
38
38
  end
39
39
  end
40
-
40
+
41
41
  # Populates this object by extracting properties from a hash.
42
42
  # @param [Hash] The deserialized response sent by the server in the response body.
43
43
  def unbox(hash)
44
- @error_text = hash["error_text"]
45
- @error_description = hash["error_description"]
46
- @error_uri = hash["error_uri"]
47
- @found = hash["found"]
48
- @deleted = hash["deleted"]
49
- @failed = hash["failed"]
44
+ @error_text = hash['error_text']
45
+ @error_description = hash['error_description']
46
+ @error_uri = hash['error_uri']
47
+ @found = hash['found']
48
+ @deleted = hash['deleted']
49
+ @failed = hash['failed']
50
50
  end
51
51
  end
52
- end
52
+ end
@@ -1,7 +1,7 @@
1
1
  # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
2
 
3
3
  module SuggestGrid
4
- class DetailedErrorResponseException < APIException
4
+ class DetailedErrorResponseErrorException < APIException
5
5
  # Message of the response.
6
6
  # @return [String]
7
7
  attr_accessor :error_text
@@ -29,14 +29,14 @@ module SuggestGrid
29
29
  rescue TypeError
30
30
  end
31
31
  end
32
-
32
+
33
33
  # Populates this object by extracting properties from a hash.
34
34
  # @param [Hash] The deserialized response sent by the server in the response body.
35
35
  def unbox(hash)
36
- @error_text = hash["error_text"]
37
- @error_description = hash["error_description"]
38
- @error_uri = hash["error_uri"]
39
- @error_details = hash["error_details"]
36
+ @error_text = hash['error_text']
37
+ @error_description = hash['error_description']
38
+ @error_uri = hash['error_uri']
39
+ @error_details = hash['error_details']
40
40
  end
41
41
  end
42
- end
42
+ end
@@ -1,7 +1,7 @@
1
1
  # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
2
 
3
3
  module SuggestGrid
4
- class ErrorResponseException < APIException
4
+ class ErrorResponseErrorException < APIException
5
5
  # Message of the response.
6
6
  # @return [String]
7
7
  attr_accessor :error_text
@@ -25,13 +25,13 @@ module SuggestGrid
25
25
  rescue TypeError
26
26
  end
27
27
  end
28
-
28
+
29
29
  # Populates this object by extracting properties from a hash.
30
30
  # @param [Hash] The deserialized response sent by the server in the response body.
31
31
  def unbox(hash)
32
- @error_text = hash["error_text"]
33
- @error_description = hash["error_description"]
34
- @error_uri = hash["error_uri"]
32
+ @error_text = hash['error_text']
33
+ @error_description = hash['error_description']
34
+ @error_uri = hash['error_uri']
35
35
  end
36
36
  end
37
- end
37
+ end
@@ -1,7 +1,7 @@
1
1
  # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
2
 
3
3
  module SuggestGrid
4
- class LimitExceededErrorResponseException < APIException
4
+ class LimitExceededErrorResponseErrorException < APIException
5
5
  # Message of the response.
6
6
  # @return [String]
7
7
  attr_accessor :error_text
@@ -33,15 +33,15 @@ module SuggestGrid
33
33
  rescue TypeError
34
34
  end
35
35
  end
36
-
36
+
37
37
  # Populates this object by extracting properties from a hash.
38
38
  # @param [Hash] The deserialized response sent by the server in the response body.
39
39
  def unbox(hash)
40
- @error_text = hash["error_text"]
41
- @error_description = hash["error_description"]
42
- @error_uri = hash["error_uri"]
43
- @used = hash["used"]
44
- @limit = hash["limit"]
40
+ @error_text = hash['error_text']
41
+ @error_description = hash['error_description']
42
+ @error_uri = hash['error_uri']
43
+ @used = hash['used']
44
+ @limit = hash['limit']
45
45
  end
46
46
  end
47
- end
47
+ end
@@ -13,33 +13,31 @@ module SuggestGrid
13
13
  faraday.adapter Faraday.default_adapter
14
14
  faraday.options[:params_encoder] = Faraday::FlatParamsEncoder
15
15
  faraday.options[:open_timeout] = timeout if timeout
16
- faraday.request :retry, max: max_retries, interval: retry_interval if (max_retries and retry_interval)
16
+ faraday.request :retry, max: max_retries, interval: retry_interval if (max_retries && retry_interval)
17
17
  end
18
18
  end
19
19
 
20
20
  # Method overridden from HttpClient.
21
21
  def execute_as_string(http_request)
22
- response = @connection.send(http_request.http_method.downcase, http_request.query_url) do |request|
22
+ response = @connection.send(http_request.http_method.downcase, http_request.query_url) do |request|
23
23
  request.headers = http_request.headers
24
24
  request.body = http_request.parameters
25
25
  end
26
-
27
26
  return convert_response(response)
28
27
  end
29
28
 
30
29
  # Method overridden from HttpClient.
31
30
  def execute_as_binary(http_request)
32
- response = @connection.send(http_request.http_method.downcase, http_request.query_url) do |request|
31
+ response = @connection.send(http_request.http_method.downcase, http_request.query_url) do |request|
33
32
  request.headers = http_request.headers
34
33
  request.body = http_request.parameters
35
34
  end
36
-
37
35
  return convert_response(response)
38
36
  end
39
37
 
40
38
  # Method overridden from HttpClient.
41
39
  def convert_response(response)
42
- return HttpResponse.new(response.status, response.headers, response.body)
40
+ HttpResponse.new(response.status, response.headers, response.body)
43
41
  end
44
42
  end
45
- end
43
+ end
@@ -5,13 +5,13 @@ module SuggestGrid
5
5
  # A controller will call this method before making an HTTP Request.
6
6
  # @param [HttpRequest] The HttpRequest object which the HttpClient will execute.
7
7
  def on_before_request(http_request)
8
- raise NotImplementedError, "This method needs to be implemented in a child class."
8
+ raise NotImplementedError, 'This method needs to be implemented in a child class.'
9
9
  end
10
-
10
+
11
11
  # A controller will call this method after making an HTTP Request.
12
12
  # @param [HttpContext] The HttpContext of the API call.
13
13
  def on_after_response(http_context)
14
- raise NotImplementedError, "This method needs to be implemented in a child class."
14
+ raise NotImplementedError, 'This method needs to be implemented in a child class.'
15
15
  end
16
16
  end
17
- end
17
+ end
@@ -5,19 +5,19 @@ module SuggestGrid
5
5
  # Execute an HttpRequest when the response is expected to be a string.
6
6
  # @param [HttpRequest] The HttpRequest to be executed.
7
7
  def execute_as_string(http_request)
8
- raise NotImplementedError, "This method needs to be implemented in a child class."
8
+ raise NotImplementedError, 'This method needs to be implemented in a child class.'
9
9
  end
10
10
 
11
11
  # Execute an HttpRequest when the response is expected to be binary.
12
12
  # @param [HttpRequest] The HttpRequest to be executed.
13
13
  def execute_as_binary(http_request)
14
- raise NotImplementedError, "This method needs to be implemented in a child class."
14
+ raise NotImplementedError, 'This method needs to be implemented in a child class.'
15
15
  end
16
16
 
17
17
  # Converts the HTTP Response from the client to an HttpResponse object.
18
18
  # @param [Dynamic] The response object received from the client.
19
19
  def convert_response(response)
20
- raise NotImplementedError, "This method needs to be implemented in a child class."
20
+ raise NotImplementedError, 'This method needs to be implemented in a child class.'
21
21
  end
22
22
 
23
23
  # Get a GET HttpRequest object.
@@ -12,4 +12,4 @@ module SuggestGrid
12
12
  @response = response
13
13
  end
14
14
  end
15
- end
15
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module SuggestGrid
4
4
  class HttpMethodEnum
5
- HTTPMETHODENUM = [GET = "GET", POST = "POST", PUT = "PUT", PATCH = "PATCH", DELETE = "DELETE"]
5
+ HTTPMETHODENUM = [GET = 'GET', POST = 'POST', PUT = 'PUT', PATCH = 'PATCH', DELETE = 'DELETE']
6
6
  end
7
7
  end
@@ -4,7 +4,7 @@ module SuggestGrid
4
4
  class HttpRequest
5
5
  attr_accessor :http_method, :query_url, :headers, :parameters, :username, :password
6
6
 
7
- # The constructor.
7
+ # The constructor.
8
8
  # @param [HttpMethodEnum] The HTTP method.
9
9
  # @param [String] The URL to send the request to.
10
10
  # @param [Hash, Optional] The headers for the HTTP Request.
@@ -25,19 +25,19 @@ module SuggestGrid
25
25
  def add_header(name, value)
26
26
  @headers[name] = value
27
27
  end
28
-
28
+
29
29
  # Add a parameter to the HttpRequest.
30
30
  # @param [String] The name of the parameter.
31
31
  # @param [String] The value of the parameter.
32
32
  def add_parameter(name, value)
33
33
  @parameters[name] = value
34
34
  end
35
-
35
+
36
36
  # Add a query parameter to the HttpRequest.
37
37
  # @param [String] The name of the query parameter.
38
38
  # @param [String] The value of the query parameter.
39
39
  def add_query_parameter(name, value)
40
- @query_url = APIHelper.append_url_with_query_parameters(@query_url, {name => value})
40
+ @query_url = APIHelper.append_url_with_query_parameters(@query_url, name => value)
41
41
  @query_url = APIHelper.clean_url(@query_url)
42
42
  end
43
43
  end
@@ -3,8 +3,8 @@
3
3
  module SuggestGrid
4
4
  class HttpResponse
5
5
  attr_accessor :status_code, :headers, :raw_body
6
-
7
- # The constructor.
6
+
7
+ # The constructor
8
8
  # @param [Integer] The status code returned by the server.
9
9
  # @param [Hash] The headers sent by the server in the response.
10
10
  # @param [String] The raw body of the response.
@@ -24,56 +24,46 @@ module SuggestGrid
24
24
 
25
25
  # A mapping from model property names to API property names
26
26
  def self.names
27
- if @hash.nil?
28
- @hash = {}
29
- @hash["type"] = "type"
30
- @hash["user_id"] = "user_id"
31
- @hash["item_id"] = "item_id"
32
- @hash["rating"] = "rating"
33
- @hash["timestamp"] = "timestamp"
27
+ if @_hash.nil?
28
+ @_hash = {}
29
+ @_hash["type"] = "type"
30
+ @_hash["user_id"] = "user_id"
31
+ @_hash["item_id"] = "item_id"
32
+ @_hash["rating"] = "rating"
33
+ @_hash["timestamp"] = "timestamp"
34
34
  end
35
- @hash
35
+ @_hash
36
36
  end
37
37
 
38
38
  def initialize(type = nil,
39
39
  user_id = nil,
40
40
  item_id = nil,
41
41
  rating = nil,
42
- timestamp = nil,
43
- additional_properties = {})
42
+ timestamp = nil)
44
43
  @type = type
45
44
  @user_id = user_id
46
45
  @item_id = item_id
47
46
  @rating = rating
48
47
  @timestamp = timestamp
49
-
50
- # Add additional model properties to the instance
51
- additional_properties.each {|name, value| instance_variable_set("@#{name}", value)}
52
48
  end
53
49
 
54
50
  # Creates an instance of the object from a hash
55
51
  def self.from_hash(hash)
56
- if hash == nil
57
- nil
58
- else
59
- # Extract variables from the hash
60
- type = hash["type"]
61
- user_id = hash["user_id"]
62
- item_id = hash["item_id"]
63
- rating = hash["rating"]
64
- timestamp = hash["timestamp"]
52
+ return nil unless hash
65
53
 
66
- # Clean out expected properties from Hash
67
- names.values.each {|k| hash.delete(k)}
54
+ # Extract variables from the hash
55
+ type = hash['type']
56
+ user_id = hash['user_id']
57
+ item_id = hash['item_id']
58
+ rating = hash['rating']
59
+ timestamp = hash['timestamp']
68
60
 
69
- # Create object from extracted values
70
- Action.new(type,
71
- user_id,
72
- item_id,
73
- rating,
74
- timestamp,
75
- hash)
76
- end
61
+ # Create object from extracted values
62
+ Action.new(type,
63
+ user_id,
64
+ item_id,
65
+ rating,
66
+ timestamp)
77
67
  end
78
68
  end
79
69
  end
@@ -0,0 +1,56 @@
1
+ # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module SuggestGrid
4
+ class ActionsResponse < BaseModel
5
+ # The number of actions in the response.
6
+ # @return [Long]
7
+ attr_accessor :count
8
+
9
+ # The total number of actions.
10
+ # @return [Long]
11
+ attr_accessor :total_count
12
+
13
+ # The total number of actions.
14
+ # @return [List of Action]
15
+ attr_accessor :actions
16
+
17
+ # A mapping from model property names to API property names
18
+ def self.names
19
+ if @_hash.nil?
20
+ @_hash = {}
21
+ @_hash["count"] = "count"
22
+ @_hash["total_count"] = "total_count"
23
+ @_hash["actions"] = "actions"
24
+ end
25
+ @_hash
26
+ end
27
+
28
+ def initialize(count = nil,
29
+ total_count = nil,
30
+ actions = nil)
31
+ @count = count
32
+ @total_count = total_count
33
+ @actions = actions
34
+ end
35
+
36
+ # Creates an instance of the object from a hash
37
+ def self.from_hash(hash)
38
+ return nil unless hash
39
+
40
+ # Extract variables from the hash
41
+ count = hash['count']
42
+ total_count = hash['total_count']
43
+ # Parameter is an array, so we need to iterate through it
44
+ actions = nil
45
+ if hash['actions'] != nil
46
+ actions = Array.new
47
+ hash['actions'].each{|structure| actions << (Action.from_hash(structure) if structure)}
48
+ end
49
+
50
+ # Create object from extracted values
51
+ ActionsResponse.new(count,
52
+ total_count,
53
+ actions)
54
+ end
55
+ end
56
+ end
@@ -28,22 +28,5 @@ module SuggestGrid
28
28
  hash = to_hash
29
29
  hash.to_json(options)
30
30
  end
31
-
32
- # Use to allow additional model properties
33
- def method_missing(method_sym, *arguments, &block)
34
- method = method_sym.to_s
35
- if method.end_with? '='
36
- instance_variable_set("@%s" % [method.chomp('=')], arguments.first)
37
- elsif instance_variable_defined?("@#{method}") && arguments.empty?
38
- instance_variable_get("@#{method}")
39
- else
40
- super
41
- end
42
- end
43
-
44
- # Override for additional model properties
45
- def respond_to?(method_sym, include_private=false)
46
- instance_variable_defined?("@#{method_sym}") ? true : super
47
- end
48
31
  end
49
32
  end
@@ -0,0 +1,51 @@
1
+ # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module SuggestGrid
4
+ class BulkPostError < BaseModel
5
+ # Message of the response.
6
+ # @return [String]
7
+ attr_accessor :message
8
+
9
+ # The cause of the error.
10
+ # @return [Object]
11
+ attr_accessor :value
12
+
13
+ # Programatic description of the error.
14
+ # @return [Object]
15
+ attr_accessor :error
16
+
17
+ # A mapping from model property names to API property names
18
+ def self.names
19
+ if @_hash.nil?
20
+ @_hash = {}
21
+ @_hash["message"] = "message"
22
+ @_hash["value"] = "value"
23
+ @_hash["error"] = "error"
24
+ end
25
+ @_hash
26
+ end
27
+
28
+ def initialize(message = nil,
29
+ value = nil,
30
+ error = nil)
31
+ @message = message
32
+ @value = value
33
+ @error = error
34
+ end
35
+
36
+ # Creates an instance of the object from a hash
37
+ def self.from_hash(hash)
38
+ return nil unless hash
39
+
40
+ # Extract variables from the hash
41
+ message = hash['message']
42
+ value = hash['value']
43
+ error = hash['error']
44
+
45
+ # Create object from extracted values
46
+ BulkPostError.new(message,
47
+ value,
48
+ error)
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,47 @@
1
+ # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module SuggestGrid
4
+ class BulkPostResponse < BaseModel
5
+ # Message of the response.
6
+ # @return [String]
7
+ attr_accessor :message
8
+
9
+ # Message of the response.
10
+ # @return [List of BulkPostError]
11
+ attr_accessor :errors
12
+
13
+ # A mapping from model property names to API property names
14
+ def self.names
15
+ if @_hash.nil?
16
+ @_hash = {}
17
+ @_hash["message"] = "message"
18
+ @_hash["errors"] = "errors"
19
+ end
20
+ @_hash
21
+ end
22
+
23
+ def initialize(message = nil,
24
+ errors = nil)
25
+ @message = message
26
+ @errors = errors
27
+ end
28
+
29
+ # Creates an instance of the object from a hash
30
+ def self.from_hash(hash)
31
+ return nil unless hash
32
+
33
+ # Extract variables from the hash
34
+ message = hash['message']
35
+ # Parameter is an array, so we need to iterate through it
36
+ errors = nil
37
+ if hash['errors'] != nil
38
+ errors = Array.new
39
+ hash['errors'].each{|structure| errors << (BulkPostError.from_hash(structure) if structure)}
40
+ end
41
+
42
+ # Create object from extracted values
43
+ BulkPostResponse.new(message,
44
+ errors)
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,60 @@
1
+ # This file was automatically generated for SuggestGrid by APIMATIC v2.0 ( https://apimatic.io ).
2
+
3
+ module SuggestGrid
4
+ class DeleteSuccessResponse < BaseModel
5
+ # Message of the response.
6
+ # @return [String]
7
+ attr_accessor :message
8
+
9
+ # The number of records found.
10
+ # @return [Long]
11
+ attr_accessor :found
12
+
13
+ # The number of records deleted.
14
+ # @return [Long]
15
+ attr_accessor :deleted
16
+
17
+ # The number of records failed to be deleted.
18
+ # @return [Long]
19
+ attr_accessor :failed
20
+
21
+ # A mapping from model property names to API property names
22
+ def self.names
23
+ if @_hash.nil?
24
+ @_hash = {}
25
+ @_hash["message"] = "message"
26
+ @_hash["found"] = "found"
27
+ @_hash["deleted"] = "deleted"
28
+ @_hash["failed"] = "failed"
29
+ end
30
+ @_hash
31
+ end
32
+
33
+ def initialize(message = nil,
34
+ found = nil,
35
+ deleted = nil,
36
+ failed = nil)
37
+ @message = message
38
+ @found = found
39
+ @deleted = deleted
40
+ @failed = failed
41
+ end
42
+
43
+ # Creates an instance of the object from a hash
44
+ def self.from_hash(hash)
45
+ return nil unless hash
46
+
47
+ # Extract variables from the hash
48
+ message = hash['message']
49
+ found = hash['found']
50
+ deleted = hash['deleted']
51
+ failed = hash['failed']
52
+
53
+ # Create object from extracted values
54
+ DeleteSuccessResponse.new(message,
55
+ found,
56
+ deleted,
57
+ failed)
58
+ end
59
+ end
60
+ end