class KuaiJieQian::Client
Public Class Methods
new(options_arg)
click to toggle source
初始化SDK @param options_arg [Hash] 配置信息
* host [String] java服务器 IP:port * project_config [Hash] 项目信息 * http_config [Hash] 协议信息 * sign_config [Hash] 签名信息
@return [ Hash ] 结果集
* errCode [Integer] 错误码 * msg [String] 错误信息 * errShow [Boolean] 错误信息是否显示
# File lib/kuai_jie_qian/client.rb, line 18 def initialize(options_arg) options = Utils.symbolize_keys(options_arg) @config = { host: options[:host], project_config: options[:project_config], http_config: options[:http_config], sign_config: options[:sign_config], } init_server # 自动 include api 下的模块 recursive_include_api('KuaiJieQian::ClientMethod') end
Private Instance Methods
init_server()
click to toggle source
# File lib/kuai_jie_qian/client.rb, line 34 def init_server params = { projectConfig: @config[:project_config], httpConfig: @config[:http_config], signConfig: @config[:sign_config], } path = "tech-sdkwrapper/timevale/init" # 向 java 服务器初始化 res = KuaiJieQian::Http.post(@config[:host], @config[:project_config][:projectId], path, params) raise "初始化失败:#{res[:msg]}" if '0' != res[:errCode].to_s end
recursive_include_api(module_chain)
click to toggle source
# File lib/kuai_jie_qian/client.rb, line 49 def recursive_include_api(module_chain) modules = eval("#{module_chain}.constants").each{ |constant| eval("#{module_chain}::#{constant}").class.kind_of?(Module) } if modules.empty? self.class.send(:include, eval(module_chain)) else modules.each{ |constant| recursive_include_api("#{module_chain}::#{constant}") } end end