jdpay 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: 7fe7a62e58b00e9412db3ab2724832fb20cc0b81
4
- data.tar.gz: 8fabca79ce4fa1ade33bfce3f92c0ada42152b98
3
+ metadata.gz: 42eb35630643a14b9bb0076dce834de32f6f10aa
4
+ data.tar.gz: 0521b7fccc9d20c5b82df2b460a7ed546dc61ed7
5
5
  SHA512:
6
- metadata.gz: 5268db2187764dec74b0e7ef7ca07825050cf390de9dc51e95ef4cb4065f62a4d243f32a367cd157b108175e79d4e935d0ef8538953a9abc630a2f683d06fd99
7
- data.tar.gz: 66038f010c0a8ed0608fab65ed871f577bc3d536fc7f98d05247b7b34b36dabd53a16aef6abd87f8c1464c3cecdfd28ec2c2d5bcd0d65ecf21f2996954b78b99
6
+ metadata.gz: d403cd63870905bc4ab8dbd43b047940f844da3517a2ad9af471158771b994d491ebe2f59a5a11c56c6cfa1d123aba70c77d923a76c36927f2f4d07b46b62e16
7
+ data.tar.gz: 7211e941e73c890b7948cbb1645f887fc5a905a686d4907aba1506649c65b13fc1b4785587fdc9f1b15edb5370087eb6089b184e3f2e53680494e11a12e74fcb
data/CHANGELOG.md ADDED
@@ -0,0 +1,7 @@
1
+ ## master
2
+
3
+ ## v0.1.2(2017-07-18)
4
+ - fix uniorder params check warning
5
+
6
+ ## v0.1.1(2017-07-18)
7
+ - init commit
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # JdPay
2
2
 
3
- A unofficial jd_pay ruby gem.
3
+ A unofficial jdpay ruby gem.
4
4
  Thanks for [alipay](https://github.com/chloerei/alipay) and [wx_pay](https://github.com/jasl/wx_pay)
5
5
 
6
6
  JdPay official document: http://payapi.jd.com/.
@@ -16,7 +16,7 @@ gem 'jdpay'
16
16
  or development version
17
17
 
18
18
  ```ruby
19
- gem 'jdpay', :github => 'genkin-he/jd_pay'
19
+ gem 'jdpay', :github => 'genkin-he/jdpay'
20
20
  ```
21
21
 
22
22
  And then execute:
@@ -28,6 +28,7 @@ $ bundle
28
28
  ## Configuration
29
29
 
30
30
  ```ruby
31
+ require 'jd_pay'
31
32
  # NOTE: 京东支付与京东付款码支付是两套账号密钥.
32
33
  # 京东支付配置
33
34
  JdPay.mch_id = 'YOUR_MERCHANT_NUM'
data/lib/jd_pay/util.rb CHANGED
@@ -1,9 +1,26 @@
1
1
  module JdPay
2
2
  module Util
3
+ XML_HEAD = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
3
4
  class << self
4
5
  def to_xml(params, options = {})
5
6
  options[:root] = options[:root] || 'jdpay'
6
- denilize(params).to_xml(options).gsub(/>[[:space:]]+/, ">")
7
+ XML_HEAD + xml_out({ options[:root] => denilize(params) })
8
+ end
9
+
10
+ def xml_out(params)
11
+ xml = []
12
+ params.each do |k, v|
13
+ if v.is_a?(Array)
14
+ v.each do |ary|
15
+ xml << "<#{k}>#{xml_out(ary)}</#{k}>"
16
+ end
17
+ elsif v.is_a?(Hash)
18
+ xml << "<#{k}>#{xml_out(v)}</#{k}>"
19
+ else
20
+ xml << "<#{k}>#{v}</#{k}>"
21
+ end
22
+ end
23
+ xml.join
7
24
  end
8
25
 
9
26
  def to_uri(params)
@@ -1,3 +1,3 @@
1
1
  module JdPay
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -14,6 +14,12 @@ class JdPay::UtilTest < Minitest::Test
14
14
  assert_equal xml, JdPay::Util.to_xml(@params)
15
15
  end
16
16
 
17
+ def test_xml_out
18
+ params = {he: 'zhi', pay: [{pay_type: "1"}, {pay_type: "2"}]}
19
+ xml = "<he>zhi</he><pay><pay_type>1</pay_type></pay><pay><pay_type>2</pay_type></pay>"
20
+ assert_equal xml, JdPay::Util.xml_out(params)
21
+ end
22
+
17
23
  def test_to_uri
18
24
  uri = "he=zhi&meng=&zhi=he"
19
25
  assert_equal uri, JdPay::Util.to_uri(@params)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jdpay
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
  - Genkin He
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-07-18 00:00:00.000000000 Z
11
+ date: 2017-08-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -119,6 +119,7 @@ extra_rdoc_files: []
119
119
  files:
120
120
  - ".gitignore"
121
121
  - ".travis.yml"
122
+ - CHANGELOG.md
122
123
  - CODE_OF_CONDUCT.md
123
124
  - Gemfile
124
125
  - LICENSE.txt
@@ -163,7 +164,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
163
164
  version: '0'
164
165
  requirements: []
165
166
  rubyforge_project:
166
- rubygems_version: 2.6.11
167
+ rubygems_version: 2.4.3
167
168
  signing_key:
168
169
  specification_version: 4
169
170
  summary: An unofficial simple jdpay gem.
@@ -176,4 +177,3 @@ test_files:
176
177
  - test/jd_pay/util_test.rb
177
178
  - test/jd_pay_test.rb
178
179
  - test/test_helper.rb
179
- has_rdoc: