teachable-jg 0.0.3 → 0.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.
- checksums.yaml +4 -4
- data/lib/teachable/jg/client.rb +21 -11
- data/lib/teachable/jg/configuration.rb +9 -6
- data/lib/teachable/jg/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 58295e295effa0892af2e09364bb19dc4c417b52
|
4
|
+
data.tar.gz: 0008d5cde369ee8c50a7273f307eb65f3742c8a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ef1a8788d99217404ce0d3d4fbc685c2736c65f0617ede51e24ffa0b5dd1575f700b314009ccebd8c9e47620df1c14bb413d623d0943c9dc4331b2d5d711baf6
|
7
|
+
data.tar.gz: ce7ac91b3cdf3015968728429b55ece11f7dd214d4c1893da57dfa3955fff4dfb9de080278664eb29e3026c884256a4199c1ecabe50099344916bf193c9b0bb1
|
data/lib/teachable/jg/client.rb
CHANGED
@@ -8,6 +8,7 @@ module Teachable
|
|
8
8
|
format :json
|
9
9
|
|
10
10
|
SUCCESSFUL_LOGIN = {"success"=>true, "login"=>"verified"}
|
11
|
+
SUCCESSFUL_REGISTRATION = {"success"=>true, "registration"=>"verified"}
|
11
12
|
|
12
13
|
# Define the same set of accessors as the Teachable module
|
13
14
|
attr_accessor *Teachable::Jg::Configuration::VALID_CONFIG_KEYS
|
@@ -25,34 +26,43 @@ module Teachable
|
|
25
26
|
Teachable::Jg::Configuration::VALID_CONFIG_KEYS.each do |key|
|
26
27
|
send("#{key}=", merged_options[key])
|
27
28
|
end
|
29
|
+
|
28
30
|
@endpoint = Teachable::Jg::Configuration::DEFAULT_ENDPOINT
|
29
|
-
@
|
31
|
+
@status_message = confirm_status(options)
|
32
|
+
end
|
33
|
+
|
34
|
+
def build_path(registration)
|
35
|
+
registration ? "/register" : "/sign-in"
|
30
36
|
end
|
31
37
|
|
32
|
-
def
|
33
|
-
path =
|
38
|
+
def post_to_users_endpoint(options)
|
39
|
+
path = endpoint + build_path(options[:registration])
|
34
40
|
|
35
41
|
query = {user: {
|
36
42
|
"email" => options[:email],
|
37
43
|
"password" => options[:password],
|
44
|
+
"password_confirmation" => options[:password_confirmation]
|
38
45
|
}}
|
39
46
|
|
40
|
-
headers = {
|
41
|
-
"Accept" => "application/json",
|
42
|
-
"Content-Type" => "application/json"
|
43
|
-
}
|
44
|
-
|
45
47
|
resp = HTTParty.post(
|
46
48
|
path,
|
47
49
|
query: query,
|
48
50
|
headers: headers
|
49
51
|
)
|
52
|
+
end
|
53
|
+
|
54
|
+
def confirm_status(options={})
|
55
|
+
resp = post_to_users_endpoint(options)
|
50
56
|
|
51
|
-
|
57
|
+
if resp.code == 200
|
58
|
+
body = process_body(resp.body)
|
52
59
|
|
53
|
-
|
60
|
+
self.confirmed = true if body["success"]
|
54
61
|
|
55
|
-
|
62
|
+
return body
|
63
|
+
else
|
64
|
+
return resp.code
|
65
|
+
end
|
56
66
|
end
|
57
67
|
|
58
68
|
def process_body(body)
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module Teachable
|
2
2
|
module Jg
|
3
3
|
module Configuration
|
4
|
-
VALID_CONNECTION_KEYS = [:method, :
|
5
|
-
VALID_OPTIONS_KEYS = [:format].freeze
|
4
|
+
VALID_CONNECTION_KEYS = [:method, :status_message, :confirmed].freeze
|
5
|
+
VALID_OPTIONS_KEYS = [:format, :headers].freeze
|
6
6
|
|
7
7
|
VALID_CONFIG_KEYS = VALID_CONNECTION_KEYS + VALID_OPTIONS_KEYS
|
8
8
|
|
@@ -10,8 +10,10 @@ module Teachable
|
|
10
10
|
DEFAULT_METHOD = :post
|
11
11
|
DEFAULT_USER_AGENT = "Teachable API Ruby Gem #{Teachable::Jg::VERSION}".freeze
|
12
12
|
DEFAULT_FORMAT = :json
|
13
|
-
|
14
|
-
|
13
|
+
DEFAULT_CONFIRMED = false
|
14
|
+
DEFAULT_HEADERS = { "Content-Type" => "application/json",
|
15
|
+
"Accept" => "application/json" }
|
16
|
+
DEFAULT_STATUS_MESSAGE = ""
|
15
17
|
|
16
18
|
# Build accessor methods for every config options so we can do this, for example:
|
17
19
|
# Teachable::Jg.format = :xml
|
@@ -32,8 +34,9 @@ module Teachable
|
|
32
34
|
def reset
|
33
35
|
self.method = DEFAULT_METHOD
|
34
36
|
self.format = DEFAULT_FORMAT
|
35
|
-
self.
|
36
|
-
self.
|
37
|
+
self.confirmed = DEFAULT_CONFIRMED
|
38
|
+
self.status_message = DEFAULT_STATUS_MESSAGE
|
39
|
+
self.headers = DEFAULT_HEADERS
|
37
40
|
end
|
38
41
|
|
39
42
|
def configure
|
data/lib/teachable/jg/version.rb
CHANGED