vodacom 0.0.8 → 0.0.9
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/Gemfile.lock +13 -11
- data/README.md +3 -1
- data/bin/console +0 -0
- data/bin/setup +0 -0
- data/lib/vodacom/client.rb +14 -5
- data/lib/vodacom/version.rb +1 -1
- data/vodacom.gemspec +3 -3
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c5f8da25824b23f1eaac84d77d6154dcc230201c6c82c8cd214439e695c4422c
|
|
4
|
+
data.tar.gz: d6aedddad91081d59da0cf6b6ecf94ac664fc2e0d922953c4d6b8e8deb9a60e4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ccbfed4a58728d5f463399b6d98dab60a961ffc60d7bf488979094073f9ecb00e27671b7ce260304d998301636436673dbe86a55f23eab1d9338c71c0ebd1acd
|
|
7
|
+
data.tar.gz: 9fd80003b8050fcbc5ae7a58571688e7df3da63ea695ad6b9026c40e3ddeb91fd574d2c8d5e3c9d4be8d60d9b951ff9bb5443b6ef82abf0535093c01aa0cbd27
|
data/Gemfile.lock
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
vodacom (0.0.
|
|
4
|
+
vodacom (0.0.9)
|
|
5
5
|
active_attr (~> 0.16.0)
|
|
6
6
|
httparty (~> 0.21.0)
|
|
7
|
-
nokogiri (~> 1.16.
|
|
7
|
+
nokogiri (~> 1.16.3)
|
|
8
8
|
|
|
9
9
|
GEM
|
|
10
10
|
remote: https://rubygems.org/
|
|
@@ -33,17 +33,19 @@ GEM
|
|
|
33
33
|
i18n (>= 1.6, < 2)
|
|
34
34
|
minitest (>= 5.1)
|
|
35
35
|
tzinfo (~> 2.0)
|
|
36
|
-
addressable (2.8.
|
|
36
|
+
addressable (2.8.6)
|
|
37
37
|
public_suffix (>= 2.0.2, < 6.0)
|
|
38
38
|
ansi (1.5.0)
|
|
39
|
+
bigdecimal (3.1.7)
|
|
39
40
|
builder (3.2.4)
|
|
40
41
|
coderay (1.1.3)
|
|
41
42
|
concurrent-ruby (1.1.10)
|
|
42
|
-
crack (0.
|
|
43
|
+
crack (1.0.0)
|
|
44
|
+
bigdecimal
|
|
43
45
|
rexml
|
|
44
46
|
crass (1.0.6)
|
|
45
47
|
erubi (1.12.0)
|
|
46
|
-
hashdiff (1.0
|
|
48
|
+
hashdiff (1.1.0)
|
|
47
49
|
httparty (0.21.0)
|
|
48
50
|
mini_mime (>= 1.0.0)
|
|
49
51
|
multi_xml (>= 0.5.2)
|
|
@@ -54,7 +56,7 @@ GEM
|
|
|
54
56
|
nokogiri (>= 1.5.9)
|
|
55
57
|
method_source (1.0.0)
|
|
56
58
|
mini_mime (1.1.2)
|
|
57
|
-
minitest (5.
|
|
59
|
+
minitest (5.22.3)
|
|
58
60
|
minitest-focus (1.4.0)
|
|
59
61
|
minitest (>= 4, < 6)
|
|
60
62
|
minitest-reporters (1.6.1)
|
|
@@ -65,12 +67,12 @@ GEM
|
|
|
65
67
|
mocha (2.1.0)
|
|
66
68
|
ruby2_keywords (>= 0.0.5)
|
|
67
69
|
multi_xml (0.6.0)
|
|
68
|
-
nokogiri (1.16.
|
|
70
|
+
nokogiri (1.16.3-arm64-darwin)
|
|
69
71
|
racc (~> 1.4)
|
|
70
72
|
pry (0.14.2)
|
|
71
73
|
coderay (~> 1.1)
|
|
72
74
|
method_source (~> 1.0)
|
|
73
|
-
public_suffix (5.0.
|
|
75
|
+
public_suffix (5.0.4)
|
|
74
76
|
racc (1.6.2)
|
|
75
77
|
rack (2.2.5)
|
|
76
78
|
rack-test (2.0.2)
|
|
@@ -87,7 +89,7 @@ GEM
|
|
|
87
89
|
timecop (0.9.8)
|
|
88
90
|
tzinfo (2.0.5)
|
|
89
91
|
concurrent-ruby (~> 1.0)
|
|
90
|
-
webmock (3.
|
|
92
|
+
webmock (3.23.0)
|
|
91
93
|
addressable (>= 2.8.0)
|
|
92
94
|
crack (>= 0.3.2)
|
|
93
95
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
@@ -97,7 +99,7 @@ PLATFORMS
|
|
|
97
99
|
arm64-darwin-23
|
|
98
100
|
|
|
99
101
|
DEPENDENCIES
|
|
100
|
-
minitest (~> 5.
|
|
102
|
+
minitest (~> 5.22.3)
|
|
101
103
|
minitest-focus (~> 1.4.0)
|
|
102
104
|
minitest-reporters (~> 1.6.1)
|
|
103
105
|
mocha (~> 2.1.0)
|
|
@@ -105,7 +107,7 @@ DEPENDENCIES
|
|
|
105
107
|
rake (~> 13.1.0)
|
|
106
108
|
timecop (~> 0.9.8)
|
|
107
109
|
vodacom!
|
|
108
|
-
webmock (~> 3.
|
|
110
|
+
webmock (~> 3.23.0)
|
|
109
111
|
|
|
110
112
|
BUNDLED WITH
|
|
111
113
|
2.5.5
|
data/README.md
CHANGED
|
@@ -23,10 +23,12 @@ Or install it yourself as:
|
|
|
23
23
|
|
|
24
24
|
```ruby
|
|
25
25
|
require 'vodacom'
|
|
26
|
-
client = Vodacom::Client.new(username: 'your key', password: 'your password from vodacom website')
|
|
26
|
+
client = Vodacom::Client.new(username: 'your key', password: 'your password from vodacom website', use_v4: true)
|
|
27
27
|
|
|
28
28
|
phone_number = "27...."
|
|
29
29
|
client.balance(phone_number)
|
|
30
|
+
|
|
31
|
+
# use_v4 determines which API version is used
|
|
30
32
|
```
|
|
31
33
|
|
|
32
34
|
### Endpoints
|
data/bin/console
CHANGED
|
File without changes
|
data/bin/setup
CHANGED
|
File without changes
|
data/lib/vodacom/client.rb
CHANGED
|
@@ -4,6 +4,7 @@ module Vodacom
|
|
|
4
4
|
|
|
5
5
|
LOGIN_PATH = 'https://www.vodacom.co.za/cloud/login/v3/login'
|
|
6
6
|
BALANCE_PATH = 'https://www.vodacom.co.za/cloud/rest/balances/v3/bundle/balances/'
|
|
7
|
+
BALANCE_V4_PATH = 'https://www.vodacom.co.za/cloud/rest/balances/v3/bundle/balances/'
|
|
7
8
|
|
|
8
9
|
attr_reader :username,
|
|
9
10
|
:password,
|
|
@@ -11,31 +12,39 @@ module Vodacom
|
|
|
11
12
|
:port,
|
|
12
13
|
:login_response,
|
|
13
14
|
:raw_cookie,
|
|
14
|
-
:expiry
|
|
15
|
+
:expiry,
|
|
16
|
+
:use_v4
|
|
15
17
|
|
|
16
|
-
def initialize(username:, password:, base_path: 'https://www.vodacom.co.za/cloud', port: 80)
|
|
18
|
+
def initialize(username:, password:, base_path: 'https://www.vodacom.co.za/cloud', port: 80, use_v4: false)
|
|
17
19
|
@username = username
|
|
18
20
|
@password = password
|
|
19
21
|
@base_path = base_path
|
|
20
22
|
@port = port
|
|
23
|
+
@use_v4 = use_v4
|
|
21
24
|
end
|
|
22
25
|
|
|
23
26
|
def self.compatible_api_version
|
|
24
|
-
'
|
|
27
|
+
'v4'
|
|
25
28
|
end
|
|
26
29
|
|
|
27
30
|
# This is the version of the API docs this client was built off-of
|
|
28
31
|
def self.api_version
|
|
29
|
-
'
|
|
32
|
+
'v4 2024-03-26'
|
|
30
33
|
end
|
|
31
34
|
|
|
32
35
|
def balance(phone_number)
|
|
33
36
|
start_time = get_micro_second_time
|
|
34
37
|
|
|
38
|
+
if use_v4
|
|
39
|
+
balance_path = "#{BALANCE_V4_PATH}#{phone_number}"
|
|
40
|
+
else
|
|
41
|
+
balance_path = "#{BALANCE_PATH}#{phone_number}"
|
|
42
|
+
end
|
|
43
|
+
|
|
35
44
|
login unless (raw_cookie && (expiry.to_i > Time.now.to_i))
|
|
36
45
|
response = HTTParty.send(
|
|
37
46
|
:get,
|
|
38
|
-
|
|
47
|
+
balance_path,
|
|
39
48
|
headers: {
|
|
40
49
|
'Content-Type': 'application/json',
|
|
41
50
|
'Accept': '*/*',
|
data/lib/vodacom/version.rb
CHANGED
data/vodacom.gemspec
CHANGED
|
@@ -24,15 +24,15 @@ Gem::Specification.new do |spec|
|
|
|
24
24
|
|
|
25
25
|
spec.add_dependency "httparty", "~> 0.21.0"
|
|
26
26
|
spec.add_dependency "active_attr", "~> 0.16.0"
|
|
27
|
-
spec.add_dependency "nokogiri", "~> 1.16.
|
|
27
|
+
spec.add_dependency "nokogiri", "~> 1.16.3"
|
|
28
28
|
|
|
29
29
|
# Development dependancies
|
|
30
30
|
spec.add_development_dependency "rake", "~> 13.1.0"
|
|
31
|
-
spec.add_development_dependency "minitest", "~> 5.
|
|
31
|
+
spec.add_development_dependency "minitest", "~> 5.22.3"
|
|
32
32
|
spec.add_development_dependency "minitest-focus", "~> 1.4.0"
|
|
33
33
|
spec.add_development_dependency "minitest-reporters", "~> 1.6.1"
|
|
34
34
|
spec.add_development_dependency "timecop", "~> 0.9.8"
|
|
35
35
|
spec.add_development_dependency "mocha", "~> 2.1.0"
|
|
36
36
|
spec.add_development_dependency "pry", "~> 0.14.2"
|
|
37
|
-
spec.add_development_dependency "webmock", "~> 3.
|
|
37
|
+
spec.add_development_dependency "webmock", "~> 3.23.0"
|
|
38
38
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: vodacom
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- trex22
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2024-
|
|
11
|
+
date: 2024-03-26 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: httparty
|
|
@@ -44,14 +44,14 @@ dependencies:
|
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 1.16.
|
|
47
|
+
version: 1.16.3
|
|
48
48
|
type: :runtime
|
|
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: 1.16.
|
|
54
|
+
version: 1.16.3
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rake
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -72,14 +72,14 @@ dependencies:
|
|
|
72
72
|
requirements:
|
|
73
73
|
- - "~>"
|
|
74
74
|
- !ruby/object:Gem::Version
|
|
75
|
-
version: 5.
|
|
75
|
+
version: 5.22.3
|
|
76
76
|
type: :development
|
|
77
77
|
prerelease: false
|
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
|
79
79
|
requirements:
|
|
80
80
|
- - "~>"
|
|
81
81
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: 5.
|
|
82
|
+
version: 5.22.3
|
|
83
83
|
- !ruby/object:Gem::Dependency
|
|
84
84
|
name: minitest-focus
|
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -156,14 +156,14 @@ dependencies:
|
|
|
156
156
|
requirements:
|
|
157
157
|
- - "~>"
|
|
158
158
|
- !ruby/object:Gem::Version
|
|
159
|
-
version: 3.
|
|
159
|
+
version: 3.23.0
|
|
160
160
|
type: :development
|
|
161
161
|
prerelease: false
|
|
162
162
|
version_requirements: !ruby/object:Gem::Requirement
|
|
163
163
|
requirements:
|
|
164
164
|
- - "~>"
|
|
165
165
|
- !ruby/object:Gem::Version
|
|
166
|
-
version: 3.
|
|
166
|
+
version: 3.23.0
|
|
167
167
|
description: A client for using the Vodacom API in Ruby. This is an unofficial project.
|
|
168
168
|
email:
|
|
169
169
|
- contact@jasonchalom.com
|