mintsoft 0.1.0 → 0.1.1

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: 489ff03aa24f063091490ef90057d880e2ae2f181627e9a6bea31ceefdb30149
4
- data.tar.gz: '0291ff21beb0f80946eeb3795ee7c98e8e1e45cf7a504fb6995229d72eca6f81'
3
+ metadata.gz: 5d4e347c511df39663a170a502c452dc78cfe870b6015d197f1720bf8c36616e
4
+ data.tar.gz: d0da7297752a5f056353dae41fb898f91cb8a8b621c3fc43536a998156ab5918
5
5
  SHA512:
6
- metadata.gz: 2c6a650aa2ad9a7c3fc2269763fc8cdcf7bc62f19b24af653500c4c27d56e2cb52e6147b8662a7b8705580976aef6b4a70f1d6063069debbcf6cd49865a4c36a
7
- data.tar.gz: 7b8722786821c4d3adabfb7b7fdb7495af8cb0a08c0bdc8272a0667fe2f39e227e846885cfdbae7720568943ebf203fd5279aca49c05517b90851fd910ef2e08
6
+ metadata.gz: ba56fd482853bbcbc970069a86ea43c6285733d2e21572176e7ae5ad2cc61919c3a9ac01f8e93f79a2092257966905ab4aa72b6804e9ffe04bab5c5f5ccea783
7
+ data.tar.gz: 831997f21475cccf9555d7cbe3604ae65e20a6828bea8cae8adfedc7d65c03cf5eb9a307cc9d47a07eb1b9b26006aa60d425faf060b130d7921960ed43094e70
data/lib/mintsoft/base.rb CHANGED
@@ -6,7 +6,10 @@ require "ostruct"
6
6
 
7
7
  module Mintsoft
8
8
  class Base < OpenStruct
9
+ attr_reader :original_response
10
+
9
11
  def initialize(attributes)
12
+ @original_response = deep_freeze_object(attributes)
10
13
  super to_ostruct(attributes)
11
14
  end
12
15
 
@@ -27,6 +30,17 @@ module Mintsoft
27
30
 
28
31
  private
29
32
 
33
+ def deep_freeze_object(obj)
34
+ case obj
35
+ when Hash
36
+ obj.transform_values { |value| deep_freeze_object(value) }.freeze
37
+ when Array
38
+ obj.map { |item| deep_freeze_object(item) }.freeze
39
+ else
40
+ obj.respond_to?(:freeze) ? obj.freeze : obj
41
+ end
42
+ end
43
+
30
44
  def ostruct_to_hash(object)
31
45
  case object
32
46
  when OpenStruct
@@ -1,5 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "json"
4
+
3
5
  module Mintsoft
4
6
  module Resources
5
7
  class Returns < BaseResource
@@ -19,13 +21,11 @@ module Mintsoft
19
21
  response = post_request("/api/Return/CreateReturn/#{order_id}")
20
22
 
21
23
  if response.success?
22
- # Extract return ID from ToolkitResult and create Return object
23
- return_id = extract_return_id(response.body)
24
- Objects::Return.new({
25
- "id" => return_id,
26
- "order_id" => order_id,
27
- "status" => "pending"
24
+ # Pass entire response to Return object, let Base class handle transformation
25
+ enhanced_response = response.body.merge({
26
+ "order_id" => order_id
28
27
  })
28
+ Objects::Return.new(enhanced_response)
29
29
  else
30
30
  handle_error(response)
31
31
  end
@@ -39,7 +39,15 @@ module Mintsoft
39
39
  response = post_request("/api/Return/#{return_id}/AddItem", body: payload)
40
40
 
41
41
  if response.success?
42
- true # Simple success indicator
42
+ # Ensure response.body is a Hash, parse if it's a String
43
+ response_data = response.body.is_a?(Hash) ? response.body : JSON.parse(response.body)
44
+
45
+ # Return the response as a Return object with original response preserved
46
+ enhanced_response = response_data.merge({
47
+ "return_id" => return_id,
48
+ "item_attributes" => item_attributes
49
+ })
50
+ Objects::Return.new(enhanced_response)
43
51
  else
44
52
  handle_error(response)
45
53
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mintsoft
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mintsoft
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Chong
@@ -101,6 +101,7 @@ extensions: []
101
101
  extra_rdoc_files: []
102
102
  files:
103
103
  - ".rspec"
104
+ - ".serena/cache/ruby/document_symbols_cache_v23-06-25.pkl"
104
105
  - ".serena/memories/code_style_conventions.md"
105
106
  - ".serena/memories/codebase_structure.md"
106
107
  - ".serena/memories/development_environment.md"