learn-web 1.4.2 → 1.5.0

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: cc308f49592f2e41a32e55ca66775179c0005229
4
- data.tar.gz: d0aeda72be382ddefe580305da9f74980cc12f3a
3
+ metadata.gz: ac81838b897625bf99d52ec8bfbc4e247e92c783
4
+ data.tar.gz: 2d939ba9e0d3a4a5f399e5665c3059a9c8d49490
5
5
  SHA512:
6
- metadata.gz: 6e8734904056d93f9577dbe8e1abe6f469820196de4c22861a248fe6505b5648946510a345f78843beeacbc42c9f4c445143d73d5de766df2e197982d1e5ec72
7
- data.tar.gz: 2a96746b4ddd6b8d03bc32585cb20ed2030488421a5863e157c8ec647fd5c4f5bba997b8fde51a59c66077f4c19be3b11c249310d759089d9316d8c18c75549a
6
+ metadata.gz: cef560c5e879d2608ada091e3634683312c69ecc4ed02fe6fdc1eda6253f1f3938cfc586de9be40e2fb052d0ce2163157d14697e79c26e19ac77b65fd25b2b37
7
+ data.tar.gz: 6ab8a648f17ae299ec0d9daad1a1abf6aa923e402efda058ca562085e2c663fe568f296bb8023f0561add9e68765be0f5acbd72ae75b696bd0bfd01109459f69
@@ -6,6 +6,7 @@ require 'learn_web/client/lesson'
6
6
  require 'learn_web/client/validate_repo'
7
7
  require 'learn_web/client/fork'
8
8
  require 'learn_web/client/environment'
9
+ require 'learn_web/client/event'
9
10
 
10
11
  module LearnWeb
11
12
  class Client
@@ -22,6 +23,7 @@ module LearnWeb
22
23
  include LearnWeb::Client::Fork
23
24
  include LearnWeb::Client::User
24
25
  include LearnWeb::Client::Environment
26
+ include LearnWeb::Client::Event
25
27
 
26
28
  def initialize(token:, silent_output: false)
27
29
  @token = token
@@ -0,0 +1,31 @@
1
+ require 'learn_web/client/event/submission'
2
+
3
+ module LearnWeb
4
+ class Client
5
+ module Event
6
+ attr_reader :client
7
+
8
+ IRONBROKER_URL = 'http://ironbroker-v2.flatironschool.com'
9
+
10
+ def client
11
+ @client ||= Faraday.new(url: IRONBROKER_URL) do |faraday|
12
+ faraday.adapter Faraday.default_adapter
13
+ end
14
+ end
15
+
16
+ def submission_endpoint
17
+ '/e/learn_gem'
18
+ end
19
+
20
+ def submit_event(params)
21
+ response = post(
22
+ submission_endpoint,
23
+ body: params,
24
+ client: client
25
+ )
26
+
27
+ LearnWeb::Client::Event::Submission.new(response)
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,19 @@
1
+ module LearnWeb
2
+ class Client
3
+ module Event
4
+ class Submission
5
+ attr_reader :response
6
+ attr_accessor :data
7
+
8
+ include LearnWeb::AttributePopulatable
9
+ include LearnWeb::ResponseParsable
10
+
11
+ def initialize(response)
12
+ @response = response
13
+
14
+ parse!
15
+ end
16
+ end
17
+ end
18
+ end
19
+ end
@@ -4,7 +4,7 @@ module LearnWeb
4
4
  class CurrentLesson
5
5
  attr_reader :response
6
6
  attr_accessor :data, :id, :title, :link, :github_repo, :forked_repo,
7
- :assessments, :lab
7
+ :clone_repo, :assessments, :lab, :dot_learn
8
8
 
9
9
  include LearnWeb::AttributePopulatable
10
10
  include LearnWeb::ResponseParsable
@@ -4,7 +4,7 @@ module LearnWeb
4
4
  class NextLesson
5
5
  attr_reader :response
6
6
  attr_accessor :data, :id, :title, :link, :github_repo, :forked_repo,
7
- :assessments, :lab
7
+ :clone_repo, :assessments, :lab, :dot_learn
8
8
 
9
9
  include LearnWeb::AttributePopulatable
10
10
  include LearnWeb::ResponseParsable
@@ -6,7 +6,8 @@ module LearnWeb
6
6
 
7
7
  def request(method, url, options = {})
8
8
  begin
9
- @conn.send(method) do |req|
9
+ connection = options[:client] || @conn
10
+ connection.send(method) do |req|
10
11
  req.url url
11
12
  build_request(req, options)
12
13
  end
@@ -18,6 +19,7 @@ module LearnWeb
18
19
  def build_request(request, options)
19
20
  build_headers(request, options[:headers])
20
21
  build_params(request, options[:params])
22
+ build_body(request, options[:body])
21
23
  end
22
24
 
23
25
  def build_headers(request, headers)
@@ -35,6 +37,12 @@ module LearnWeb
35
37
  end
36
38
  end
37
39
  end
40
+
41
+ def build_body(request, body)
42
+ if body
43
+ request.body = Oj.dump(body, mode: :compat)
44
+ end
45
+ end
38
46
  end
39
47
  end
40
48
  end
@@ -2,7 +2,8 @@ module LearnWeb
2
2
  class Client
3
3
  module ValidateRepo
4
4
  class Slug
5
- attr_accessor :data, :repo_slug, :lab, :lesson_id, :later_lesson
5
+ attr_accessor :data, :repo_slug, :lab, :lesson_id, :later_lesson,
6
+ :repo_name, :dot_learn
6
7
  attr_reader :response
7
8
 
8
9
  include AttributePopulatable
@@ -1,3 +1,3 @@
1
1
  module LearnWeb
2
- VERSION = '1.4.2'
2
+ VERSION = '1.5.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: learn-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flatiron School
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-28 00:00:00.000000000 Z
11
+ date: 2016-07-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -86,6 +86,8 @@ files:
86
86
  - lib/learn_web/client/environment.rb
87
87
  - lib/learn_web/client/environment/setup_list.rb
88
88
  - lib/learn_web/client/environment/verification.rb
89
+ - lib/learn_web/client/event.rb
90
+ - lib/learn_web/client/event/submission.rb
89
91
  - lib/learn_web/client/fork.rb
90
92
  - lib/learn_web/client/fork/request.rb
91
93
  - lib/learn_web/client/lesson.rb