promise_pay 0.1.5 → 0.1.6

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: b9e7dfe46629cfaf5b0884f40833abf5c0d7baef
4
- data.tar.gz: c327448d515a250de8d6ab1117e22e1a673ccb16
3
+ metadata.gz: b3aff87096dc525f1caa87ff5dcdc139b60639a6
4
+ data.tar.gz: c43eeca819612307e63e294aa31559ab6c3c30dc
5
5
  SHA512:
6
- metadata.gz: c48a5a6777115fc93be86ef26506ef5b1cec25c59f829b0785ea51d57664bec3147c351c3ac651035430cbbb6bf916982b258e76402047eebfdeba8ce87b2c9b
7
- data.tar.gz: 3d4261aca5c66d852ad3fccd915a3cebff3083264f3758e04ed59fd82d3e48bc7766cddc5f64ffe51f72bcfa5fa7790463966c258a0d9939690ff387b9e3d348
6
+ metadata.gz: a27f02557a1b4979866f6ff0838cb2a931dda180863ba13bc265130a1da173097ef1c4adc1c8386822561522e86024023b35bacec69afcf73059c867c12f0538
7
+ data.tar.gz: 6ba2e1df0596322db41773e7dffd7980fd6fa7bfe421c254b5cda399f10a0842f362513a310ee018e3fabe5805d31309c3259fae9388a439136406e53b3d0f7d
data/README.md CHANGED
@@ -22,10 +22,6 @@ Generate your PromizePay API key and the rails promise_pay initializer:
22
22
 
23
23
  $ rails generate promise_pay:init EMAIL PASSWORD
24
24
 
25
- Set your fee-ids from PromisePay in config `config/initializers/promise_pay.rb`:
26
-
27
- PromisePay.fee_ids = "abc-123"
28
-
29
25
  You're set to go!
30
26
 
31
27
  ## Extra Info
@@ -42,6 +38,8 @@ Note this will overwrite anything in `config/initializers/promise_pay.rb`, but y
42
38
 
43
39
  ## Usage
44
40
 
41
+ All API interations, and therefore all params for these classes can be viewed at the official PromisePay doc website (http://docs.promisepay.com/).
42
+
45
43
  ```ruby
46
44
  # A new PromisePay::Session that generates a session token
47
45
  session = PromisePay::Session.new(session_params)
@@ -58,6 +56,10 @@ user.email => "email@addr"
58
56
  item = PromisePay::Item.find("1s345")
59
57
  item.amount => 10
60
58
 
59
+ # Create a fee returning a PromisePay::Feelist object
60
+ fee = PromisePay::Feelst.create(fee_params)
61
+ fee.id => "5c07f36a-d18f-4153-9a75-ebf9f4f2f9ef"
62
+
61
63
  ```
62
64
 
63
65
  ## Contributing
@@ -3,4 +3,3 @@ require "promise_pay"
3
3
  PromisePay.api_user = "<%= email %>"
4
4
  PromisePay.api_key = "<%= token %>"
5
5
  PromisePay.env = :<%= env %>
6
- PromisePay.fee_ids = ""
@@ -0,0 +1,67 @@
1
+ require "promise_pay/lib/dynamic_accessors"
2
+ require "json"
3
+
4
+ module PromisePay
5
+ class Feelist
6
+ include Lib::DynamicAccessors
7
+
8
+ attr_reader :id
9
+ attr_reader :name
10
+ attr_reader :fee_type_id
11
+ attr_reader :amount
12
+ attr_reader :cap
13
+ attr_reader :min
14
+ attr_reader :max
15
+ attr_reader :to
16
+
17
+ def self.create(options = {})
18
+ new(options).create
19
+ end
20
+
21
+ def initialize(options = {})
22
+ @name = options.fetch(:name)
23
+ @fee_type_id = options.fetch(:fee_type_id)
24
+ @amount = options.fetch(:amount)
25
+ @cap = options.fetch(:cap)
26
+ @min = options.fetch(:min)
27
+ @max = options.fetch(:max)
28
+ @to = options.fetch(:to)
29
+
30
+ assign_instance_variables({'feelist' => options})
31
+ end
32
+
33
+ def create
34
+ assign_instance_variables(resource_result)
35
+ self
36
+ end
37
+
38
+ private
39
+
40
+ def resource_result
41
+ request = PromisePay::Request.new(
42
+ path: api_resource,
43
+ method: :post,
44
+ payload: payload
45
+ )
46
+
47
+ response = request.execute
48
+ JSON.parse(response)["feelist"]
49
+ end
50
+
51
+ def api_resource
52
+ "feelist"
53
+ end
54
+
55
+ def payload
56
+ {
57
+ name: name,
58
+ fee_type_id: fee_type_id,
59
+ amount: amount,
60
+ cap: cap,
61
+ min: min,
62
+ max: max,
63
+ to: to
64
+ }
65
+ end
66
+ end
67
+ end
@@ -3,11 +3,14 @@ require "json"
3
3
 
4
4
  module PromisePay
5
5
  class Item
6
+ include Lib::DynamicAccessors
7
+
6
8
  attr_reader :id
7
9
 
8
10
  def initialize(id = nil, options = {})
9
11
  @id = id
10
- assign_instance_variables({'item' => options}) unless options.empty?
12
+
13
+ assign_instance_variables({'item' => options})
11
14
  end
12
15
 
13
16
  class << self
@@ -42,31 +45,5 @@ module PromisePay
42
45
  def api_resource
43
46
  "items/#{id}"
44
47
  end
45
-
46
- def assign_instance_variables(result)
47
- result.each do |attribute, value|
48
- if value.is_a?(Hash)
49
- value.each { |att, val| initialize_property(att, val) }
50
- else
51
- initialize_property(attribute, value)
52
- end
53
- end
54
- self
55
- end
56
-
57
- def initialize_property(attribute, value)
58
- attribute = attribute.gsub(/s$/, '_id') if ["buyers","sellers"].include? attribute
59
- Lib::DynamicAccessors.define_accessor(attribute, value, self) unless accessor_defined?(attribute)
60
- set_property(attribute, value)
61
- end
62
-
63
- def accessor_defined?(attribute)
64
- respond_to?(attribute) && respond_to?("#{attribute}=")
65
- end
66
-
67
- def set_property(attribute, value)
68
- setter_method = "#{attribute}="
69
- self.send(setter_method, value)
70
- end
71
48
  end
72
49
  end
@@ -1,41 +1,67 @@
1
1
  module PromisePay
2
2
  module Lib
3
3
  module DynamicAccessors
4
- class << self
5
- def define_accessor(attribute, value, object)
6
- klass = object.class
7
- if attribute.to_s.end_with? "_at"
8
- define_date_based_accessors(attribute, value, klass)
4
+ def assign_instance_variables(result)
5
+ return if result.empty?
6
+
7
+ result.each do |attribute, value|
8
+ if value.is_a?(Hash)
9
+ value.each { |att, val| initialize_property(att, val) }
9
10
  else
10
- define_standard_accessors(attribute, value, klass)
11
+ initialize_property(attribute, value)
11
12
  end
12
13
  end
14
+ self
15
+ end
16
+
17
+ def initialize_property(attribute, value)
18
+ attribute = attribute.gsub(/s$/, '_id') if ["buyers","sellers"].include? attribute
19
+ define_accessor(attribute, value, self) unless accessor_defined?(attribute)
20
+ set_property(attribute, value)
21
+ end
13
22
 
14
- private
23
+ def accessor_defined?(attribute)
24
+ respond_to?(attribute) && respond_to?("#{attribute}=")
25
+ end
15
26
 
16
- def define_date_based_accessors(attribute, value, klass)
17
- klass.class_eval %Q"
18
- def #{attribute}=(value)
19
- @#{attribute} = value.nil? ? nil : Time.parse(value).to_i
20
- end
27
+ def set_property(attribute, value)
28
+ setter_method = "#{attribute}="
29
+ self.send(setter_method, value)
30
+ end
21
31
 
22
- def #{attribute}
23
- @#{attribute}.nil? ? nil : Time.at(@#{attribute})
24
- end
25
- "
32
+ def define_accessor(attribute, value, object)
33
+ klass = object.class
34
+ if attribute.to_s.end_with? "_at"
35
+ define_date_based_accessors(attribute, value, klass)
36
+ else
37
+ define_standard_accessors(attribute, value, klass)
26
38
  end
39
+ end
27
40
 
28
- def define_standard_accessors(attribute, value, klass)
29
- klass.class_eval %Q"
30
- def #{attribute}=(value)
31
- @#{attribute} = value
32
- end
41
+ private
33
42
 
34
- def #{attribute}
35
- @#{attribute}
36
- end
37
- "
38
- end
43
+ def define_date_based_accessors(attribute, value, klass)
44
+ klass.class_eval %Q"
45
+ def #{attribute}=(value)
46
+ @#{attribute} = value.nil? ? nil : Time.parse(value).to_i
47
+ end
48
+
49
+ def #{attribute}
50
+ @#{attribute}.nil? ? nil : Time.at(@#{attribute})
51
+ end
52
+ "
53
+ end
54
+
55
+ def define_standard_accessors(attribute, value, klass)
56
+ klass.class_eval %Q"
57
+ def #{attribute}=(value)
58
+ @#{attribute} = value
59
+ end
60
+
61
+ def #{attribute}
62
+ @#{attribute}
63
+ end
64
+ "
39
65
  end
40
66
  end
41
67
  end
@@ -6,8 +6,8 @@ module PromisePay
6
6
  attr_reader :token
7
7
 
8
8
  def initialize(options = {})
9
- @user = options.fetch :user
10
- @password = options.fetch :password
9
+ @user = options.fetch(:user)
10
+ @password = options.fetch(:password)
11
11
  end
12
12
 
13
13
  def request_token
@@ -4,9 +4,11 @@ module PromisePay
4
4
  class Request
5
5
 
6
6
  def initialize(options = {})
7
- @path = options.fetch :path
8
- @user = options.fetch :user, PromisePay.api_user
9
- @password = options.fetch :password, PromisePay.api_key
7
+ @path = options.fetch(:path)
8
+ @user = options.fetch(:user) { PromisePay.api_user }
9
+ @password = options.fetch(:password) { PromisePay.api_key }
10
+ @method = options.fetch(:method) { :get }
11
+ @payload = options.fetch(:payload) { nil }
10
12
  @request = build_request
11
13
  end
12
14
 
@@ -23,13 +25,18 @@ module PromisePay
23
25
  private
24
26
 
25
27
  def build_request
26
- RestClient::Request.new(
27
- method: :get,
28
+ RestClient::Request.new(request_params)
29
+ end
30
+
31
+ def request_params
32
+ {
33
+ method: method,
28
34
  url: endpoint,
29
35
  user: user,
30
36
  password: password,
37
+ payload: payload,
31
38
  headers: { accept: :json, content_type: :json }
32
- )
39
+ }
33
40
  end
34
41
 
35
42
  def endpoint
@@ -47,6 +54,8 @@ module PromisePay
47
54
  attr_reader :path
48
55
  attr_reader :user
49
56
  attr_reader :password
57
+ attr_reader :method
58
+ attr_reader :payload
50
59
  attr_reader :request
51
60
  end
52
61
 
@@ -23,22 +23,22 @@ module PromisePay
23
23
  attr_accessor :buyer_country
24
24
 
25
25
  def initialize(options = {})
26
- @current_user_id = options.fetch :current_user_id, nil
27
- @item_name = options.fetch :item_name, nil
28
- @amount = options.fetch :amount, nil
29
- @seller_lastname = options.fetch :seller_lastname, nil
30
- @seller_firstname = options.fetch :seller_firstname, nil
31
- @buyer_lastname = options.fetch :buyer_lastname, nil
32
- @buyer_firstname = options.fetch :buyer_firstname, nil
33
- @seller_email = options.fetch :seller_email, nil
34
- @buyer_email = options.fetch :buyer_email, nil
35
- @external_item_id = options.fetch :external_item_id, nil
36
- @external_seller_id = options.fetch :external_seller_id, nil
37
- @external_buyer_id = options.fetch :external_buyer_id, nil
38
- @fee_ids = options.fetch :fee_ids, nil
39
- @payment_type_id = options.fetch :payment_type_id, nil
40
- @seller_country = options.fetch :seller_country, nil
41
- @buyer_country = options.fetch :buyer_country, nil
26
+ @current_user_id = options.fetch(:current_user_id) { nil }
27
+ @item_name = options.fetch(:item_name) { nil }
28
+ @amount = options.fetch(:amount) { nil }
29
+ @seller_lastname = options.fetch(:seller_lastname) { nil }
30
+ @seller_firstname = options.fetch(:seller_firstname) { nil }
31
+ @buyer_lastname = options.fetch(:buyer_lastname) { nil }
32
+ @buyer_firstname = options.fetch(:buyer_firstname) { nil }
33
+ @seller_email = options.fetch(:seller_email) { nil }
34
+ @buyer_email = options.fetch(:buyer_email) { nil }
35
+ @external_item_id = options.fetch(:external_item_id) { nil }
36
+ @external_seller_id = options.fetch(:external_seller_id) { nil }
37
+ @external_buyer_id = options.fetch(:external_buyer_id) { nil }
38
+ @fee_ids = options.fetch(:fee_ids) { nil }
39
+ @payment_type_id = options.fetch(:payment_type_id) { nil }
40
+ @seller_country = options.fetch(:seller_country) { nil }
41
+ @buyer_country = options.fetch(:buyer_country) { nil }
42
42
  end
43
43
 
44
44
  def request_token
@@ -3,11 +3,14 @@ require "json"
3
3
 
4
4
  module PromisePay
5
5
  class User
6
+ include Lib::DynamicAccessors
7
+
6
8
  attr_reader :id
7
9
 
8
10
  def initialize(id = nil, options = {})
9
11
  @id = id
10
- assign_instance_variables({'user' => options}) unless options.empty?
12
+
13
+ assign_instance_variables({'user' => options})
11
14
  end
12
15
 
13
16
  class << self
@@ -42,26 +45,5 @@ module PromisePay
42
45
  def api_resource
43
46
  "users/#{id}"
44
47
  end
45
-
46
- def assign_instance_variables(result)
47
- result["user"].each do |attribute, value|
48
- initialize_property(attribute, value)
49
- end
50
- self
51
- end
52
-
53
- def initialize_property(attribute, value)
54
- Lib::DynamicAccessors.define_accessor(attribute, value, self) unless accessor_defined?(attribute)
55
- set_property(attribute, value)
56
- end
57
-
58
- def accessor_defined?(attribute)
59
- respond_to?(attribute) && respond_to?("#{attribute}=")
60
- end
61
-
62
- def set_property(attribute, value)
63
- setter_method = "#{attribute}="
64
- self.send(setter_method, value)
65
- end
66
48
  end
67
49
  end
@@ -1,3 +1,3 @@
1
1
  module PromisePay
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.6"
3
3
  end
data/lib/promise_pay.rb CHANGED
@@ -3,6 +3,7 @@ require "promise_pay/marketplace"
3
3
  require "promise_pay/request"
4
4
  require "promise_pay/session"
5
5
  require "promise_pay/user"
6
+ require "promise_pay/feelist"
6
7
  require "promise_pay/version"
7
8
  require "promise_pay/collection"
8
9
  require "promise_pay/country"
@@ -15,7 +16,6 @@ module PromisePay
15
16
  attr_accessor :api_user
16
17
  attr_accessor :api_key
17
18
  attr_accessor :env
18
- attr_accessor :fee_ids
19
19
  end
20
20
 
21
21
  class InvalidRequest < StandardError; end
@@ -0,0 +1,66 @@
1
+ require "spec_helper"
2
+
3
+ describe PromisePay::Feelist do
4
+ let(:request) { double("PromisePay::Request", execute: sample_response) }
5
+
6
+ before do
7
+ allow(PromisePay::Request).to receive(:new) { request }
8
+ end
9
+
10
+ describe ".create" do
11
+ let(:sample_response) { File.read("./spec/support/fixtures/feelist/create.json") }
12
+
13
+ let(:params) do
14
+ {
15
+ name: "Transaction fee",
16
+ fee_type_id: 1,
17
+ amount: 1500,
18
+ cap: nil,
19
+ min: nil,
20
+ max: nil,
21
+ to: 'seller'
22
+ }
23
+ end
24
+
25
+ it "returns a PromisePay::Feelist object" do
26
+ expect(described_class.create(params)).to be_a_kind_of PromisePay::Feelist
27
+ end
28
+
29
+ it "PromisePay::Feelist has correctly assigned attributes" do
30
+ promise_pay_fee = described_class.create(params)
31
+
32
+ expect(promise_pay_fee.id).to eq "5c07f36a-d18f-4153-9a75-ebf9f4f2f9ef"
33
+ expect(promise_pay_fee.name).to eq "Transaction fee"
34
+ expect(promise_pay_fee.fee_type_id).to eq 1
35
+ expect(promise_pay_fee.amount).to eq 1500
36
+ expect(promise_pay_fee.cap).to eq nil
37
+ expect(promise_pay_fee.min).to eq nil
38
+ expect(promise_pay_fee.max).to eq nil
39
+ expect(promise_pay_fee.to).to eq 'seller'
40
+ end
41
+
42
+ it "instantiates PromisePay::Request with the correct path" do
43
+ expect(PromisePay::Request).
44
+ to receive(:new).
45
+ with(hash_including(path: 'feelist'))
46
+
47
+ described_class.create(params)
48
+ end
49
+
50
+ it "instantiates PromisePay::Request with the correct method" do
51
+ expect(PromisePay::Request).
52
+ to receive(:new).
53
+ with(hash_including(method: :post))
54
+
55
+ described_class.create(params)
56
+ end
57
+
58
+ it "instantiates PromisePay::Request with the correct payload" do
59
+ expect(PromisePay::Request).
60
+ to receive(:new).
61
+ with(hash_including(payload: params))
62
+
63
+ described_class.create(params)
64
+ end
65
+ end
66
+ end
@@ -4,7 +4,7 @@ describe PromisePay::Item do
4
4
  let(:request) { double("PromisePay::Request", execute: sample_response) }
5
5
 
6
6
  before do
7
- PromisePay::Request.stub(:new) { request }
7
+ allow(PromisePay::Request).to receive(:new) { request }
8
8
  end
9
9
 
10
10
  describe ".find" do
@@ -31,7 +31,7 @@ describe PromisePay::Item do
31
31
 
32
32
  it "instantiates PromisePay::Request with the correct path" do
33
33
  valid_path = "items/#{item_id}"
34
- PromisePay::Request.should_receive(:new).with(path: valid_path)
34
+ expect(PromisePay::Request).to receive(:new).with(path: valid_path)
35
35
  described_class.find(item_id)
36
36
  end
37
37
  end
@@ -54,7 +54,7 @@ describe PromisePay::Item do
54
54
 
55
55
  it "instantiates PromisePay::Request with the correct path" do
56
56
  valid_path = "items/"
57
- PromisePay::Request.should_receive(:new).with(path: valid_path)
57
+ expect(PromisePay::Request).to receive(:new).with(path: valid_path)
58
58
  described_class.find_all
59
59
  end
60
60
  end
@@ -9,13 +9,13 @@ describe PromisePay::Marketplace do
9
9
  let(:password) { "password" }
10
10
 
11
11
  before do
12
- PromisePay::Request.stub(:new) { request }
12
+ allow(PromisePay::Request).to receive(:new) { request }
13
13
  end
14
14
 
15
15
  it "instantiates PromisePay::Request with the correct path" do
16
16
  valid_path = "request_token"
17
17
 
18
- PromisePay::Request.should_receive(:new).with(
18
+ expect(PromisePay::Request).to receive(:new).with(
19
19
  path: valid_path,
20
20
  user: user,
21
21
  password: password
@@ -25,7 +25,7 @@ describe PromisePay::Marketplace do
25
25
  end
26
26
 
27
27
  it "returns the generated marketplace token" do
28
- described_class.new(user: user, password: password).request_token.should eq("123abc")
28
+ expect(described_class.new(user: user, password: password).request_token).to eq("123abc")
29
29
  end
30
30
  end
31
31
  end
@@ -18,31 +18,48 @@ describe PromisePay::Request do
18
18
  expect(request).to be_an_instance_of PromisePay::Request
19
19
  end
20
20
 
21
- it "uses the test api when configured" do
22
- expect { PromisePay.env = :test }.
23
- to change { request.send(:endpoint).start_with? PromisePay::TEST_HOST }.
24
- from(false).to(true)
25
- end
26
-
27
21
  it "builds a RestClient::Request" do
28
22
  expect(request.send(:request)).to be_an_instance_of RestClient::Request
29
23
  end
24
+
25
+ it "uses the test api endpoint when configured" do
26
+ PromisePay.env = :test
27
+
28
+ request_endpoint = request.send(:endpoint)
29
+ expect(request_endpoint.start_with?(PromisePay::TEST_HOST)).to eq(true)
30
+ end
31
+
32
+ it "uses the production api endpoint when configured" do
33
+ PromisePay.env = :production
34
+
35
+ request_endpoint = request.send(:endpoint)
36
+ expect(request_endpoint.start_with?(PromisePay::API_HOST)).to eq(true)
37
+ end
38
+
39
+ it "takes on optional request method arguement" do
40
+ request = described_class.new(path: "users/", method: :post)
41
+ expect(request.send(:method)).to eq(:post)
42
+ end
30
43
  end
31
44
 
32
45
  describe "#execute" do
33
46
  it "calls the RestClient::Request to be exectued" do
34
47
  rest_client_request = request.send(:request)
35
- rest_client_request.should_receive(:execute)
48
+ expect(rest_client_request).to receive(:execute)
36
49
  request.execute
37
50
  end
38
51
 
39
52
  it "re-raises RestClient::Unauthorized exceptions" do
40
- RestClient::Request.any_instance.stub(:execute) { raise RestClient::Unauthorized }
53
+ rest_client_request = request.send(:request)
54
+ allow(rest_client_request).to receive(:execute) { raise RestClient::Unauthorized }
55
+
41
56
  expect { request.execute }.to raise_error PromisePay::RequestError
42
57
  end
43
58
 
44
59
  it "re-raises RestClient::BadRequest exceptions" do
45
- RestClient::Request.any_instance.stub(:execute) { raise RestClient::BadRequest }
60
+ rest_client_request = request.send(:request)
61
+ allow(rest_client_request).to receive(:execute) { raise RestClient::BadRequest }
62
+
46
63
  expect { request.execute }.to raise_error PromisePay::RequestError
47
64
  end
48
65
 
@@ -28,7 +28,7 @@ describe PromisePay::Session do
28
28
 
29
29
  context "with valid params" do
30
30
  before do
31
- PromisePay::Request.stub(:new) { request }
31
+ allow(PromisePay::Request).to receive(:new) { request }
32
32
  end
33
33
 
34
34
  it "returns the generated session token from PromisePay" do
@@ -42,7 +42,7 @@ describe PromisePay::Session do
42
42
 
43
43
  it "instantiates PromisePay::Request with the correct path" do
44
44
  valid_path = "request_session_token?#{valid_params.to_param}"
45
- PromisePay::Request.should_receive(:new).with(path: valid_path)
45
+ expect(PromisePay::Request).to receive(:new).with(path: valid_path)
46
46
  session.request_token
47
47
  end
48
48
  end
@@ -4,7 +4,7 @@ describe PromisePay::User do
4
4
  let(:request) { double("PromisePay::Request", execute: sample_response) }
5
5
 
6
6
  before do
7
- PromisePay::Request.stub(:new) { request }
7
+ allow(PromisePay::Request).to receive(:new) { request }
8
8
  end
9
9
 
10
10
  describe ".find" do
@@ -30,7 +30,7 @@ describe PromisePay::User do
30
30
 
31
31
  it "instantiates PromisePay::Request with the correct path" do
32
32
  valid_path = "users/#{user_id}"
33
- PromisePay::Request.should_receive(:new).with(path: valid_path)
33
+ expect(PromisePay::Request).to receive(:new).with(path: valid_path)
34
34
  described_class.find(user_id)
35
35
  end
36
36
  end
@@ -53,7 +53,7 @@ describe PromisePay::User do
53
53
 
54
54
  it "instantiates PromisePay::Request with the correct path" do
55
55
  valid_path = "users/"
56
- PromisePay::Request.should_receive(:new).with(path: valid_path)
56
+ expect(PromisePay::Request).to receive(:new).with(path: valid_path)
57
57
  described_class.find_all
58
58
  end
59
59
  end
data/spec/spec_helper.rb CHANGED
@@ -4,3 +4,4 @@ require "promise_pay/marketplace"
4
4
  require "promise_pay/request"
5
5
  require "promise_pay/session"
6
6
  require "promise_pay/user"
7
+ require "promise_pay/feelist"
@@ -0,0 +1,14 @@
1
+ {
2
+ "feelist": {
3
+ "uuid": "5c07f36a-d18f-4153-9a75-ebf9f4f2f9ef",
4
+ "name": "Transaction fee",
5
+ "fee_type_id": 1,
6
+ "amount": 1500,
7
+ "cap": null,
8
+ "min": null,
9
+ "max": null,
10
+ "to": "seller",
11
+ "id": "5c07f36a-d18f-4153-9a75-ebf9f4f2f9ef",
12
+ "href": "/feelist/5c07f36a-d18f-4153-9a75-ebf9f4f2f9ef"
13
+ }
14
+ }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: promise_pay
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Liam Norton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-18 00:00:00.000000000 Z
11
+ date: 2015-03-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -112,6 +112,7 @@ files:
112
112
  - lib/promise_pay.rb
113
113
  - lib/promise_pay/collection.rb
114
114
  - lib/promise_pay/country.rb
115
+ - lib/promise_pay/feelist.rb
115
116
  - lib/promise_pay/item.rb
116
117
  - lib/promise_pay/lib/dynamic_accessors.rb
117
118
  - lib/promise_pay/marketplace.rb
@@ -121,12 +122,14 @@ files:
121
122
  - lib/promise_pay/version.rb
122
123
  - promise_pay.gemspec
123
124
  - spec/promise_pay/country_spec.rb
125
+ - spec/promise_pay/feelist_spec.rb
124
126
  - spec/promise_pay/item_spec.rb
125
127
  - spec/promise_pay/marketplace_spec.rb
126
128
  - spec/promise_pay/request_spec.rb
127
129
  - spec/promise_pay/session_spec.rb
128
130
  - spec/promise_pay/user_spec.rb
129
131
  - spec/spec_helper.rb
132
+ - spec/support/fixtures/feelist/create.json
130
133
  - spec/support/fixtures/item/find.json
131
134
  - spec/support/fixtures/item/find_all.json
132
135
  - spec/support/fixtures/token_generation.json
@@ -158,12 +161,14 @@ specification_version: 4
158
161
  summary: PromisePay gem
159
162
  test_files:
160
163
  - spec/promise_pay/country_spec.rb
164
+ - spec/promise_pay/feelist_spec.rb
161
165
  - spec/promise_pay/item_spec.rb
162
166
  - spec/promise_pay/marketplace_spec.rb
163
167
  - spec/promise_pay/request_spec.rb
164
168
  - spec/promise_pay/session_spec.rb
165
169
  - spec/promise_pay/user_spec.rb
166
170
  - spec/spec_helper.rb
171
+ - spec/support/fixtures/feelist/create.json
167
172
  - spec/support/fixtures/item/find.json
168
173
  - spec/support/fixtures/item/find_all.json
169
174
  - spec/support/fixtures/token_generation.json