Class: Zhima::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/zhima/request.rb

Constant Summary collapse

GATEWAY =
'https://zmopenapi.zmxy.com.cn/openapi.do'
SYSTEM_OPTIONS =
{charset: 'UTF-8', version: '1.0', channel: 'app'}

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(biz_params, sys_options) ⇒ Request

Returns a new instance of Request.



8
9
10
11
# File 'lib/zhima/request.rb', line 8

def initialize(biz_params, sys_options)
  @biz_params = biz_params
  @sys_options = SYSTEM_OPTIONS.merge(sys_options)
end

Instance Attribute Details

#biz_paramsObject

Returns the value of attribute biz_params.



6
7
8
# File 'lib/zhima/request.rb', line 6

def biz_params
  @biz_params
end

#sys_optionsObject

Returns the value of attribute sys_options.



6
7
8
# File 'lib/zhima/request.rb', line 6

def sys_options
  @sys_options
end

Instance Method Details

#executeObject



21
22
23
24
# File 'lib/zhima/request.rb', line 21

def execute
  response = RestClient.get url
  parse_response(response.body)
end

#urlObject



13
14
15
16
17
18
19
# File 'lib/zhima/request.rb', line 13

def url
  params_value, sign = Param.encrypt(biz_params)
  opts = SYSTEM_OPTIONS.merge(sys_options)
         .merge(params: params_value, sign: sign, app_id: Config.app_id)
  query_str = Util.to_query(opts)
  [GATEWAY, query_str].join('?')
end