ly-hotel 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b61fd2abb40afa128f62dea6d101da549e3c4848
4
- data.tar.gz: 8f36bf8c84c04bb2c5184a355c546627ab09a9b8
3
+ metadata.gz: 21ff49c907096602f79746e2bddd55745f2b86c5
4
+ data.tar.gz: dec4b48e9c89cc94a16f8c6330628d340af7b01e
5
5
  SHA512:
6
- metadata.gz: 7a44ed409df2cfcdd40fc83a1ac01f5e716f84414d7e03486fa1d3cb96154997ac4d350f601ffb6e131b49009d031c00e09e465f03e973a43503055112688660
7
- data.tar.gz: ae11ab2ce1a0393a4d38d24cbf0f4e017f046c4d344ccdc391ff34b1fdace21a87146d56b691a71e2ccae3baf6e5e22856555c1263913ea6d7244c76c4484ae4
6
+ metadata.gz: 55b0c3143f592c4e9a205da85b2fa7f24fa397c2afef57fa111e07bfb88f08b5aa581e116a5b1d4c315228630f36c3fdd0cc0f87914b35338bfe4533c8ee2744
7
+ data.tar.gz: 5e2251346a5e0fb8cd3859028db23168f33ea3a863fd8963d32facda728775a94688d708ea4e3017b75346845922d0c5385aa31bfb369fcc99e1d12dac61018a
data/lib/ly/hotel.rb CHANGED
@@ -16,10 +16,10 @@ module Ly
16
16
  @api_host = api_host
17
17
  end
18
18
 
19
- def generate_digital_sign(service_name, timestamp)
19
+ def generate_digital_sign(service_name, req_time)
20
20
  token_keys = {
21
21
  "AccountID" => @account_id,
22
- "ReqTime" => timestamp.strftime("%Y-%m-%d %H:%M:%S.%L"),
22
+ "ReqTime" => req_time,
23
23
  "ServiceName" => service_name,
24
24
  "Version" => @version
25
25
  }
@@ -27,6 +27,10 @@ module Ly
27
27
  md5.update token_keys.map { |k, v| "#{k}=#{v}" }.join("&") << @password
28
28
  md5.hexdigest
29
29
  end
30
+
31
+ def generate_req_time
32
+ Time.now.getgm.getlocal("+08:00").strftime("%Y-%m-%d %H:%M:%S.%L")
33
+ end
30
34
 
31
35
  def credit_card_encrypt(key, data)
32
36
  cipher = OpenSSL::Cipher::AES.new(128, :ECB)
@@ -35,14 +39,14 @@ module Ly
35
39
  Base64.encode64(cipher.update(data) << cipher.final)
36
40
  end
37
41
 
38
- def request_xml(service_name, body = {}, timestamp = Time.now, options = {})
42
+ def request_xml(service_name, body = {}, req_time = generate_req_time, digital_sign = generate_digital_sign(service_name, req_time), options = {})
39
43
  req = {
40
44
  "header" => {
41
45
  "version" => @version,
42
46
  "accountID" => @account_id,
43
47
  "serviceName" => service_name,
44
- "digitalSign" => generate_digital_sign(service_name, timestamp),
45
- "reqTime" => timestamp.strftime("%Y-%m-%d %H:%M:%S.%L")
48
+ "digitalSign" => digital_sign,
49
+ "reqTime" => req_time
46
50
  },
47
51
  "body" => body
48
52
  }
@@ -62,11 +66,11 @@ module Ly
62
66
 
63
67
  def service_request(handler, service_name, req_data = {}, req_options = {}, resp_options = {})
64
68
 
65
- # Current time
66
- now = Time.now
69
+ # Current request time
70
+ req_time = generate_req_time
67
71
 
68
72
  # Generate digitalSign
69
- digital_sign = generate_digital_sign(service_name, now)
73
+ digital_sign = generate_digital_sign(service_name, req_time)
70
74
 
71
75
  # Request & Response, Xml conversion options.
72
76
  if req_options.empty? || resp_options.empty?
@@ -83,7 +87,7 @@ module Ly
83
87
  end
84
88
 
85
89
  # Request
86
- req_xml = request_xml(service_name, req_data, now, req_options)
90
+ req_xml = request_xml(service_name, req_data, req_time, digital_sign, req_options)
87
91
  resp_xml = request(handler, req_xml)
88
92
  result = XmlSimple.xml_in(resp_xml, resp_options)
89
93
 
@@ -1,5 +1,5 @@
1
1
  module Ly
2
2
  module Hotel
3
- VERSION = "0.1.2"
3
+ VERSION = "0.1.3"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ly-hotel
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - UVzxV6cy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-10-14 00:00:00.000000000 Z
11
+ date: 2016-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler