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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b9eb0e5665cab09e9030363f7b209beb16571e4
4
- data.tar.gz: 5bbbdd2a1d1ab0aab270b1ec6c6f43c3456b3b63
3
+ metadata.gz: 58295e295effa0892af2e09364bb19dc4c417b52
4
+ data.tar.gz: 0008d5cde369ee8c50a7273f307eb65f3742c8a9
5
5
  SHA512:
6
- metadata.gz: a94f0abfa77f3d80d94ad79332e48941438b6119bcc6b1e82a66a858bc2d4ca470b4c9d70733b23dc704037610a54750a17e6145b734cad59915cacf2e0ec38c
7
- data.tar.gz: 73e14225826732136131abc1eb3bd400f4566cce3ef258e0bcedf9abce8ddfb3b18f4ea6ea0f916406b22ef6a28853092ca3a24e45d76a35f424f0946a95f369
6
+ metadata.gz: ef1a8788d99217404ce0d3d4fbc685c2736c65f0617ede51e24ffa0b5dd1575f700b314009ccebd8c9e47620df1c14bb413d623d0943c9dc4331b2d5d711baf6
7
+ data.tar.gz: ce7ac91b3cdf3015968728429b55ece11f7dd214d4c1893da57dfa3955fff4dfb9de080278664eb29e3026c884256a4199c1ecabe50099344916bf193c9b0bb1
@@ -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
- @authorization_message = authorize(options)
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 authorize(options={})
33
- path = @endpoint + "/sign-in"
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
- body = process_body(resp.body)
57
+ if resp.code == 200
58
+ body = process_body(resp.body)
52
59
 
53
- @authorized = true if body == SUCCESSFUL_LOGIN
60
+ self.confirmed = true if body["success"]
54
61
 
55
- return body
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, :authorization_message, :authorized].freeze
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
- DEFAULT_AUTHORIZED = false
14
- DEFAULT_AUTHORIZATION_MESSAGE = ""
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.authorized = DEFAULT_AUTHORIZED
36
- self.authorization_message = DEFAULT_AUTHORIZATION_MESSAGE
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
@@ -1,5 +1,5 @@
1
1
  module Teachable
2
2
  module Jg
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teachable-jg
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Joshua