ly-hotel 0.1.2 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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