class Dangdang::Order

Public Class Methods

new(option = {}) click to toggle source
# File lib/dangdang.rb, line 9
def initialize(option = {})
  @option = option
  @api_uri_front = "http://api.open.dangdang.com/openapi/rest?"
end

Public Instance Methods

dangdang_order_details_get(params_app = {}) click to toggle source
# File lib/dangdang.rb, line 42
def dangdang_order_details_get(params_app = {})
  @method = __callee__.to_s.split("_").join(".")
  @params_app = params_app
  Hash.from_xml(eat(get_api_uri))
end
dangdang_orders_list_get(params_app = {}) click to toggle source
# File lib/dangdang.rb, line 34
def dangdang_orders_list_get(params_app = {})
  @method = __callee__.to_s.split("_").join(".")
  [:lastModifyTime_start, :lastModifyTime_end, :osd, :oed, :sgsd, :sged].each do |v|
    params_app[v] = CGI.escape(params_app[v]) if params_app[v]
  end
  @params_app = params_app
  Hash.from_xml(eat(get_api_uri))
end
get_api_uri() click to toggle source
# File lib/dangdang.rb, line 48
def get_api_uri
  @api_uri_front + "sign=#{sign_key}&" + url_params
end
secret_string() click to toggle source
# File lib/dangdang.rb, line 26
def secret_string
  @option[:app_secret] + sys_params_to_string + @option[:app_secret]
end
sign_key() click to toggle source
# File lib/dangdang.rb, line 29
def sign_key
  Digest::MD5.hexdigest(secret_string).upcase
end
sys_params() click to toggle source
# File lib/dangdang.rb, line 13
def sys_params
  { :app_key => @option[:app_key],
    :format => "xml",
    :method => @method,
    :session => @option[:session_key],
    :sign_method => "md5",
    :timestamp => Time.now.strftime("%Y-%m-%d %T"),
    :v => "1.0" }
end
sys_params_to_string() click to toggle source
# File lib/dangdang.rb, line 23
def sys_params_to_string
  sys_params.to_a.flatten.join("")
end
url_params() click to toggle source
# File lib/dangdang.rb, line 51
def url_params
  params = sys_params
  params.merge!(@params_app)
  params[:timestamp] = CGI.escape(params[:timestamp])
  params.to_a.map { |p| p.join("=")}.join("&")
end