class Krb::Setup::AskShopifyAccessKey
Sets up configuration
Public Class Methods
new(setup)
click to toggle source
# File lib/krb/setup/ask_shopify_access_key.rb, line 9 def initialize(setup) @shop_name = setup.dig('shop_name') end
Public Instance Methods
process()
click to toggle source
# File lib/krb/setup/ask_shopify_access_key.rb, line 13 def process if graphql_endpoint? input else abort("\nInvalid credentials. Please try again.\n") return '' end end
Private Instance Methods
ask_phrase()
click to toggle source
# File lib/krb/setup/ask_shopify_access_key.rb, line 28 def ask_phrase 'Please enter your shopify storefront access key : ' end
graphql_endpoint?()
click to toggle source
# File lib/krb/setup/ask_shopify_access_key.rb, line 32 def graphql_endpoint? response = HTTP.headers(graphql_headers).post(graphql_url, body: graphql_payload) response.code == 200 end
graphql_headers()
click to toggle source
# File lib/krb/setup/ask_shopify_access_key.rb, line 37 def graphql_headers { 'Content-Type' => 'application/graphql', 'X-Shopify-Storefront-Access-Token' => input } end
graphql_payload()
click to toggle source
# File lib/krb/setup/ask_shopify_access_key.rb, line 44 def graphql_payload '{ shop { name } }' end
graphql_url()
click to toggle source
# File lib/krb/setup/ask_shopify_access_key.rb, line 48 def graphql_url "https://#{@shop_name}.myshopify.com/api/graphql" end
input()
click to toggle source
# File lib/krb/setup/ask_shopify_access_key.rb, line 24 def input @input ||= prompt.mask(ask_phrase) { |q| q.required true } end