vodacom 0.0.1 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 616e8f37264023776722f3257b0a3f2f0fb81c44ac7be438e4b1696944e55bbf
4
- data.tar.gz: 622956d5c44f8212bad1e9f8c9e082708373e9b45884701403c39bdfa4c754ff
3
+ metadata.gz: 1cfd7dcc069393e5c95d19df0ab261d5870e41bda195542a1d2ecdd7dbedf991
4
+ data.tar.gz: 573098b0e6667b444f13b32a51a85ebcfe2fc3a89a2542652ab96b73cf6fe524
5
5
  SHA512:
6
- metadata.gz: 937f6afefe92045f0483fa7a678a8f53ae9033cf3a9da1e25991a6cab361ff619e5cb0224f0758a426889406926f52fd86f2107741db9c3624581096cafd17a8
7
- data.tar.gz: 0a6bff1375032eb927764f2907e184ff9a3545d677c7628a219dde7957b0e0156b2ff59e474226f6e54a0073a4912f9966a01930bf4e3f5f153a026513e80bd5
6
+ metadata.gz: ea966658fbf09c3f0c4c5b6341a9c3b15891b721fc32add5343ce3ab7b1fd3000c72d2177618bf570ea48ed6bb47b555dffd95b44e4cee09c08700628dcab7f9
7
+ data.tar.gz: 9cb8fc7eedc9e336b7ae5087c695bf60b55ad5da015a5902bf4a65c7a448503b873d507d044b77ed1b92cca059bbee5d31d4500b1e9e94fdeed7f4008074042f
data/.gitignore CHANGED
File without changes
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.6.3
1
+ ruby-3.1.2
data/CODE_OF_CONDUCT.md CHANGED
File without changes
data/Gemfile CHANGED
File without changes
data/Gemfile.lock CHANGED
@@ -1,113 +1,111 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- vodacom (0.0.1)
5
- active_attr (~> 0.15)
6
- httparty (~> 0.18)
7
- nokogiri (~> 1.11.2)
4
+ vodacom (0.0.3)
5
+ active_attr (~> 0.15.4)
6
+ httparty (~> 0.20.0)
7
+ nokogiri (~> 1.13.1)
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- actionpack (6.1.3)
13
- actionview (= 6.1.3)
14
- activesupport (= 6.1.3)
15
- rack (~> 2.0, >= 2.0.9)
12
+ actionpack (7.0.1)
13
+ actionview (= 7.0.1)
14
+ activesupport (= 7.0.1)
15
+ rack (~> 2.0, >= 2.2.0)
16
16
  rack-test (>= 0.6.3)
17
17
  rails-dom-testing (~> 2.0)
18
18
  rails-html-sanitizer (~> 1.0, >= 1.2.0)
19
- actionview (6.1.3)
20
- activesupport (= 6.1.3)
19
+ actionview (7.0.1)
20
+ activesupport (= 7.0.1)
21
21
  builder (~> 3.1)
22
22
  erubi (~> 1.4)
23
23
  rails-dom-testing (~> 2.0)
24
24
  rails-html-sanitizer (~> 1.1, >= 1.2.0)
25
- active_attr (0.15.2)
26
- actionpack (>= 3.0.2, < 7.0)
27
- activemodel (>= 3.0.2, < 7.0)
28
- activesupport (>= 3.0.2, < 7.0)
29
- activemodel (6.1.3)
30
- activesupport (= 6.1.3)
31
- activesupport (6.1.3)
25
+ active_attr (0.15.4)
26
+ actionpack (>= 3.0.2, < 7.1)
27
+ activemodel (>= 3.0.2, < 7.1)
28
+ activesupport (>= 3.0.2, < 7.1)
29
+ activemodel (7.0.1)
30
+ activesupport (= 7.0.1)
31
+ activesupport (7.0.1)
32
32
  concurrent-ruby (~> 1.0, >= 1.0.2)
33
33
  i18n (>= 1.6, < 2)
34
34
  minitest (>= 5.1)
35
35
  tzinfo (~> 2.0)
36
- zeitwerk (~> 2.3)
37
- addressable (2.7.0)
36
+ addressable (2.8.0)
38
37
  public_suffix (>= 2.0.2, < 5.0)
39
38
  ansi (1.5.0)
40
39
  builder (3.2.4)
41
40
  coderay (1.1.3)
42
- concurrent-ruby (1.1.8)
41
+ concurrent-ruby (1.1.9)
43
42
  crack (0.4.5)
44
43
  rexml
45
44
  crass (1.0.6)
46
45
  erubi (1.10.0)
47
46
  hashdiff (1.0.1)
48
- httparty (0.18.1)
47
+ httparty (0.20.0)
49
48
  mime-types (~> 3.0)
50
49
  multi_xml (>= 0.5.2)
51
- i18n (1.8.9)
50
+ i18n (1.8.11)
52
51
  concurrent-ruby (~> 1.0)
53
- loofah (2.9.0)
52
+ loofah (2.13.0)
54
53
  crass (~> 1.0.2)
55
54
  nokogiri (>= 1.5.9)
56
55
  method_source (1.0.0)
57
- mime-types (3.3.1)
56
+ mime-types (3.4.1)
58
57
  mime-types-data (~> 3.2015)
59
- mime-types-data (3.2021.0225)
60
- minitest (5.14.4)
61
- minitest-focus (1.1.2)
58
+ mime-types-data (3.2022.0105)
59
+ minitest (5.15.0)
60
+ minitest-focus (1.3.1)
62
61
  minitest (>= 4, < 6)
63
- minitest-reporters (1.4.3)
62
+ minitest-reporters (1.5.0)
64
63
  ansi
65
64
  builder
66
65
  minitest (>= 5.0)
67
66
  ruby-progressbar
68
- mocha (1.11.2)
67
+ mocha (1.13.0)
69
68
  multi_xml (0.6.0)
70
- nokogiri (1.11.2-x86_64-linux)
69
+ nokogiri (1.13.1-x86_64-linux)
71
70
  racc (~> 1.4)
72
- pry (0.14.0)
71
+ pry (0.14.1)
73
72
  coderay (~> 1.1)
74
73
  method_source (~> 1.0)
75
74
  public_suffix (4.0.6)
76
- racc (1.5.2)
75
+ racc (1.6.0)
77
76
  rack (2.2.3)
78
77
  rack-test (1.1.0)
79
78
  rack (>= 1.0, < 3)
80
79
  rails-dom-testing (2.0.3)
81
80
  activesupport (>= 4.2.0)
82
81
  nokogiri (>= 1.6)
83
- rails-html-sanitizer (1.3.0)
82
+ rails-html-sanitizer (1.4.2)
84
83
  loofah (~> 2.3)
85
- rake (13.0.3)
86
- rexml (3.2.4)
84
+ rake (13.0.6)
85
+ rexml (3.2.5)
87
86
  ruby-progressbar (1.11.0)
88
87
  timecop (0.9.4)
89
88
  tzinfo (2.0.4)
90
89
  concurrent-ruby (~> 1.0)
91
- webmock (3.8.3)
92
- addressable (>= 2.3.6)
90
+ webmock (3.14.0)
91
+ addressable (>= 2.8.0)
93
92
  crack (>= 0.3.2)
94
93
  hashdiff (>= 0.4.0, < 2.0.0)
95
- zeitwerk (2.4.2)
96
94
 
97
95
  PLATFORMS
98
96
  x86_64-linux
99
97
 
100
98
  DEPENDENCIES
101
- bundler (~> 2.2.14)
102
- minitest (~> 5.0)
103
- minitest-focus (~> 1.1.2)
104
- minitest-reporters (~> 1.4.2)
105
- mocha (~> 1.11.2)
106
- pry (~> 0.13)
107
- rake (~> 13.0)
99
+ bundler (~> 2.3.5)
100
+ minitest (~> 5.15.0)
101
+ minitest-focus (~> 1.3.1)
102
+ minitest-reporters (~> 1.5.0)
103
+ mocha (~> 1.13.0)
104
+ pry (~> 0.14.1)
105
+ rake (~> 13.0.6)
108
106
  timecop (~> 0.9.1)
109
107
  vodacom!
110
- webmock (~> 3.8.3)
108
+ webmock (~> 3.14.0)
111
109
 
112
110
  BUNDLED WITH
113
- 2.2.14
111
+ 2.3.5
data/LICENSE CHANGED
File without changes
data/LICENSE.txt CHANGED
File without changes
data/README.md CHANGED
@@ -23,7 +23,10 @@ Or install it yourself as:
23
23
 
24
24
  ```ruby
25
25
  require 'vodacom'
26
- client = Vodacom::Client.new(key: 'your key', secret: 'your secret')
26
+ client = Vodacom::Client.new(username: 'your key', password: 'your password from vodacom website')
27
+
28
+ phone_number = "27...."
29
+ client.balance(phone_number)
27
30
  ```
28
31
 
29
32
  ### Endpoints
data/Rakefile CHANGED
File without changes
data/bin/console CHANGED
File without changes
data/bin/setup CHANGED
File without changes
@@ -10,17 +10,8 @@ module Vodacom
10
10
  :base_path,
11
11
  :port,
12
12
  :login_response,
13
- # :gateway_session,
14
- # :gateway_session_expiry,
15
- # :vopToken,
16
- # :vopToken_expiry,
17
- # :vod_web_auth_token,
18
- # :vod_web_auth_token_expiry,
19
- # :jsessionid,
20
- # :jsessionid_expiry,
21
- # :oauth2_apps_token_db,
22
- # :oauth2_apps_token_db_expiry,
23
- :raw_cookie
13
+ :raw_cookie,
14
+ :expiry
24
15
 
25
16
  def initialize(username:, password:, base_path: 'https://www.vodacom.co.za/cloud', port: 80)
26
17
  @username = username
@@ -41,7 +32,7 @@ module Vodacom
41
32
  def balance(phone_number)
42
33
  start_time = get_micro_second_time
43
34
 
44
- login unless raw_cookie
35
+ login unless (raw_cookie && (expiry.to_i > Time.now.to_i))
45
36
  response = HTTParty.send(
46
37
  :get,
47
38
  "#{BALANCE_PATH}#{phone_number}",
@@ -80,11 +71,7 @@ module Vodacom
80
71
  @login_response = construct_response_object(response, LOGIN_PATH, start_time, end_time)
81
72
 
82
73
  @raw_cookie = @login_response.dig("headers").dig("set-cookie")
83
- # @gateway_session, _ = parse_cookie(raw_cookie, 'gatewaysession')
84
- # @vopToken, @vopToken_expiry = parse_cookie(raw_cookie, 'vopToken')
85
- # @vod_web_auth_token, @vod_web_auth_token_expiry = parse_cookie(raw_cookie, 'vod-web-auth-token')
86
- # @jsessionid, @jsessionid_expiry = parse_cookie(raw_cookie, 'JSESSIONID')
87
- # @oauth2_apps_token_db, @oauth2_apps_token_db_expiry = parse_cookie(raw_cookie, 'OAuth2AppsTokenDB')
74
+ _, @expiry = parse_cookie(raw_cookie, 'OAuth2AppsTokenDB')
88
75
  end
89
76
 
90
77
  # def authorise_and_send(http_method:, path:, payload: {}, params: {})
@@ -1,3 +1,3 @@
1
1
  module Vodacom
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.4"
3
3
  end
data/lib/vodacom.rb CHANGED
File without changes
data/vodacom.gemspec CHANGED
@@ -22,19 +22,19 @@ Gem::Specification.new do |spec|
22
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
23
  spec.require_paths = ["lib"]
24
24
 
25
- spec.add_dependency "httparty", "~> 0.18"
25
+ spec.add_dependency "httparty", "~> 0.20.0"
26
26
  # spec.add_dependency "httparty_with_cookies", "~> 0.2.2"
27
- spec.add_dependency "active_attr", "~> 0.15"
28
- spec.add_dependency "nokogiri", "~> 1.11.2"
27
+ spec.add_dependency "active_attr", "~> 0.15.4"
28
+ spec.add_dependency "nokogiri", "~> 1.13.1"
29
29
 
30
30
  # Development dependancies
31
- spec.add_development_dependency "bundler", "~> 2.2.14"
32
- spec.add_development_dependency "rake", "~> 13.0"
33
- spec.add_development_dependency "minitest", "~> 5.0"
34
- spec.add_development_dependency "minitest-focus", "~> 1.1.2"
35
- spec.add_development_dependency "minitest-reporters", "~> 1.4.2"
31
+ spec.add_development_dependency "bundler", "~> 2.3.5"
32
+ spec.add_development_dependency "rake", "~> 13.0.6"
33
+ spec.add_development_dependency "minitest", "~> 5.15.0"
34
+ spec.add_development_dependency "minitest-focus", "~> 1.3.1"
35
+ spec.add_development_dependency "minitest-reporters", "~> 1.5.0"
36
36
  spec.add_development_dependency "timecop", "~> 0.9.1"
37
- spec.add_development_dependency "mocha", "~> 1.11.2"
38
- spec.add_development_dependency "pry", "~> 0.13"
39
- spec.add_development_dependency "webmock", "~> 3.8.3"
37
+ spec.add_development_dependency "mocha", "~> 1.13.0"
38
+ spec.add_development_dependency "pry", "~> 0.14.1"
39
+ spec.add_development_dependency "webmock", "~> 3.14.0"
40
40
  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.1
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - trex22
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2021-03-13 00:00:00.000000000 Z
11
+ date: 2022-05-31 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty
@@ -16,112 +16,112 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '0.18'
19
+ version: 0.20.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '0.18'
26
+ version: 0.20.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: active_attr
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '0.15'
33
+ version: 0.15.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: '0.15'
40
+ version: 0.15.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: nokogiri
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.11.2
47
+ version: 1.13.1
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.11.2
54
+ version: 1.13.1
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 2.2.14
61
+ version: 2.3.5
62
62
  type: :development
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: 2.2.14
68
+ version: 2.3.5
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '13.0'
75
+ version: 13.0.6
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: '13.0'
82
+ version: 13.0.6
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: minitest
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '5.0'
89
+ version: 5.15.0
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '5.0'
96
+ version: 5.15.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: minitest-focus
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: 1.1.2
103
+ version: 1.3.1
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: 1.1.2
110
+ version: 1.3.1
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: minitest-reporters
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - "~>"
116
116
  - !ruby/object:Gem::Version
117
- version: 1.4.2
117
+ version: 1.5.0
118
118
  type: :development
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 1.4.2
124
+ version: 1.5.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: timecop
127
127
  requirement: !ruby/object:Gem::Requirement
@@ -142,42 +142,42 @@ dependencies:
142
142
  requirements:
143
143
  - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: 1.11.2
145
+ version: 1.13.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
150
  - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: 1.11.2
152
+ version: 1.13.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: pry
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
157
  - - "~>"
158
158
  - !ruby/object:Gem::Version
159
- version: '0.13'
159
+ version: 0.14.1
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: '0.13'
166
+ version: 0.14.1
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: webmock
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
171
  - - "~>"
172
172
  - !ruby/object:Gem::Version
173
- version: 3.8.3
173
+ version: 3.14.0
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
178
  - - "~>"
179
179
  - !ruby/object:Gem::Version
180
- version: 3.8.3
180
+ version: 3.14.0
181
181
  description: A client for using the Vodacom API in Ruby. This is an unofficial project.
182
182
  email:
183
183
  - contact@jasonchalom.com
@@ -204,7 +204,7 @@ homepage: https://github.com/TRex22/vodacom-client
204
204
  licenses:
205
205
  - MIT
206
206
  metadata: {}
207
- post_install_message:
207
+ post_install_message:
208
208
  rdoc_options: []
209
209
  require_paths:
210
210
  - lib
@@ -219,8 +219,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
219
219
  - !ruby/object:Gem::Version
220
220
  version: '0'
221
221
  requirements: []
222
- rubygems_version: 3.0.6
223
- signing_key:
222
+ rubygems_version: 3.3.4
223
+ signing_key:
224
224
  specification_version: 4
225
225
  summary: A client for using the Vodacom API in Ruby.
226
226
  test_files: []