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
# File lib/memobird.rb, line 17 def print_content(content = {}) raise 'Please set up first' if not_ready? load_user_id if user_id.nil? puts content response = http_get(build_url(API_PRINT_CONTENT, userid: user_id, printcontent: build_print_content(content))) puts response['showapi_res_error'].to_s + ' ' + response['printcontentid'].to_s rescue StandardError => e puts 'Print content error. ' + e.message end
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