class TransferTo::Request
Attributes
name[R]
params[R]
user[R]
Public Class Methods
new(user, password, aurl = nil)
click to toggle source
# File lib/transfer_to/request.rb, line 6 def initialize(user, password, aurl = nil) @user = user @pass = password @conn = Faraday.new(url: aurl) do |faraday| faraday.request :url_encoded faraday.adapter :net_http end end
Public Instance Methods
action=(name)
click to toggle source
# File lib/transfer_to/request.rb, line 27 def action=(name) reset @name = name add_param :action, name end
add_param(key, value)
click to toggle source
# File lib/transfer_to/request.rb, line 37 def add_param(key, value) @params[key.to_sym] = value end
authenticate()
click to toggle source
# File lib/transfer_to/request.rb, line 20 def authenticate time = Time.now.to_i.to_s add_param :key, time add_param :md5, md5_hash(@user + @pass + time.to_s) add_param :login, @user end
get?()
click to toggle source
# File lib/transfer_to/request.rb, line 45 def get? @params[:method] == :get end
key()
click to toggle source
# File lib/transfer_to/request.rb, line 41 def key @params[:key] end
params=(parameters)
click to toggle source
# File lib/transfer_to/request.rb, line 33 def params=(parameters) @params.merge!(parameters) end
post?()
click to toggle source
# File lib/transfer_to/request.rb, line 49 def post? @params[:method] == :post end
reset()
click to toggle source
# File lib/transfer_to/request.rb, line 15 def reset @params = {} authenticate end
run(method = :get)
click to toggle source
# File lib/transfer_to/request.rb, line 53 def run(method = :get) add_param :method, method @conn.send(method, "/cgi-bin/shop/topup", @params) do |req| req.options = { timeout: 600, open_timeout: 600 } end end
Private Instance Methods
md5_hash(str)
click to toggle source
# File lib/transfer_to/request.rb, line 62 def md5_hash(str) (Digest::MD5.new << str).to_s end
to_time(time)
click to toggle source
# File lib/transfer_to/request.rb, line 66 def to_time(time) case time.class.name when "String" then return Time.parse(time) when "Integer" then return Time.at(time) when "Time" then return time else raise ArgumentError end rescue Time.now end
to_yyyymmdd(time)
click to toggle source
# File lib/transfer_to/request.rb, line 77 def to_yyyymmdd(time) to_time(time).strftime("%Y-%m-%d") end