eport 0.0.1.2 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/catalog_parser.rb +4 -6
- data/lib/eport.rb +26 -23
- data/lib/request.rb +1 -1
- metadata +2 -3
data/lib/catalog_parser.rb
CHANGED
@@ -6,7 +6,7 @@ class CatalogParser
|
|
6
6
|
end
|
7
7
|
|
8
8
|
|
9
|
-
ITEM_SEPARATOR
|
9
|
+
ITEM_SEPARATOR = "\r\n"
|
10
10
|
VALUE_SEPARATOR = "\t"
|
11
11
|
|
12
12
|
VALUES = {:x => [:version, :prev_version, :form_date, :money],
|
@@ -17,16 +17,14 @@ class CatalogParser
|
|
17
17
|
|
18
18
|
def new_catalog(data)
|
19
19
|
ic = Iconv.new('UTF-8', 'WINDOWS-1251')
|
20
|
-
|
21
20
|
strings = data.split(ITEM_SEPARATOR)
|
22
21
|
strings[1..-1].each do |string|
|
23
22
|
values = string.split(VALUE_SEPARATOR)
|
24
|
-
type = ic.iconv(values[0])
|
25
|
-
key = type
|
26
|
-
|
23
|
+
type = ic.iconv(values[0]).to_s
|
24
|
+
key = type.last.to_sym
|
27
25
|
if ["+v", "+x", "+e", "+p"].include?(type)
|
28
26
|
hash = {}
|
29
|
-
VALUES[key].
|
27
|
+
VALUES[key].each_with_index{|o, index| hash[VALUES[key][index]] = ic.iconv(values[index+1]).to_s}
|
30
28
|
@catalog[key] << hash
|
31
29
|
end
|
32
30
|
end
|
data/lib/eport.rb
CHANGED
@@ -17,41 +17,44 @@ class Eport
|
|
17
17
|
r.path = "/cp/dir"
|
18
18
|
r.body = ""
|
19
19
|
end
|
20
|
+
|
20
21
|
data = req.confirm
|
21
|
-
cp
|
22
|
+
cp = CatalogParser.new
|
22
23
|
cp.new_catalog(data)
|
23
24
|
end
|
24
25
|
|
25
26
|
def get_balance
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
r.body = ""
|
33
|
-
end
|
34
|
-
ic = Iconv.new('UTF-8', 'WINDOWS-1251')
|
35
|
-
ic.iconv(req.confirm)
|
27
|
+
req = Request.new do |r|
|
28
|
+
r.point = @config[:eport][:point]
|
29
|
+
r.private_key_path = "#{RAILS_ROOT}/#{@config[:eport][:private_key_path]}"
|
30
|
+
r.host = @config[:eport][:host]
|
31
|
+
r.path = "/cp/bal"
|
32
|
+
r.body = ""
|
36
33
|
end
|
34
|
+
|
35
|
+
ic = Iconv.new('UTF-8', 'WINDOWS-1251')
|
36
|
+
ic.iconv(req.confirm)
|
37
|
+
end
|
37
38
|
|
38
39
|
def refill_operation(operation_name, operation_id, product_id, value, account)
|
39
|
-
|
40
|
-
|
41
|
-
|
40
|
+
req = Request.new do |r|
|
41
|
+
r.point = @config[:eport][:point]
|
42
|
+
r.private_key_path = "#{RAILS_ROOT}/#{@config[:eport][:private_key_path]}"
|
42
43
|
|
43
|
-
|
44
|
-
|
44
|
+
r.host = @config[:eport][:host]
|
45
|
+
r.path = "/cp/fe"
|
46
|
+
|
47
|
+
req = EportRequestPlainText.new
|
45
48
|
|
46
|
-
|
49
|
+
req.operation_type = operation_name.to_s.upcase if [:operation, :confirm, :check, :cancel].include?(operation_name)
|
50
|
+
req.operation_id = operation_id
|
51
|
+
req.product_id = product_id
|
52
|
+
req.value = value
|
53
|
+
req.account = account
|
47
54
|
|
48
|
-
|
49
|
-
req.operation_id = operation_id
|
50
|
-
req.product_id = product_id
|
51
|
-
req.value = value
|
52
|
-
req.account = account
|
53
|
-
r.body = req.body
|
55
|
+
r.body = req.body
|
54
56
|
end
|
57
|
+
|
55
58
|
ic = Iconv.new('UTF-8', 'WINDOWS-1251')
|
56
59
|
ic.iconv(req.confirm)
|
57
60
|
end
|
data/lib/request.rb
CHANGED
metadata
CHANGED
@@ -5,9 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 0
|
8
|
-
- 1
|
9
8
|
- 2
|
10
|
-
version: 0.0.
|
9
|
+
version: 0.0.2
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Alexander Lomakin, Dmitry Andreev
|
@@ -15,7 +14,7 @@ autorequire: eport
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-
|
17
|
+
date: 2010-05-07 00:00:00 +04:00
|
19
18
|
default_executable:
|
20
19
|
dependencies: []
|
21
20
|
|