Class: ShopifyAPI::Webhooks::Registration
- Inherits:
-
Object
- Object
- ShopifyAPI::Webhooks::Registration
show all
- Extended by:
- T::Helpers, T::Sig
- Defined in:
- lib/shopify_api/webhooks/registration.rb
Constant Summary
collapse
- FIELDS_DELIMITER =
","
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(topic:, path:, handler: nil, fields: nil) ⇒ Registration
Returns a new instance of Registration.
26
27
28
29
30
31
32
|
# File 'lib/shopify_api/webhooks/registration.rb', line 26
def initialize(topic:, path:, handler: nil, fields: nil)
@topic = T.let(topic.gsub("/", "_").upcase, String)
@path = path
@handler = handler
fields_array = fields.is_a?(String) ? fields.split(FIELDS_DELIMITER) : fields
@fields = T.let(fields_array&.map(&:strip)&.compact, T.nilable(T::Array[String]))
end
|
Instance Attribute Details
#fields ⇒ Object
Returns the value of attribute fields.
20
21
22
|
# File 'lib/shopify_api/webhooks/registration.rb', line 20
def fields
@fields
end
|
#handler ⇒ Object
Returns the value of attribute handler.
17
18
19
|
# File 'lib/shopify_api/webhooks/registration.rb', line 17
def handler
@handler
end
|
#topic ⇒ Object
Returns the value of attribute topic.
14
15
16
|
# File 'lib/shopify_api/webhooks/registration.rb', line 14
def topic
@topic
end
|
Instance Method Details
#build_check_query ⇒ Object
44
|
# File 'lib/shopify_api/webhooks/registration.rb', line 44
def build_check_query; end
|
#build_register_query(webhook_id: nil) ⇒ Object
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/shopify_api/webhooks/registration.rb', line 50
def build_register_query(webhook_id: nil)
identifier = webhook_id ? "id: \"#{webhook_id}\"" : "topic: #{@topic}"
subscription_args_string = subscription_args.map do |k, v|
"#{k}: #{k == :includeFields ? v : '"' + v + '"'}"
end.join(", ")
<<~QUERY
mutation webhookSubscription {
#{mutation_name(webhook_id)}(#{identifier}, webhookSubscription: {#{subscription_args_string}}) {
userErrors {
field
message
}
webhookSubscription {
id#{@fields.nil? ? "" : "\n includeFields"}
}
}
}
QUERY
end
|
#callback_address ⇒ Object
35
|
# File 'lib/shopify_api/webhooks/registration.rb', line 35
def callback_address; end
|
#mutation_name(webhook_id) ⇒ Object
41
|
# File 'lib/shopify_api/webhooks/registration.rb', line 41
def mutation_name(webhook_id); end
|
#parse_check_result(body) ⇒ Object
47
|
# File 'lib/shopify_api/webhooks/registration.rb', line 47
def parse_check_result(body); end
|
#subscription_args ⇒ Object
38
|
# File 'lib/shopify_api/webhooks/registration.rb', line 38
def subscription_args; end
|