as_colour 0.1.0 → 0.2.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 +4 -4
- data/CHANGELOG.md +5 -0
- data/README.md +3 -1
- data/examples/catalog_products.rb +2 -2
- data/lib/as_colour/as_colour_error.rb +55 -55
- data/lib/as_colour/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 87eada8b0e45d7e472c9a513578120a69d5eb5e3f9670a6b28f548d81bd640fe
|
4
|
+
data.tar.gz: 2a3784d42b38cb82f63572ae193d03425c7fbd638912066ad6dec607dbe46047
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2f9ebb1a8aa93e3ecc1ab636a820acd95a535ec12bc25a694649cebfa89617598b495583cd5517f340da2814a68893023594fb6018d34804756d66980047c982
|
7
|
+
data.tar.gz: c18a03869a2fbd4d9c6302fac4d82d43b93be8b8c41c7efa2b6099ff562bbfdb7df4991942e7e2e7e38a9536e5deb68a2f801c7e283f169d459d6819bfef98a2
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -24,7 +24,9 @@ Or install it yourself as:
|
|
24
24
|
require 'as_colour'
|
25
25
|
|
26
26
|
auth = {
|
27
|
-
subscription_key: ENV['ASCOLOUR_SUBSCRIPTION_KEY']
|
27
|
+
subscription_key: ENV['ASCOLOUR_SUBSCRIPTION_KEY'],
|
28
|
+
email: ENV['ASCOLOUR_EMAIL'],
|
29
|
+
password: ENV['ASCOLOUR_PASSWORD']
|
28
30
|
}
|
29
31
|
|
30
32
|
client = AsColour::Client.new(auth)
|
@@ -13,8 +13,8 @@ ascolor_client = AsColour::Client.new(auth)
|
|
13
13
|
# Products List
|
14
14
|
# =========================================
|
15
15
|
|
16
|
-
ascolor_client.products.each do |
|
17
|
-
puts
|
16
|
+
ascolor_client.products.each do |product|
|
17
|
+
puts product
|
18
18
|
end
|
19
19
|
|
20
20
|
# Filter by color name
|
@@ -2,60 +2,60 @@
|
|
2
2
|
|
3
3
|
module AsColour
|
4
4
|
class AsColourError < StandardError
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
5
|
+
attr_reader :error
|
6
|
+
attr_reader :raw
|
7
|
+
attr_reader :response_code
|
8
|
+
|
9
|
+
def initialize(http_response)
|
10
|
+
@raw = http_response
|
11
|
+
@response_code = @raw.response_code
|
12
|
+
|
13
|
+
data = process_response_body
|
14
|
+
if data.nil?
|
15
|
+
set_default_error_message
|
16
|
+
else
|
17
|
+
@error = data
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def error?
|
22
|
+
true
|
23
|
+
end
|
24
|
+
|
25
|
+
def to_s
|
26
|
+
return remove_extra_quotes(@error) if @error.is_a?(String)
|
27
|
+
|
28
|
+
retval = @error.each_with_object([]) do |(key, value), str|
|
29
|
+
str_value = value.is_a?(Array) ? value.join(', ') : value
|
30
|
+
str_value = remove_extra_quotes(str_value)
|
31
|
+
str << "#{key}: #{str_value}"
|
32
|
+
end
|
33
|
+
retval.join(', ')
|
34
|
+
end
|
35
|
+
alias message to_s
|
36
|
+
|
37
|
+
private
|
38
|
+
|
39
|
+
def remove_extra_quotes(str)
|
40
|
+
str.to_s.tr('"', '')
|
41
|
+
end
|
42
|
+
|
43
|
+
def process_response_body
|
44
|
+
JSON.parse(@raw.body, symbolize_names: true).to_snake_keys unless @raw.body.empty?
|
45
|
+
rescue StandardError
|
46
|
+
@raw.body.strip
|
47
|
+
end
|
48
|
+
|
49
|
+
def set_default_error_message
|
50
|
+
require 'uri'
|
51
|
+
api_path = URI.parse(@raw.effective_url).path
|
52
|
+
@error = "ASColour API returned an error for #{api_path}."
|
53
|
+
|
54
|
+
if @response_code == 401
|
55
|
+
@error += ' Please check your credentials.'
|
56
|
+
elsif @response_code == 404
|
57
|
+
@error += ' Please check your API path.'
|
58
|
+
end
|
59
|
+
end
|
60
60
|
end
|
61
61
|
end
|
data/lib/as_colour/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: as_colour
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wes Hays
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-05-
|
11
|
+
date: 2025-05-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: typhoeus
|