class Memair
Public Class Methods
new(access_token)
click to toggle source
# File lib/memair.rb, line 4 def initialize(access_token) validate(access_token) @access_token = access_token end
Public Instance Methods
query(query)
click to toggle source
# File lib/memair.rb, line 9 def query(query) raise KeyError, "query is not a string." unless query.is_a? String attempts = 0 begin sleep(attempts * 2) response = HTTParty.post("https://memair.com/graphql", body: query, headers: {'access-token': @access_token}, timeout: 180) rescue retry if (attempts += 1) < 8 raise StandardError, "Can not connect to Memair" end response.to_h end
Private Instance Methods
validate(access_token)
click to toggle source
# File lib/memair.rb, line 23 def validate(access_token) raise KeyError, "access_token is not a string." unless access_token.is_a? String raise KeyError, "access_token should be a 43 character base64 string or a 64 character hex string." unless [64, 43].include?(access_token.length) end