mpayer_ruby 0.0.10 → 0.0.11
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/README.md +8 -8
- data/lib/mpayer_ruby/endpoints/_endpoint.rb +5 -5
- data/lib/mpayer_ruby/endpoints/account.rb +11 -11
- data/lib/mpayer_ruby/endpoints/client.rb +14 -13
- data/lib/mpayer_ruby/endpoints/message.rb +1 -1
- data/lib/mpayer_ruby/endpoints/payable.rb +4 -4
- data/lib/mpayer_ruby/endpoints/transaction.rb +6 -6
- data/lib/mpayer_ruby/fetch.rb +3 -2
- data/lib/mpayer_ruby/support/fake_mpayer.rb +1 -1
- data/lib/mpayer_ruby/version.rb +1 -1
- data/lib/mpayer_ruby.rb +1 -1
- data/mpayer_ruby.gemspec +1 -0
- metadata +16 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7b4d99a94ee5c778c3be51edc14a2a13e6a44e93
|
4
|
+
data.tar.gz: 33951faa2cb58c902faf7e9d7502e05064ff125d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 477d864b4897a932be2ae34c90da8afef2948795c11485a47f1274c535cad8605cd06bbaab6ba382adb42a814117af76207c2a6a0e908a69d938fb674f75fb09
|
7
|
+
data.tar.gz: cb3ee3475cc84284ca7b11d6a1787864553769e408aa7f10cff8be78978a9b6d9a2ea7d80223369ddf04eae5cc4a49b4cb8f5f633efd8a17f20c4f9284063dca
|
data/README.md
CHANGED
@@ -55,7 +55,7 @@ Mpayer.setup do |config|
|
|
55
55
|
end
|
56
56
|
|
57
57
|
#Get all clients in your organisation
|
58
|
-
clients = Mpayer::Client.all(
|
58
|
+
clients = Mpayer::Client.all(page:1,per_page:100)
|
59
59
|
|
60
60
|
#Get one client in your organisation
|
61
61
|
clients = Mpayer::Client.find(123)
|
@@ -78,7 +78,7 @@ https://app.mpayer.co.ke/api/payables
|
|
78
78
|
All responses are objects and can be accessed with dot notation
|
79
79
|
e.g
|
80
80
|
```ruby
|
81
|
-
clients = Mpayer::Client.all(
|
81
|
+
clients = Mpayer::Client.all(page:1,per_page:100)
|
82
82
|
client = client.first
|
83
83
|
client.name #=> "CLark Kent"
|
84
84
|
```
|
@@ -97,9 +97,9 @@ client = Mpayer::Client.find(id:20284,fetch:false).account(account_id) # Get cli
|
|
97
97
|
client = Mpayer::Client.find(id:20284,fetch:false)
|
98
98
|
account = client.account(account_id) # Get clients account with id
|
99
99
|
|
100
|
-
client_accounts = Mpayer::Client.find(id:20284,fetch:false).accounts(
|
101
|
-
client_payables = Mpayer::Client.find(id:20284,fetch:false).payables(
|
102
|
-
client_transactions = Mpayer::Client.find(id:20284,fetch:false).transactions(account_id,
|
100
|
+
client_accounts = Mpayer::Client.find(id:20284,fetch:false).accounts(page:1,per_page:100)
|
101
|
+
client_payables = Mpayer::Client.find(id:20284,fetch:false).payables(page:1,per_page:100)
|
102
|
+
client_transactions = Mpayer::Client.find(id:20284,fetch:false).transactions(account_id, page:1,per_page:100)
|
103
103
|
|
104
104
|
```
|
105
105
|
|
@@ -195,9 +195,9 @@ Mpayer.setup do |config|
|
|
195
195
|
end
|
196
196
|
|
197
197
|
url = "/clients/all_clients"
|
198
|
-
Mpayer::Fetch.get(url,query:{
|
199
|
-
Mpayer::Fetch.post(url,
|
200
|
-
Mpayer::Fetch.put(url,
|
198
|
+
Mpayer::Fetch.get(url,query:{page:page,per_page:per_page})
|
199
|
+
Mpayer::Fetch.post(url,{client:{name:'Kiki Lolo'}})
|
200
|
+
Mpayer::Fetch.put(url,{client:{name:'Kiki Lolo'}})
|
201
201
|
Mpayer::Fetch.delete(url)
|
202
202
|
|
203
203
|
```
|
@@ -32,16 +32,16 @@ module Mpayer
|
|
32
32
|
end
|
33
33
|
|
34
34
|
# Use this methon in the association reader method witht the same name
|
35
|
-
def find_all(
|
35
|
+
def find_all(page:1,per_page:100,**options)
|
36
36
|
# gets caller methods as association
|
37
37
|
association = caller_locations(1,1)[0].label
|
38
38
|
url = assoc_link(association.to_sym,options)
|
39
|
-
if self.pagination[association]=={per_page:per_page,
|
40
|
-
self.send("#{association}=", Mpayer::Fetch.get(url,query:{
|
39
|
+
if self.pagination[association]=={per_page:per_page,page:page}
|
40
|
+
self.send("#{association}=", Mpayer::Fetch.get(url,query:{page:page,per_page:per_page}) ) if instance_variable_get("@#{association}").nil?
|
41
41
|
else
|
42
|
-
self.send("#{association}=", Mpayer::Fetch.get(url,query:{
|
42
|
+
self.send("#{association}=", Mpayer::Fetch.get(url,query:{page:page,per_page:per_page}) )
|
43
43
|
end
|
44
|
-
self.pagination.merge!({"#{association}":{
|
44
|
+
self.pagination.merge!({"#{association}":{page:page,per_page:per_page}})
|
45
45
|
return instance_variable_get("@#{association}")
|
46
46
|
end
|
47
47
|
|
@@ -5,16 +5,16 @@ module Mpayer
|
|
5
5
|
class << self
|
6
6
|
|
7
7
|
# Mpayer::Account.all()
|
8
|
-
def all(
|
8
|
+
def all(page:1,per_page:100)
|
9
9
|
url = "/accounts/all_accounts"
|
10
|
-
Mpayer::Fetch.get(url,query:{
|
10
|
+
Mpayer::Fetch.get(url,query:{page:page,per_page:per_page})
|
11
11
|
end
|
12
12
|
|
13
13
|
# options = {from_date:nil,to_date:nil, dr_cr:nil, ac_type:nil, category:nil}
|
14
14
|
# Mpayer::Account.aggregate(options)
|
15
|
-
def aggregates(
|
15
|
+
def aggregates(page:1,per_page:100, **options)
|
16
16
|
url = "/accounts/aggregates"
|
17
|
-
Mpayer::Fetch.get(url,query:{
|
17
|
+
Mpayer::Fetch.get(url,query:{page:page,per_page:per_page}.merge!(options))
|
18
18
|
end
|
19
19
|
|
20
20
|
# Mpayer::Account.find(account_id)
|
@@ -29,7 +29,7 @@ module Mpayer
|
|
29
29
|
# account.update(name:new_name)
|
30
30
|
def update(options)
|
31
31
|
url = "/accounts/#{self.id}"
|
32
|
-
response = Mpayer::Fetch.put(url,
|
32
|
+
response = Mpayer::Fetch.put(url,options)
|
33
33
|
self.response = response
|
34
34
|
end
|
35
35
|
|
@@ -37,14 +37,14 @@ module Mpayer
|
|
37
37
|
|
38
38
|
end
|
39
39
|
|
40
|
-
# Mpayer::Account.find(26, fetch:false).members(
|
41
|
-
def members(
|
42
|
-
find_all(
|
40
|
+
# Mpayer::Account.find(26, fetch:false).members(page:1,per_page:100)
|
41
|
+
def members(page:1,per_page:100)
|
42
|
+
find_all(page:page,per_page:per_page)
|
43
43
|
end
|
44
44
|
|
45
|
-
# Mpayer::Account.find(26, fetch:false).payable_items(
|
46
|
-
def payable_items(
|
47
|
-
find_all(
|
45
|
+
# Mpayer::Account.find(26, fetch:false).payable_items(page:1,per_page:100)
|
46
|
+
def payable_items(page:1,per_page:100)
|
47
|
+
find_all(page:page,per_page:per_page)
|
48
48
|
end
|
49
49
|
|
50
50
|
protected
|
@@ -5,9 +5,9 @@ module Mpayer
|
|
5
5
|
class << self
|
6
6
|
|
7
7
|
# Mpayer::Client.all
|
8
|
-
def all(
|
8
|
+
def all(page:1,per_page:100)
|
9
9
|
url = "/clients/all_clients"
|
10
|
-
Mpayer::Fetch.get(url,query:{
|
10
|
+
Mpayer::Fetch.get(url,query:{page:page,per_page:per_page})
|
11
11
|
end
|
12
12
|
|
13
13
|
# Mpayer::Client.find(id)
|
@@ -21,7 +21,8 @@ module Mpayer
|
|
21
21
|
# Mpayer::Client.create(client_attributes)
|
22
22
|
def create(options={})
|
23
23
|
url = "/clients"
|
24
|
-
|
24
|
+
# bp
|
25
|
+
response = Mpayer::Fetch.post(url,options)
|
25
26
|
client = new(options.merge!(id:response.id ,response:response, account: response.account.first))
|
26
27
|
end
|
27
28
|
|
@@ -43,22 +44,22 @@ module Mpayer
|
|
43
44
|
# Mpayer::Client.find(id:20284).create_account(options)
|
44
45
|
def create_account(options={})
|
45
46
|
url = "/clients/#{self.id}/accounts/new"
|
46
|
-
@account = Mpayer::Fetch.post(url,
|
47
|
+
@account = Mpayer::Fetch.post(url,options)
|
47
48
|
end
|
48
49
|
|
49
|
-
# Mpayer::Client.find(26, fetch:false).accounts(
|
50
|
-
def accounts(
|
51
|
-
find_all(
|
50
|
+
# Mpayer::Client.find(26, fetch:false).accounts(page:1,per_page:100)
|
51
|
+
def accounts(page:1,per_page:100)
|
52
|
+
find_all(page:page,per_page:per_page)
|
52
53
|
end
|
53
54
|
|
54
|
-
# Mpayer::Client.find(26, fetch:false).payables(
|
55
|
-
def payables(
|
56
|
-
find_all(
|
55
|
+
# Mpayer::Client.find(26, fetch:false).payables(page:1,per_page:100)
|
56
|
+
def payables(page:1,per_page:100)
|
57
|
+
find_all(page:page,per_page:per_page)
|
57
58
|
end
|
58
59
|
|
59
|
-
# Mpayer::Client.find(26, fetch:false).transactions(account_id,
|
60
|
-
def transactions(account_id,
|
61
|
-
find_all(
|
60
|
+
# Mpayer::Client.find(26, fetch:false).transactions(account_id, page:1,per_page:100)
|
61
|
+
def transactions(account_id,page:1,per_page:100)
|
62
|
+
find_all(page:page,per_page:per_page,account_id:account_id)
|
62
63
|
end
|
63
64
|
|
64
65
|
protected
|
@@ -6,7 +6,7 @@ module Mpayer
|
|
6
6
|
# Mpayer::Message.create(message_attributes)
|
7
7
|
def create(options={})
|
8
8
|
url = "/messages"
|
9
|
-
response = Mpayer::Fetch.post(url,
|
9
|
+
response = Mpayer::Fetch.post(url,options)
|
10
10
|
message = new(options.merge!(id:response.id ,response:response))
|
11
11
|
end
|
12
12
|
|
@@ -4,9 +4,9 @@ module Mpayer
|
|
4
4
|
class << self
|
5
5
|
|
6
6
|
# Mpayer::Payable.all
|
7
|
-
def all(
|
7
|
+
def all(page:1,per_page:100)
|
8
8
|
url = "/payables/all"
|
9
|
-
Mpayer::Fetch.get(url,query:{
|
9
|
+
Mpayer::Fetch.get(url,query:{page:page,per_page:per_page})
|
10
10
|
end
|
11
11
|
|
12
12
|
# Mpayer::Payable.find(id)
|
@@ -18,7 +18,7 @@ module Mpayer
|
|
18
18
|
|
19
19
|
# Mpayer::Payable.where(ref_id:"KT0041[P]-010000402")
|
20
20
|
def where(ref_id:,fetch:true)
|
21
|
-
url = "/payables/search/#{CGI.escape(ref_id)}"
|
21
|
+
url = "/payables/search/#{CGI.escape(ref_id.to_s)}"
|
22
22
|
response = Mpayer::Fetch.get(url) if fetch
|
23
23
|
payable = new(id:response.id,response:response) unless (response.id rescue nil).nil?
|
24
24
|
end
|
@@ -26,7 +26,7 @@ module Mpayer
|
|
26
26
|
# Mpayer::Payable.create(options)
|
27
27
|
def create(options={})
|
28
28
|
url = "/payables"
|
29
|
-
response = Mpayer::Fetch.post(url,
|
29
|
+
response = Mpayer::Fetch.post(url,options)
|
30
30
|
payable_id = response.id
|
31
31
|
payable = new(options.merge!(id:payable_id,response:response))
|
32
32
|
end
|
@@ -4,16 +4,16 @@ module Mpayer
|
|
4
4
|
class << self
|
5
5
|
|
6
6
|
# Mpayer::Transaction.all(from: Time.now - (86400*400))
|
7
|
-
def all(
|
7
|
+
def all(page:1,per_page:100,from: nil,to: nil)
|
8
8
|
url = "/transactions/all"
|
9
9
|
from = from.strftime("%F %T") unless from.nil?
|
10
10
|
to = to.strftime("%F %T") unless to.nil?
|
11
|
-
Mpayer::Fetch.get(url,query:{
|
11
|
+
Mpayer::Fetch.get(url,query:{page:page,per_page:per_page,from:from,to:to})
|
12
12
|
end
|
13
13
|
|
14
14
|
# Mpayer::Transaction.where(ref_id:"KT0041[P]-010000402")
|
15
15
|
def where(ref_id:,fetch:true)
|
16
|
-
url = "/transactions/#{CGI.escape(ref_id)}"
|
16
|
+
url = "/transactions/#{CGI.escape(ref_id.to_s)}"
|
17
17
|
response = Mpayer::Fetch.get(url) if fetch
|
18
18
|
transaction = new(id:response.id,response:response)
|
19
19
|
end
|
@@ -22,7 +22,7 @@ module Mpayer
|
|
22
22
|
# Mpayer::Transaction.deposit(body)
|
23
23
|
def deposit(**options)
|
24
24
|
url = "/transactions/deposit"
|
25
|
-
response = Mpayer::Fetch.put(url,
|
25
|
+
response = Mpayer::Fetch.put(url,mpayer_refs.merge!(options))
|
26
26
|
transaction = new(id:response.id,response:response)
|
27
27
|
end
|
28
28
|
|
@@ -30,7 +30,7 @@ module Mpayer
|
|
30
30
|
# Mpayer::Transaction.withdraw(body)
|
31
31
|
def withdraw(**options)
|
32
32
|
url = "/transactions/withdraw"
|
33
|
-
response = Mpayer::Fetch.delete(url,
|
33
|
+
response = Mpayer::Fetch.delete(url,mpayer_refs.merge!(options))
|
34
34
|
transaction = new(id:response.id,response:response)
|
35
35
|
end
|
36
36
|
|
@@ -38,7 +38,7 @@ module Mpayer
|
|
38
38
|
# Mpayer::Transaction.transfer(body)
|
39
39
|
def transfer(**options)
|
40
40
|
url = "/transactions/transfer"
|
41
|
-
response = Mpayer::Fetch.post(url,
|
41
|
+
response = Mpayer::Fetch.post(url,mpayer_refs.merge!(options))
|
42
42
|
transaction = new(id:response.id,response:response)
|
43
43
|
end
|
44
44
|
|
data/lib/mpayer_ruby/fetch.rb
CHANGED
@@ -14,9 +14,10 @@ module Mpayer
|
|
14
14
|
|
15
15
|
%w(get put post delete).each do |m|
|
16
16
|
define_method m do |path, options={}, &block|
|
17
|
+
options = {body: options.to_json}
|
17
18
|
res = perform_request Net::HTTP::Put, path, options, &block if m == 'put'
|
18
|
-
res = perform_request Net::HTTP::Get, path, options, &block if m == 'get'
|
19
19
|
res = perform_request Net::HTTP::Post, path, options, &block if m == 'post'
|
20
|
+
res = perform_request Net::HTTP::Get, path, options, &block if m == 'get'
|
20
21
|
res = perform_request Net::HTTP::Delete, path, options, &block if m == 'delete'
|
21
22
|
save_json(res) if load_json?
|
22
23
|
res
|
@@ -26,7 +27,7 @@ module Mpayer
|
|
26
27
|
def save_json(response)
|
27
28
|
request_method = response.request.http_method.name.split('::').last.upcase
|
28
29
|
file_path = response.request.path.to_s
|
29
|
-
slash,model,*file_name = file_path.split(/\/|\?/)
|
30
|
+
slash,model,*file_name = file_path.split('?')[0].split(/\/|\?/)
|
30
31
|
file_location = "lib/mpayer_ruby/support/fake_mpayer/#{model}/#{request_method}_#{file_name.join('_')}.json"
|
31
32
|
File.write(file_location, response.body)
|
32
33
|
end
|
@@ -8,7 +8,7 @@ class FakeMpayer < Sinatra::Base
|
|
8
8
|
if (request.env['HTTP_X_WSSE'].empty? rescue true)
|
9
9
|
[200, {}, [{base:["Authentication Failed"]}.to_json]]
|
10
10
|
else
|
11
|
-
slash,api,model,*path = request.path_info.split(/\/|\?/)
|
11
|
+
slash,api,model,*path = request.path_info.split('?')[0].split(/\/|\?/)
|
12
12
|
json_response 200, "#{model}/#{request.request_method}_#{path.join('_')}.json"
|
13
13
|
end
|
14
14
|
end
|
data/lib/mpayer_ruby/version.rb
CHANGED
data/lib/mpayer_ruby.rb
CHANGED
data/mpayer_ruby.gemspec
CHANGED
@@ -40,6 +40,7 @@ Gem::Specification.new do |spec|
|
|
40
40
|
spec.add_development_dependency "coveralls", '~> 0'
|
41
41
|
spec.add_development_dependency "webmock", '~> 1.21'
|
42
42
|
spec.add_development_dependency "sinatra", '~> 1.4'
|
43
|
+
spec.add_development_dependency "faker", '~> 1.4'
|
43
44
|
|
44
45
|
spec.add_dependency 'httparty', "~> 0.13"
|
45
46
|
spec.add_dependency 'wsse', "~> 0.0"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mpayer_ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kariuki Gathitu
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-05-
|
11
|
+
date: 2015-05-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -178,6 +178,20 @@ dependencies:
|
|
178
178
|
- - "~>"
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: '1.4'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: faker
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - "~>"
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '1.4'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - "~>"
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '1.4'
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
196
|
name: httparty
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|