adsmedia 1.0.2 → 1.0.3

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/adsmedia.rb +20 -1
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 137ce92f000af85b6e17c98bd57a9aa83dba3bdfbb9cc66dd5304ed438aa9599
4
- data.tar.gz: 34302ccb5e38d1b79bf90c46f7b1e67a64c50cb3481a5956aa1c1996ca17ecc5
3
+ metadata.gz: adbb36f04c8c28b75da49b71b4e2e9a271d54bd801aae42e7cb3f068ffa7b41f
4
+ data.tar.gz: b953919792ba5efbca1719277105b922ba92a707144581a9edfbed3d03ef63a7
5
5
  SHA512:
6
- metadata.gz: 5f2d04e7de3c57294ea85cb20ac628076b5500eb79ef653bbac3fa10e64645dc6beab2fa1dce6cff86db8a8587c0c0d80f32149d4496438f28785f3cea4d2367
7
- data.tar.gz: dfe1bd226f91447bb00357696fde27b6f2b2931f8ed4caf6bc29561e435b608014093a40502724a9ebba0721feb84b589d721aebf92975250edaf1bfe4b00395
6
+ metadata.gz: 33a7b8603aed56ee53d30f6dcbf68bc41a1e6fa8f07abe24d8606d6b40055ae043c9bd2a2e94e5ba8df6bd5348a0ad91744b81a0e2e3de45bc072fbb00305614
7
+ data.tar.gz: 48039a9e9b2859387acc6c04004567e142661d3e9ef7e60e75f392756950fc2a883583122891c2d0f94e0768d8f176c3c48fc0538bfce856e9dda6f8ce6701da
data/lib/adsmedia.rb CHANGED
@@ -138,7 +138,26 @@ module ADSMedia
138
138
 
139
139
  def handle_response(response)
140
140
  data = response.body
141
- raise ADSMediaError, data['error']['message'] || 'API Error' unless data['success']
141
+
142
+ # Handle non-JSON responses
143
+ unless data.is_a?(Hash)
144
+ raise ADSMediaError, "Invalid response: #{response.status} - #{data.to_s[0..200]}"
145
+ end
146
+
147
+ # Handle error responses
148
+ unless data['success']
149
+ error_msg = if data['error'].is_a?(Hash)
150
+ data['error']['message'] || data['error'].to_s
151
+ elsif data['error']
152
+ data['error'].to_s
153
+ elsif data['message']
154
+ data['message']
155
+ else
156
+ "HTTP #{response.status}: #{data.to_s[0..200]}"
157
+ end
158
+ raise ADSMediaError, error_msg
159
+ end
160
+
142
161
  data['data']
143
162
  end
144
163
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adsmedia
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - ADSMedia