papapi 0.1.1 → 0.1.2

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: e93f205e63945cc28ed76ddcbc36c656b347b1ac
4
- data.tar.gz: aee3a6970259154e0e7b289becdc88b3395e078f
3
+ metadata.gz: bb7b535b460dd19762cecf6a09a4d6a85c6687b9
4
+ data.tar.gz: 14e64d442c7e33eabafaa710788fd67c7e19efe7
5
5
  SHA512:
6
- metadata.gz: 09f5169ac812e0df8a6f4a4a92cc8724bba2d42c5d00c199f8153651c9cb49283a151fbba93111c1f32dd3be76805b197b0b85285e861dc63c90536730e30eb5
7
- data.tar.gz: 11ec2e684f3495b790c0c577ffda30bbfc15879d11a50fe22c017c1d5510be75c158cda4fe934046b45f89a0f34401e4f017619fdea9df8ce9d991ddc016e748
6
+ metadata.gz: 1d95f4bc72e02c583a9ab36fdde1f64f38f72d811916766ee2c3eb304754e98e4796d80c3de541ed89d0a5fc308089dad756e842081cf54f4cec4e05e4d3fa47
7
+ data.tar.gz: dfe9b08521ffce7a24a31ab616c0098a96e21a70749805f82debdefda27dc40cd3ebf2212b4bdbb318698bde808e2f7a2cd08cdfde82fe0a12c6bb73f11c1a97
@@ -9,6 +9,7 @@ module Papapi
9
9
  end
10
10
 
11
11
  def by_orders(order_ids)
12
+ commissions = Hash[order_ids.map {|i| [i.to_s, 0.0]}]
12
13
  requests = order_ids.map do |order_id|
13
14
  r = GridRequest.new("Pap_Affiliates_Reports_TransactionsGrid", "getRows", @session)
14
15
  r.set_param("isInitRequest","Y")
@@ -17,7 +18,8 @@ module Papapi
17
18
  r
18
19
  end
19
20
 
20
- commissions = Hash[order_ids.map {|i| [i.to_s, 0.0]}]
21
+ return commissions if requests.length == 0
22
+
21
23
  responses = MultiRequest.new(requests).send
22
24
  responses.each do |resp|
23
25
  resp.each do |row|
@@ -19,14 +19,19 @@ module Papapi
19
19
  @columns << [column]
20
20
  end
21
21
 
22
+ def set_sorting(column, sort_asc)
23
+ @sort_col = column
24
+ @sort_asc = sort_asc
25
+ end
26
+
22
27
  def to_data
23
28
  data = super
24
29
  data[:filters] = @filters || []
25
30
  data[:columns] = @columns || []
26
- data[:sort_col] = sort_col || ""
27
- data[:sort_asc] = sort_asc || false
28
- data[:offset] = offset || 0
29
- data[:limit] = limit || DEFAULT_LIMIT
31
+ data[:sort_col] = @sort_col || ""
32
+ data[:sort_asc] = @sort_asc ? true : false
33
+ data[:offset] = @offset || 0
34
+ data[:limit] = @limit || DEFAULT_LIMIT
30
35
  data
31
36
  end
32
37
 
@@ -1,6 +1,8 @@
1
1
  module Papapi
2
2
  require_relative 'grid_request'
3
3
  require_relative 'merchant'
4
+ require_relative 'request'
5
+ require_relative 'form_request'
4
6
  class Merchant::Commission
5
7
 
6
8
  def initialize(session)
@@ -32,5 +34,26 @@ module Papapi
32
34
  commissions
33
35
  end
34
36
 
37
+ def create(affiliate_id, campaign_id, commission, commtypeid, payoutstatus = '', fields = {})
38
+ r = FormRequest.new('Pap_Merchants_Transaction_TransactionsForm', 'add', @session)
39
+ f = {
40
+ :userid => affiliate_id,
41
+ :campaignid => campaign_id,
42
+ :commtypeid => commtypeid,
43
+ :commission => commission,
44
+ :payoutstatus => payoutstatus,
45
+ :multiTier => "N"
46
+ }.merge(fields)
47
+ r.set_fields(f)
48
+ r.send
49
+ end
50
+
51
+ def remove(commission_ids)
52
+ #{"C":"Pap_Merchants_Transaction_TransactionsForm", "M":"deleteRows", "ids":["00a47a09"]
53
+ r = Request.new('Pap_Merchants_Transaction_TransactionsForm', 'deleteRows', @session)
54
+ r.set_param('ids', commission_ids)
55
+ r.send
56
+ end
57
+
35
58
  end
36
59
  end
@@ -1,3 +1,3 @@
1
1
  module Papapi
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
@@ -2,12 +2,18 @@ require 'papapi'
2
2
  require 'spec_helper'
3
3
 
4
4
  RSpec.describe Papapi::Affiliate::Commission do
5
+ let(:commission) { described_class.new(Papapi::Session.new(script_url).
6
+ login(affiliate_login, affiliate_password, Papapi::Session::AFFILIATE)) }
7
+
5
8
  it "#by_orders" do
6
- session = Papapi::Session.new(script_url).login(affiliate_login, affiliate_password, Papapi::Session::AFFILIATE)
7
- commission = Papapi::Affiliate::Commission.new(session)
8
9
  result = commission.by_orders(['ORD_123', 'test123'])
9
10
  expect(result.keys.length).to eq(2)
10
11
  expect(result.has_key?('ORD_123')).to be true
11
12
  expect(result.has_key?('test123')).to be true
12
13
  end
14
+
15
+ it "#by_orders(empty)" do
16
+ result = commission.by_orders([])
17
+ expect(result.keys.length).to eq(0)
18
+ end
13
19
  end
@@ -3,16 +3,17 @@ require 'spec_helper'
3
3
 
4
4
  RSpec.describe Papapi::GridRequest do
5
5
 
6
- context "load merchant transaction grid" do
6
+ context "load merchant campaigns" do
7
7
  it "#send" do
8
8
  merchant_session = Papapi::Session.new(script_url).login(merchant_login, merchant_password)
9
- request = Papapi::GridRequest.new("Pap_Merchants_Transaction_TransactionsGrid", "getRows", merchant_session)
10
- request.add_filter('userid', 'E', '11111111')
9
+ request = Papapi::GridRequest.new("Pap_Merchants_Campaign_CampaignsGrid", "getRows", merchant_session)
10
+ request.set_sorting("rorder", true)
11
11
  response = request.send
12
- expect(response.count).to be > 1
12
+ expect(response.count).to be >= 1
13
13
  end
14
14
  end
15
15
 
16
+ =begin
16
17
  context "load affiliate transaction grid" do
17
18
  it "#send" do
18
19
  affiliate_session = Papapi::Session.new(script_url).login(affiliate_login, affiliate_password, Papapi::Session::AFFILIATE)
@@ -21,4 +22,5 @@ RSpec.describe Papapi::GridRequest do
21
22
  expect(response.count).to be > 1
22
23
  end
23
24
  end
25
+ =end
24
26
  end
@@ -2,8 +2,14 @@ require 'papapi'
2
2
  require 'spec_helper'
3
3
 
4
4
  RSpec.describe Papapi::Merchant::Commission do
5
+ let(:session) { Papapi::Session.new(script_url).login(merchant_login, merchant_password) }
6
+
7
+ it "#create" do
8
+ commission = Papapi::Merchant::Commission.new(session)
9
+ commission.create('11111111', '11111111', 1.0, '5535d2d7','U')
10
+ end
11
+
5
12
  it "#by_orders" do
6
- session = Papapi::Session.new(script_url).login(merchant_login, merchant_password)
7
13
  commission = Papapi::Merchant::Commission.new(session)
8
14
  result = commission.by_orders(['ORD_123', 'test123'], '11111111')
9
15
  expect(result.keys.length).to eq(2)
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.1
4
+ version: 0.1.2
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-03-24 00:00:00.000000000 Z
11
+ date: 2015-03-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -109,7 +109,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
109
109
  version: '0'
110
110
  requirements: []
111
111
  rubyforge_project:
112
- rubygems_version: 2.2.2
112
+ rubygems_version: 2.4.5
113
113
  signing_key:
114
114
  specification_version: 4
115
115
  summary: A client for the Post Affiliate Pro API