module ZendeskAppsTools::APIConnection
Constants
- DEFAULT_URL_TEMPLATE
- EMAIL_ERROR_MSG
- EMAIL_REGEX
- PROMPT_FOR_URL
- SUBDOMAIN_VALIDATION_PATTERN
taken from zendesk/lib/vars.rb
- URL_ERROR_MSG
- ZENDESK_URL_VALIDATION_PATTERN
Public Instance Methods
get_connection(encoding = :url_encoded)
click to toggle source
# File lib/zendesk_apps_tools/api_connection.rb, line 27 def get_connection(encoding = :url_encoded) require 'net/http' require 'faraday' prepare_api_auth unless @subdomain && @username && @password Faraday.new full_url do |f| f.request encoding if encoding f.adapter :net_http f.basic_auth @username, @password end end
prepare_api_auth()
click to toggle source
# File lib/zendesk_apps_tools/api_connection.rb, line 17 def prepare_api_auth @subdomain ||= ENV['ZAT_URL'] || cache.fetch('subdomain') || get_value_from_stdin(PROMPT_FOR_URL) say_error_and_exit URL_ERROR_MSG unless valid_subdomain? || valid_full_url? @username ||= ENV['ZAT_USERNAME'] || cache.fetch('username', @subdomain) || get_value_from_stdin('Enter your username:') say_error_and_exit EMAIL_ERROR_MSG unless valid_email? @password ||= ENV['ZAT_PASSWORD'] || cache.fetch('password', @subdomain) || get_password_from_stdin('Enter your password:') end
Private Instance Methods
full_url()
click to toggle source
# File lib/zendesk_apps_tools/api_connection.rb, line 41 def full_url valid_full_url? ? @subdomain : (DEFAULT_URL_TEMPLATE % @subdomain) end
valid_email?()
click to toggle source
# File lib/zendesk_apps_tools/api_connection.rb, line 53 def valid_email? !!EMAIL_REGEX.match(@username) end
valid_full_url?()
click to toggle source
# File lib/zendesk_apps_tools/api_connection.rb, line 45 def valid_full_url? !!ZENDESK_URL_VALIDATION_PATTERN.match(@subdomain) end
valid_subdomain?()
click to toggle source
# File lib/zendesk_apps_tools/api_connection.rb, line 49 def valid_subdomain? !!SUBDOMAIN_VALIDATION_PATTERN.match(@subdomain) end