mintsoft 0.1.8 → 0.1.9

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: f2794a34f86aaf4b8893894ad55ee7540b5d2aed7615696b3a4182d1dcdc46ab
4
- data.tar.gz: 3ccf116643c9649630adf9d236b3d265c123688f89872f1454771e5d2189bc5e
3
+ metadata.gz: 9b07eb48344fbc2e9350b4dfb180155f25849e2e07b6918089b577436b156ea3
4
+ data.tar.gz: a41f333869f6cee4e8e662aaf227fa10b4ae91221ccfb18df1140b42e7a09ff7
5
5
  SHA512:
6
- metadata.gz: 00f11f1b2b9dcf445d06f8a5545b9fc2bde79abfdb3f228a14cea0362856d5079fd22ed8befc8af22480bf0c2da83d807a1d9f240d8121ed15eb8589c62b81cd
7
- data.tar.gz: c588a47224828812dec6d1a7371d017159a401feaa31e04bd167160fa0939a583f786733954380f1010b38dbccc77c265fcb64d59068b20f6cd1f149be55b911
6
+ metadata.gz: 070433bc3da2e1357514c4aa98a0b7daea60e05403077beca76f9e7910cc1548d2ca6f71e7b8ee37db34a035def363ee793f9d27dab22a74e936bb93e2a1d842
7
+ data.tar.gz: 2e9a745d24b126e9bdf6a21b3bfddfe6fcc944683f323ed8c715b2a4c903cfd1be7b9dea7be2cfae954ca8d9b3a734d0efc4fbc66603f0208f0cd82772cc10ce
@@ -15,17 +15,39 @@ module Mintsoft
15
15
  end
16
16
  end
17
17
 
18
+ def retrieve(id)
19
+ validate_id!(id)
20
+ response = get_request("/api/Order/#{id}")
21
+
22
+ if response.status == 404
23
+ nil # Return nil for not found orders
24
+ else
25
+ response_data = handle_response(response)
26
+ parse_order(response_data)
27
+ end
28
+ end
29
+
18
30
  private
19
31
 
20
32
  def validate_order_number!(order_number)
21
33
  raise ValidationError, "Order number required" if order_number.nil? || order_number.empty?
22
34
  end
23
35
 
36
+ def validate_id!(id)
37
+ raise ValidationError, "ID must be present" if id.nil? || (id.respond_to?(:empty?) && id.empty?)
38
+ end
39
+
24
40
  def parse_orders(data)
25
41
  return [] unless data.is_a?(Array)
26
42
 
27
43
  data.map { |order_data| Objects::Order.new(order_data) }
28
44
  end
45
+
46
+ def parse_order(data)
47
+ return nil unless data.is_a?(Hash)
48
+
49
+ Objects::Order.new(data)
50
+ end
29
51
  end
30
52
  end
31
53
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Mintsoft
4
- VERSION = "0.1.8"
4
+ VERSION = "0.1.9"
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.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Chong