module Memobird

Memobird API wrapper

Constants

API_PRINT_CONTENT
API_RETRIEVE_USER_ID
HOST
VERSION

Attributes

api_key[RW]
memobird_id[RW]
user_id[RW]
user_identifying[RW]

Public Class Methods

print_content(content = {}) click to toggle source

Private Class Methods

build_print_content(content = {}) click to toggle source
# File lib/memobird.rb, line 85
def build_print_content(content = {})
  build_text(content[:text]) || build_text(">> NO CONTENT <<\n")
end
build_text(text) click to toggle source
# File lib/memobird.rb, line 89
def build_text(text)
  return nil if text.nil?
  'T:' + Base64.encode64(text.encode('GBK')).delete("\n")
end
build_url(url_base, params = {}) click to toggle source
# File lib/memobird.rb, line 76
def build_url(url_base, params = {})
  params[:ak] = api_key
  params[:timestamp] = ERB::Util.url_encode(Time.now.strftime('%F %T'))
  params[:memobirdid] = memobird_id
  url = Addressable::URI.new
  url.query_values = params
  "#{url_base}?#{url.query}"
end
call_ok?(response = {}) click to toggle source

response of json format

# File lib/memobird.rb, line 70
def call_ok?(response = {})
  response['showapi_res_code'] == 1 && response['showapi_res_error'] == 'ok'
rescue StandardError
  false
end
http_get(url) click to toggle source
# File lib/memobird.rb, line 35
def http_get(url)
  puts "Call #{url}"
  JSON.parse(HTTP.get(url).to_s)
end
load_user_id() click to toggle source
# File lib/memobird.rb, line 40
def load_user_id
  File.open('user.id.txt', 'r').each do |line|
    self.user_id = line.delete("\n")
    puts 'User id ' + user_id
  end
rescue StandardError => e
  puts 'Load user id error. ' + e.message
  puts 'Retrieve user id from API'
  retrieve_user_id
  save_user_id
end
not_ready?() click to toggle source
# File lib/memobird.rb, line 31
def not_ready?
  api_key.nil? || memobird_id.nil? || user_identifying.nil?
end
retrieve_user_id() click to toggle source
# File lib/memobird.rb, line 52
def retrieve_user_id
  response = http_get(build_url(API_RETRIEVE_USER_ID,
                                useridentifying: user_identifying))
  self.user_id = response['showapi_userid'] if call_ok?(response)
rescue StandardError => e
  puts 'Retrieve user id error. ' + e.message
  self.user_id = nil
end
save_user_id() click to toggle source
# File lib/memobird.rb, line 61
def save_user_id
  File.open('user.id.txt', 'w') do |f|
    f.puts user_id
  end
rescue StandardError => e
  puts 'Save user id error. ' + e.message
end