paysio 1.0.3 → 1.0.4

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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,8 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- paysio (1.0.2)
4
+ paysio (1.0.3)
5
+ activemodel
5
6
  activesupport
6
7
  oj (> 2)
7
8
  rest-client (~> 1.4)
@@ -9,20 +10,38 @@ PATH
9
10
  GEM
10
11
  remote: https://rubygems.org/
11
12
  specs:
13
+ activemodel (3.2.12)
14
+ activesupport (= 3.2.12)
15
+ builder (~> 3.0.0)
12
16
  activesupport (3.2.12)
13
17
  i18n (~> 0.6)
14
18
  multi_json (~> 1.0)
15
- i18n (0.6.1)
19
+ builder (3.0.4)
20
+ diff-lcs (1.2.1)
21
+ i18n (0.6.4)
22
+ metaclass (0.0.1)
16
23
  mime-types (1.21)
17
- multi_json (1.6.0)
18
- oj (2.0.4)
24
+ mocha (0.10.5)
25
+ metaclass (~> 0.0.1)
26
+ multi_json (1.6.1)
27
+ oj (2.0.10)
19
28
  rake (10.0.3)
20
29
  rest-client (1.6.7)
21
30
  mime-types (>= 1.16)
31
+ rspec (2.13.0)
32
+ rspec-core (~> 2.13.0)
33
+ rspec-expectations (~> 2.13.0)
34
+ rspec-mocks (~> 2.13.0)
35
+ rspec-core (2.13.1)
36
+ rspec-expectations (2.13.0)
37
+ diff-lcs (>= 1.1.3, < 2.0)
38
+ rspec-mocks (2.13.0)
22
39
 
23
40
  PLATFORMS
24
41
  ruby
25
42
 
26
43
  DEPENDENCIES
44
+ mocha
27
45
  paysio!
28
46
  rake
47
+ rspec
data/README.rdoc CHANGED
@@ -17,18 +17,21 @@
17
17
  Paysio::Customer.all # get list of customers
18
18
 
19
19
  == Actions: update
20
- customer = Paysio::Customer.find("cs_1111111")
21
- customer.update(description: "test user")
20
+ customer = Paysio::Customer.retrieve("cs_1111111")
21
+ customer.description = "test user"
22
+ customer.save
22
23
 
23
24
  == Actions: destroy
24
- customer = Paysio::Customer.find("cs_1111111")
25
+ customer = Paysio::Customer.retrieve("cs_1111111")
25
26
  customer.destroy
26
27
 
27
28
  == Actions: refund charge
28
- charge = Paysio::Charge.find("ch_1111111")
29
+ charge = Paysio::Charge.retrieve("ch_1111111")
29
30
  charge.refund
30
31
 
31
32
 
32
33
  == Actions: redirect to charge after create (e.g. in Ruby on Rails)
33
- charge = Paysio::Charge.create(amount: 100, payment_system_id: 'test', description: 'test charge')
34
- redirect_to charge.redirect_url
34
+ def create
35
+ charge = Paysio::Charge.create(amount: 100, payment_system_id: 't_123', description: 'test charge')
36
+ redirect_to charge.redirect
37
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.4
@@ -3,9 +3,8 @@ module Paysio
3
3
  module Create
4
4
  module ClassMethods
5
5
  def create(attrs = {})
6
- validate!(attrs)
7
6
  response = Paysio::Client.request(:post, path, attrs)
8
- Resource.build_from(response)
7
+ response["error"].blank? ? Resource.build_from(response) : response
9
8
  end
10
9
  end
11
10
 
@@ -6,6 +6,7 @@ module Paysio
6
6
  response = Paysio::Client.request(:get, "#{path}/#{id}")
7
7
  Resource.build_from(response)
8
8
  end
9
+ alias_method :retrieve, :find
9
10
  end
10
11
 
11
12
  def self.included(base)
@@ -2,9 +2,14 @@ module Paysio
2
2
  module Actions
3
3
  module Update
4
4
  def update(attrs = {})
5
- validate!(to_hash.merge(attrs))
6
5
  response = Paysio::Client.request(:put, path, attrs)
7
- refresh_from(response.to_hash)
6
+ response["error"].blank? ? refresh_from(response.to_hash) : response
7
+ end
8
+
9
+ def save
10
+ @previously_changed = changes
11
+ @changed_attributes.clear
12
+ update(changed_attributes)
8
13
  end
9
14
  end
10
15
  end
data/lib/paysio/client.rb CHANGED
@@ -3,17 +3,17 @@ module Paysio
3
3
  class << self
4
4
  def request(method, path, params = {}, headers = {})
5
5
  unless Paysio.api_key
6
- raise Paysio::Errors::NotAuthorized, "Please specify Paysio.api_key"
6
+ raise Paysio::Exceptions::NotAuthorized, "Please specify Paysio.api_key"
7
7
  end
8
8
  headers = {
9
- user_agent: "Pays.io RubyClient/#{Paysio::VERSION}",
10
- content_type: 'application/x-www-form-urlencoded'
9
+ :user_agent => "Pays.io RubyClient/#{Paysio::VERSION}",
10
+ :content_type => 'application/x-www-form-urlencoded'
11
11
  }.merge(headers)
12
12
  opts = {
13
- url: Paysio.api_url(path),
14
- method: method,
15
- timeout: 80,
16
- headers: headers
13
+ :url => Paysio.api_url(path),
14
+ :method => method,
15
+ :timeout => 80,
16
+ :headers => headers
17
17
  }
18
18
 
19
19
  # build params
@@ -28,7 +28,7 @@ module Paysio
28
28
  begin
29
29
  resp = Paysio::JSON.decode(body)
30
30
  rescue Oj::ParseError
31
- # raise APIError.new("Invalid response object from API: #{body.inspect} (#{code})", code, body)
31
+ raise Paysio::Exceptions::APIError.new("Invalid response object from API: #{body.inspect} (#{code})", code, body)
32
32
  end
33
33
  Paysio::Resource.build_from(resp, response.headers[:location])
34
34
  end
@@ -0,0 +1,6 @@
1
+ module Paysio
2
+ module Exceptions
3
+ class NotAuthorized < Exception; end;
4
+ class APIError < Exception; end;
5
+ end
6
+ end
data/lib/paysio/json.rb CHANGED
@@ -6,7 +6,7 @@ module Paysio
6
6
  end
7
7
 
8
8
  def encode(json)
9
- Oj.dump(json)
9
+ Oj.dump(json, mode: :compat)
10
10
  end
11
11
  end
12
12
  end
@@ -1,6 +1,9 @@
1
+ require 'active_model/dirty'
1
2
  module Paysio
2
3
  class Resource
3
- attr_accessor :redirect_url
4
+ include ActiveModel::Dirty
5
+
6
+ attr_accessor :redirect
4
7
 
5
8
  def initialize(id = nil)
6
9
  @values = {}
@@ -23,7 +26,13 @@ module Paysio
23
26
  end
24
27
 
25
28
  def method_missing(name, *opts)
26
- @values[name.to_s] if @values.has_key?(name.to_s)
29
+ if name[-1] == '='
30
+ name = name.to_s.gsub(/\=$/, '')
31
+ send(:"#{name}_will_change!")
32
+ @values[name.to_s] = opts.first if @values.has_key?(name.to_s)
33
+ else
34
+ @values[name.to_s] if @values.has_key?(name.to_s)
35
+ end
27
36
  end
28
37
 
29
38
  def to_json(*opts)
@@ -38,6 +47,14 @@ module Paysio
38
47
  @values
39
48
  end
40
49
 
50
+ def attributes
51
+ to_hash.reject{ |k, v| v.is_a? (Paysio::Resource)}
52
+ end
53
+
54
+ def attribute(key)
55
+ to_hash[key]
56
+ end
57
+
41
58
  def each(&blk)
42
59
  @values.each(&blk)
43
60
  end
@@ -56,25 +73,6 @@ module Paysio
56
73
  @@registered_resources << resource_name.to_s
57
74
  end
58
75
 
59
- def validates_presence_of(field)
60
- @validate_presence_of ||= []
61
- @validate_presence_of << field.to_s
62
- end
63
-
64
- def valid?(attrs)
65
- @validate_presence_of ||= []
66
- @validate_presence_of.all? do |field|
67
- attrs.symbolize_keys.has_key?(field.to_sym)
68
- end
69
- end
70
-
71
- def validate!(attrs)
72
- unless valid?(attrs)
73
- raise Paysio::Errors::ResourceNotValid,
74
- "#{self.name} should have following attributes: #{@validate_presence_of.inspect}"
75
- end
76
- end
77
-
78
76
  def path
79
77
  "/#{self.name.demodulize.tableize}"
80
78
  end
@@ -91,7 +89,8 @@ module Paysio
91
89
  end
92
90
  resource = klass.new(resp['id'])
93
91
  resource.refresh_from(resp)
94
- resource.redirect_url = redirect_url
92
+ resource.class.define_attribute_methods(resource.attributes.keys)
93
+ resource.redirect = redirect_url
95
94
  resource
96
95
  else
97
96
  resp
@@ -6,10 +6,6 @@ module Paysio
6
6
  include Paysio::Actions::Find
7
7
  resource :charge
8
8
 
9
- validates_presence_of :amount
10
- validates_presence_of :payment_system_id
11
- validates_presence_of :description
12
-
13
9
  def refund(attrs = {})
14
10
  response = Paysio::Client.request(:post, action_path(:refund), attrs)
15
11
  refresh_from(response.to_hash)
@@ -6,8 +6,5 @@ module Paysio
6
6
  include Paysio::Actions::Destroy
7
7
  include Paysio::Actions::Find
8
8
  resource :coupon
9
-
10
- validates_presence_of :code
11
- validates_presence_of :percent_off
12
9
  end
13
10
  end
@@ -6,8 +6,5 @@ module Paysio
6
6
  include Paysio::Actions::Destroy
7
7
  include Paysio::Actions::Find
8
8
  resource :customer
9
-
10
- validates_presence_of :email
11
- validates_presence_of :description
12
9
  end
13
10
  end
@@ -0,0 +1,8 @@
1
+ module Paysio
2
+ class Payout < Paysio::Resource
3
+ include Paysio::Actions::List
4
+ include Paysio::Actions::Create
5
+ include Paysio::Actions::Find
6
+ resource :payout
7
+ end
8
+ end
@@ -6,8 +6,5 @@ module Paysio
6
6
  include Paysio::Actions::Destroy
7
7
  include Paysio::Actions::Find
8
8
  resource :reward
9
-
10
- validates_presence_of :percent_off
11
- validates_presence_of :title
12
9
  end
13
10
  end
@@ -6,8 +6,5 @@ module Paysio
6
6
  include Paysio::Actions::Destroy
7
7
  include Paysio::Actions::Find
8
8
  resource :wallet
9
-
10
- validates_presence_of :type
11
- validates_presence_of :account
12
9
  end
13
10
  end
@@ -1,3 +1,3 @@
1
1
  module Paysio
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end
data/lib/paysio.rb CHANGED
@@ -17,9 +17,8 @@ require 'paysio/actions/update'
17
17
  require 'paysio/actions/destroy'
18
18
  require 'paysio/actions/find'
19
19
 
20
- # errors
21
- require 'paysio/errors/not_authorized'
22
- require 'paysio/errors/resource_not_valid'
20
+ # exceptions
21
+ require 'paysio/exceptions'
23
22
 
24
23
  # resources
25
24
  require 'paysio/resources/list'
@@ -29,6 +28,7 @@ require 'paysio/resources/customer'
29
28
  require 'paysio/resources/reward'
30
29
  require 'paysio/resources/coupon'
31
30
  require 'paysio/resources/event'
31
+ require 'paysio/resources/payout'
32
32
  require 'paysio/resources/log'
33
33
 
34
34
  module Paysio
data/paysio.gemspec CHANGED
@@ -15,9 +15,12 @@ spec = Gem::Specification.new do |s|
15
15
 
16
16
  s.add_dependency('rest-client', '~> 1.4')
17
17
  s.add_dependency('activesupport')
18
+ s.add_dependency('activemodel')
18
19
  s.add_dependency('oj', '> 2')
19
20
 
20
21
  s.add_development_dependency('rake')
22
+ s.add_development_dependency('rspec')
23
+ s.add_development_dependency('mocha')
21
24
 
22
25
  s.files = `git ls-files`.split("\n")
23
26
  s.test_files = `git ls-files -- test/*`.split("\n")
@@ -0,0 +1,17 @@
1
+ require 'spec_helper'
2
+ describe "API Bindings" do
3
+
4
+ before :all do
5
+ @client = authorized_paysio_client
6
+ end
7
+
8
+ it "should not fetch from network while creating a new Resource" do
9
+ @client.expects(:get).never
10
+ Paysio::Charge.new("someid")
11
+ end
12
+
13
+ it "should add redirect url to resource from location" do
14
+ @client.expects(:get).once.returns(test_response(test_charge, 200, 'http://example.com'))
15
+ Paysio::Charge.retrieve("someid").redirect == 'http://example.com'
16
+ end
17
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+ describe Paysio::Charge do
3
+ it { should be_listable_resource }
4
+ it { should be_updatable_resource }
5
+
6
+ it "should return charge on create" do
7
+ client = authorized_paysio_client
8
+
9
+ client.expects(:post).once.returns(test_response(test_charge))
10
+ c = Paysio::Charge.create
11
+ c.should be_a_kind_of(Paysio::Charge)
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+ describe Paysio::Coupon do
3
+ it { should be_listable_resource }
4
+ it { should be_updatable_resource }
5
+
6
+ it "should return coupon on create" do
7
+ client = authorized_paysio_client
8
+
9
+ client.expects(:post).once.returns(test_response(test_coupon))
10
+ c = Paysio::Coupon.create
11
+ c.should be_a_kind_of(Paysio::Coupon)
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+ describe Paysio::Customer do
3
+ it { should be_listable_resource }
4
+ it { should be_updatable_resource }
5
+
6
+ it "should return charge on create" do
7
+ client = authorized_paysio_client
8
+
9
+ client.expects(:post).once.returns(test_response(test_customer))
10
+ c = Paysio::Charge.create
11
+ c.should be_a_kind_of(Paysio::Customer)
12
+ end
13
+ end
@@ -0,0 +1,4 @@
1
+ require 'spec_helper'
2
+ describe Paysio::Event do
3
+ it { should be_listable_resource }
4
+ end
@@ -0,0 +1,4 @@
1
+ require 'spec_helper'
2
+ describe Paysio::Log do
3
+ it { should be_listable_resource }
4
+ end
@@ -0,0 +1,20 @@
1
+ require 'spec_helper'
2
+ describe Paysio::Payout do
3
+ it { should be_listable_resource }
4
+
5
+ it "should return payout on create" do
6
+ client = authorized_paysio_client
7
+
8
+ client.expects(:post).once.returns(test_response(test_payout))
9
+ c = Paysio::Payout.create
10
+ c.should be_a_kind_of(Paysio::Payout)
11
+ end
12
+
13
+ it "should have wallet" do
14
+ client = authorized_paysio_client
15
+
16
+ client.expects(:get).once.returns(test_response(test_payout))
17
+ c = Paysio::Payout.retrieve('someid')
18
+ c.wallet.should be_a_kind_of(Paysio::Wallet)
19
+ end
20
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+ describe Paysio::Reward do
3
+ it { should be_listable_resource }
4
+ it { should be_updatable_resource }
5
+
6
+ it "should return reward on create" do
7
+ client = authorized_paysio_client
8
+
9
+ client.expects(:post).once.returns(test_response(test_reward))
10
+ c = Paysio::Reward.create
11
+ c.should be_a_kind_of(Paysio::Reward)
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ require 'spec_helper'
2
+ describe Paysio::Wallet do
3
+ it { should be_listable_resource }
4
+ it { should be_updatable_resource }
5
+
6
+ it "should return wallet on create" do
7
+ client = authorized_paysio_client
8
+
9
+ client.expects(:post).once.returns(test_response(test_wallet))
10
+ c = Paysio::Wallet.create
11
+ c.should be_a_kind_of(Paysio::Wallet)
12
+ end
13
+ end
@@ -0,0 +1,8 @@
1
+ require 'paysio'
2
+ require 'support/paysio'
3
+ require 'support/paysio_responses'
4
+ require 'support/test_matchers'
5
+ RSpec.configure do |config|
6
+ include Paysio::TestResponses
7
+ config.mock_with :mocha
8
+ end
@@ -0,0 +1,24 @@
1
+ module Paysio
2
+ class Client
3
+ @mock_rest_client = nil
4
+
5
+ def self.mock_rest_client(mock_client)
6
+ @mock_rest_client = mock_client
7
+ end
8
+
9
+ def self.execute(opts)
10
+ get_params = (opts[:headers] || {})[:params]
11
+ post_params = opts[:payload]
12
+ case opts[:method]
13
+ when :get then @mock_rest_client.get opts[:url], get_params, post_params
14
+ when :post then @mock_rest_client.post opts[:url], get_params, post_params
15
+ when :put then @mock_rest_client.put opts[:url], get_params, post_params
16
+ when :delete then @mock_rest_client.delete opts[:url], get_params, post_params
17
+ end
18
+ end
19
+ end
20
+ end
21
+ def authorized_paysio_client
22
+ Paysio.api_key = 'paysio'
23
+ Paysio::Client.mock_rest_client(mock)
24
+ end
@@ -0,0 +1,156 @@
1
+ module Paysio::TestResponses
2
+ def test_response(body, code = 200, location = 'test')
3
+ body = Paysio::JSON.encode(body) if !(body.kind_of? String)
4
+ m = mock
5
+ m.instance_variable_set('@data', { body: body, code: code , location: location})
6
+ def m.body; @data[:body]; end
7
+ def m.code; @data[:code]; end
8
+ def m.headers; {location: @data[:location]} end
9
+ m
10
+ end
11
+
12
+ def test_customer(params={})
13
+ {
14
+ :object => 'customer',
15
+ :merchant_id => 'm_12345',
16
+ :email => 'user@example.com',
17
+ :phone_number => '+71234567',
18
+ :name => 'Bruce Lee',
19
+ :description => 'Foo bar',
20
+ :created => '1345537759',
21
+ :livemode => false
22
+ }.merge(params)
23
+ end
24
+
25
+ def test_customer_array
26
+ {
27
+ :data => [test_customer, test_customer, test_customer],
28
+ :object => 'list'
29
+ }
30
+ end
31
+
32
+ def test_charge(params={})
33
+ {
34
+ :object => 'charge',
35
+ :merchant_id => 'm_12345',
36
+ :amount => 100,
37
+ :fee => 10,
38
+ :status => 'pending',
39
+ :order_id => 'o_1234234',
40
+ :return_url => 'http://example.com',
41
+ :livemode => false
42
+ }.merge(params)
43
+ end
44
+
45
+ def test_charge_array
46
+ {
47
+ :data => [test_charge, test_charge, test_charge],
48
+ :object => 'list'
49
+ }
50
+ end
51
+
52
+ def test_coupon(params={})
53
+ {
54
+ :object => 'coupon',
55
+ :merchant_id => 'm_12345',
56
+ :percent_off => 30,
57
+ :currency_id => 'usd',
58
+ :code => 'foo',
59
+ :livemode => false
60
+ }.merge(params)
61
+ end
62
+
63
+ def test_coupon_array
64
+ {
65
+ :data => [test_coupon, test_coupon, test_coupon],
66
+ :object => 'list'
67
+ }
68
+ end
69
+
70
+ def test_event(params={})
71
+ {
72
+ :object => 'event',
73
+ :merchant_id => 'm_12345',
74
+ :type => 'charge.create',
75
+ :livemode => false
76
+ }.merge(params)
77
+ end
78
+
79
+ def test_event_array
80
+ {
81
+ :data => [test_event, test_event, test_event],
82
+ :object => 'list'
83
+ }
84
+ end
85
+
86
+ def test_log(params={})
87
+ {
88
+ :object => 'log',
89
+ :request_url => 'http://example.com',
90
+ :request_ip => '127.0.0.1',
91
+ :livemode => false
92
+ }.merge(params)
93
+ end
94
+
95
+ def test_log_array
96
+ {
97
+ :data => [test_log, test_log, test_log],
98
+ :object => 'list'
99
+ }
100
+ end
101
+
102
+ def test_wallet(params={})
103
+ {
104
+ :object => 'wallet',
105
+ :merchant_id => 'm_12345',
106
+ :type => 'test',
107
+ :account => 'foo',
108
+ :account_number => '12345',
109
+ :account_id => 'ac_12345',
110
+ :livemode => false
111
+ }.merge(params)
112
+ end
113
+
114
+ def test_wallet_array
115
+ {
116
+ :data => [test_wallet, test_wallet, test_wallet],
117
+ :object => 'list'
118
+ }
119
+ end
120
+
121
+ def test_payout(params={})
122
+ {
123
+ :object => 'payout',
124
+ :merchant_id => 'm_12345',
125
+ :amount => 50,
126
+ :status => 'success',
127
+ :wallet => test_wallet,
128
+ :livemode => false
129
+ }.merge(params)
130
+ end
131
+
132
+ def test_payout_array
133
+ {
134
+ :data => [test_payout, test_payout, test_payout],
135
+ :object => 'list'
136
+ }
137
+ end
138
+
139
+ def test_reward(params={})
140
+ {
141
+ :object => 'reward',
142
+ :merchant_id => 'm_12345',
143
+ :title => 'Foo Bar',
144
+ :percent_off => 50,
145
+ :max_amount => 100,
146
+ :livemode => false
147
+ }.merge(params)
148
+ end
149
+
150
+ def test_reward_array
151
+ {
152
+ :data => [test_reward, test_reward, test_reward],
153
+ :object => 'list'
154
+ }
155
+ end
156
+ end
@@ -0,0 +1,27 @@
1
+ RSpec::Matchers.define :be_listable_resource do |expected|
2
+ match do |actual|
3
+ client = authorized_paysio_client
4
+ subject = actual.class
5
+ test_response_hash = send(:"test_#{subject.name.demodulize.underscore}_array")
6
+
7
+ client.expects(:get).once.returns(test_response(test_response_hash))
8
+ c = subject.all.data
9
+
10
+ c.should be_a_kind_of(Array)
11
+ c[0].should be_a_kind_of(subject)
12
+ end
13
+ end
14
+ RSpec::Matchers.define :be_updatable_resource do |expected|
15
+ match do |actual|
16
+ client = authorized_paysio_client
17
+ subject = actual.class
18
+
19
+ client.expects(:get).once.returns(test_response(test_customer({name: "foo"})))
20
+ client.expects(:put).once.returns(test_response(test_customer({name: "bar"})))
21
+ c = subject.retrieve("resource_id")
22
+ c.name.should == "foo"
23
+ c.name = "bar"
24
+ c.save
25
+ c.name.should == "bar"
26
+ end
27
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paysio
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-19 00:00:00.000000000 Z
12
+ date: 2013-03-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
@@ -43,6 +43,22 @@ dependencies:
43
43
  - - ! '>='
44
44
  - !ruby/object:Gem::Version
45
45
  version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: activemodel
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
46
62
  - !ruby/object:Gem::Dependency
47
63
  name: oj
48
64
  requirement: !ruby/object:Gem::Requirement
@@ -75,6 +91,38 @@ dependencies:
75
91
  - - ! '>='
76
92
  - !ruby/object:Gem::Version
77
93
  version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rspec
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: mocha
112
+ requirement: !ruby/object:Gem::Requirement
113
+ none: false
114
+ requirements:
115
+ - - ! '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
78
126
  description: See https://paysio.com for details.
79
127
  email:
80
128
  - gvalmon@gmail.com
@@ -101,8 +149,7 @@ files:
101
149
  - lib/paysio/actions/list.rb
102
150
  - lib/paysio/actions/update.rb
103
151
  - lib/paysio/client.rb
104
- - lib/paysio/errors/not_authorized.rb
105
- - lib/paysio/errors/resource_not_valid.rb
152
+ - lib/paysio/exceptions.rb
106
153
  - lib/paysio/json.rb
107
154
  - lib/paysio/resource.rb
108
155
  - lib/paysio/resources/charge.rb
@@ -111,10 +158,24 @@ files:
111
158
  - lib/paysio/resources/event.rb
112
159
  - lib/paysio/resources/list.rb
113
160
  - lib/paysio/resources/log.rb
161
+ - lib/paysio/resources/payout.rb
114
162
  - lib/paysio/resources/reward.rb
115
163
  - lib/paysio/resources/wallet.rb
116
164
  - lib/paysio/version.rb
117
165
  - paysio.gemspec
166
+ - spec/requests/base_spec.rb
167
+ - spec/resources/charge_spec.rb
168
+ - spec/resources/coupon_spec.rb
169
+ - spec/resources/customer_spec.rb
170
+ - spec/resources/event_spec.rb
171
+ - spec/resources/log_spec.rb
172
+ - spec/resources/payout_spec.rb
173
+ - spec/resources/reward_spec.rb
174
+ - spec/resources/wallet_spec.rb
175
+ - spec/spec_helper.rb
176
+ - spec/support/paysio.rb
177
+ - spec/support/paysio_responses.rb
178
+ - spec/support/test_matchers.rb
118
179
  homepage: https://paysio.com
119
180
  licenses: []
120
181
  post_install_message:
@@ -1,7 +0,0 @@
1
- module Paysio
2
- module Errors
3
- class NotAuthorized < Exception
4
-
5
- end
6
- end
7
- end
@@ -1,7 +0,0 @@
1
- module Paysio
2
- module Errors
3
- class ResourceNotValid < Exception
4
-
5
- end
6
- end
7
- end