paystack 0.1.4 → 0.1.5
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/.rspec +2 -2
- data/.travis.yml +16 -0
- data/README.md +58 -22
- data/Rakefile +1 -2
- data/bin/console +0 -0
- data/bin/setup +0 -0
- data/lib/paystack.rb +55 -54
- data/lib/paystack/error.rb +11 -12
- data/lib/paystack/modules/api.rb +8 -7
- data/lib/paystack/objects/base.rb +103 -102
- data/lib/paystack/objects/card.rb +105 -105
- data/lib/paystack/objects/customers.rb +37 -37
- data/lib/paystack/objects/plans.rb +39 -41
- data/lib/paystack/objects/subscriptions.rb +40 -0
- data/lib/paystack/objects/transactions.rb +63 -63
- data/lib/paystack/utils/utils.rb +104 -105
- data/lib/paystack/version.rb +1 -1
- data/paystack.gemspec +7 -5
- metadata +11 -10
- data/key.pem +0 -0
data/lib/paystack/utils/utils.rb
CHANGED
@@ -1,105 +1,104 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
t
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
year_int
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
end
|
1
|
+
require 'paystack/error.rb'
|
2
|
+
|
3
|
+
module Utils
|
4
|
+
|
5
|
+
def Utils.nullifyString(value)
|
6
|
+
if value.nil?
|
7
|
+
return nil
|
8
|
+
end
|
9
|
+
|
10
|
+
if (value.strip.eql? "")
|
11
|
+
return nil
|
12
|
+
end
|
13
|
+
return value;
|
14
|
+
end
|
15
|
+
|
16
|
+
def Utils.isWholePositiveNumber(value)
|
17
|
+
if(value == nil)
|
18
|
+
return false
|
19
|
+
end
|
20
|
+
length = value.length;
|
21
|
+
|
22
|
+
for i in 0..(length-1)
|
23
|
+
c = value[i]
|
24
|
+
|
25
|
+
if((c =~ /[[:digit:]]/) == nil)
|
26
|
+
return false
|
27
|
+
end
|
28
|
+
end
|
29
|
+
return true
|
30
|
+
end
|
31
|
+
|
32
|
+
def Utils.isLuhnValidNumber(number)
|
33
|
+
sum = 0
|
34
|
+
length = number.strip.length;
|
35
|
+
|
36
|
+
for i in 0..(length-1)
|
37
|
+
c = number[length - 1 -i]
|
38
|
+
|
39
|
+
if((c =~ /[[:digit:]]/) == nil)
|
40
|
+
return false
|
41
|
+
end
|
42
|
+
digit = c.to_i
|
43
|
+
if (i % 2 == 1)
|
44
|
+
digit *= 2
|
45
|
+
end
|
46
|
+
sum += digit > 9 ? digit - 9 : digit
|
47
|
+
end
|
48
|
+
|
49
|
+
return (sum % 10 == 0)
|
50
|
+
end
|
51
|
+
|
52
|
+
def Utils.isEmpty(value)
|
53
|
+
return (value.nil? || value.strip.eql?(""))
|
54
|
+
end
|
55
|
+
|
56
|
+
def Utils.hasYearPassed(year)
|
57
|
+
return year < Time.new.year
|
58
|
+
end
|
59
|
+
def Utils.hasMonthPassed(year, month)
|
60
|
+
t = Time.new
|
61
|
+
return hasYearPassed(year) || year == t.year && month < (t.month)
|
62
|
+
end
|
63
|
+
|
64
|
+
def Utils.hasCardExpired(year, month)
|
65
|
+
# Normalize Year value e.g 14 becomes 2014 or 2114 etc.
|
66
|
+
year_int = year.strip.to_i
|
67
|
+
if(year_int < 100 && year_int >= 0)
|
68
|
+
cal_year = Time.new.year.to_s
|
69
|
+
year_int = ("#{cal_year[0..1]}#{year.strip}").to_i
|
70
|
+
end
|
71
|
+
|
72
|
+
# Check for expiration
|
73
|
+
return !hasYearPassed(year_int) && !hasMonthPassed(year_int, month.to_i)
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
|
80
|
+
|
81
|
+
def Utils.serverErrorHandler(e)
|
82
|
+
|
83
|
+
if(e.response == nil)
|
84
|
+
raise e
|
85
|
+
return
|
86
|
+
end
|
87
|
+
error = PaystackServerError.new(e.response);
|
88
|
+
case e.response.code
|
89
|
+
when 400
|
90
|
+
raise error, "HTTP Code 400: A validation or client side error occurred and the request was not fulfilled. "
|
91
|
+
when 401
|
92
|
+
raise error, "HTTP Code 401: The request was not authorized. This can be triggered by passing an invalid secret key in the authorization header or the lack of one"
|
93
|
+
when 404
|
94
|
+
raise error, "HTTP Code 404: Request could not be fulfilled as the request resource does not exist."
|
95
|
+
when 500, 501,502,503,504
|
96
|
+
raise error, "HTTP Code #{e.response.code}: Request could not be fulfilled due to an error on Paystack's end. This shouldn't happen so please report as soon as you encounter any instance of this."
|
97
|
+
else
|
98
|
+
raise error, "HTTP Code #{e.response.code}: #{e.response.body}"
|
99
|
+
|
100
|
+
end
|
101
|
+
|
102
|
+
end
|
103
|
+
|
104
|
+
end
|
data/lib/paystack/version.rb
CHANGED
data/paystack.gemspec
CHANGED
@@ -6,7 +6,7 @@ require 'paystack/version'
|
|
6
6
|
Gem::Specification.new do |spec|
|
7
7
|
spec.name = "paystack"
|
8
8
|
spec.version = Paystack::VERSION
|
9
|
-
spec.authors = ["Victor"]
|
9
|
+
spec.authors = ["Victor Ikoro"]
|
10
10
|
spec.email = ["ikoro.victor@gmail.com"]
|
11
11
|
|
12
12
|
spec.summary = %q{PayStack.co gem for Ruby/Rails}
|
@@ -22,9 +22,11 @@ Gem::Specification.new do |spec|
|
|
22
22
|
#Dev dependencies
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.11"
|
24
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
-
spec.add_development_dependency
|
26
|
-
|
25
|
+
spec.add_development_dependency 'rspec', '~> 3.0'
|
26
|
+
|
27
27
|
#Dependencies
|
28
|
-
spec.
|
29
|
-
|
28
|
+
spec.required_ruby_version = '>= 2.0.0'
|
29
|
+
spec.add_runtime_dependency 'rest-client', '~> 2.0'
|
30
|
+
|
31
|
+
|
30
32
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: paystack
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
|
-
- Victor
|
7
|
+
- Victor Ikoro
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02
|
11
|
+
date: 2016-10-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -44,28 +44,28 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '0'
|
47
|
+
version: '3.0'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '0'
|
54
|
+
version: '3.0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: rest-client
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '2.0'
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '2.0'
|
69
69
|
description: Client Library Gem for PayStack.co
|
70
70
|
email:
|
71
71
|
- ikoro.victor@gmail.com
|
@@ -75,6 +75,7 @@ extra_rdoc_files: []
|
|
75
75
|
files:
|
76
76
|
- ".gitignore"
|
77
77
|
- ".rspec"
|
78
|
+
- ".travis.yml"
|
78
79
|
- CODE_OF_CONDUCT.md
|
79
80
|
- Gemfile
|
80
81
|
- LICENSE.txt
|
@@ -82,7 +83,6 @@ files:
|
|
82
83
|
- Rakefile
|
83
84
|
- bin/console
|
84
85
|
- bin/setup
|
85
|
-
- key.pem
|
86
86
|
- lib/paystack.rb
|
87
87
|
- lib/paystack/error.rb
|
88
88
|
- lib/paystack/modules/api.rb
|
@@ -90,6 +90,7 @@ files:
|
|
90
90
|
- lib/paystack/objects/card.rb
|
91
91
|
- lib/paystack/objects/customers.rb
|
92
92
|
- lib/paystack/objects/plans.rb
|
93
|
+
- lib/paystack/objects/subscriptions.rb
|
93
94
|
- lib/paystack/objects/transactions.rb
|
94
95
|
- lib/paystack/utils/utils.rb
|
95
96
|
- lib/paystack/version.rb
|
@@ -106,7 +107,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
106
107
|
requirements:
|
107
108
|
- - ">="
|
108
109
|
- !ruby/object:Gem::Version
|
109
|
-
version:
|
110
|
+
version: 2.0.0
|
110
111
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
111
112
|
requirements:
|
112
113
|
- - ">="
|
@@ -114,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
115
|
version: '0'
|
115
116
|
requirements: []
|
116
117
|
rubyforge_project:
|
117
|
-
rubygems_version: 2.
|
118
|
+
rubygems_version: 2.6.6
|
118
119
|
signing_key:
|
119
120
|
specification_version: 4
|
120
121
|
summary: PayStack.co gem for Ruby/Rails
|
data/key.pem
DELETED
File without changes
|