easyllama-client 0.1.0 → 0.1.1

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
  SHA256:
3
- metadata.gz: 2272c4bd3d6e675e1c5c6a768f156c7624c1bfb6a0c283ce02dc76af4b980c7f
4
- data.tar.gz: 419953966eeb58db9b83be9e4de547a581aef9c18740d93b54c2db8184bdd947
3
+ metadata.gz: b275fa080c57dc300bb5d804413e54a90b69b04d58732db4e72286a03bc009f4
4
+ data.tar.gz: 23255762cc3409dfd092ef45ec3e089b455ed6f43097ad0faa5b24749c8bee91
5
5
  SHA512:
6
- metadata.gz: 981cfe3b3436caa78ae65e62ab40635a8de7f2f896ee25cb40e25dc3b4baac684700ce4f3fb00372bc3756e16a6aeb8dab48f7c73bdfd3543a0f6d9195cd4a6c
7
- data.tar.gz: 488d7e16f922ea4e8b34fde90124b09bcf67e4f2b828a6181166393b8845351d0750bc693ee732d00a2bde82f192ecc9bfd1b0c128ffdf02150e85a0560fc0d8
6
+ metadata.gz: b59d2271d6987a6676cd7603dff54391d5dfbdd2793d7bf0133d2bec6950ba07ab19584f8289ca93fb6a491b6c7c5cb813b055d2f8d1750eaf827ad6da08af91
7
+ data.tar.gz: 946e1fa2c7ddfbb15a588841e8114eb714fb94a3a89d433c7201cd4972a4be1d889be3f0b0548cb9aee23835474bbf01ab5a956596522cbe3cf22169ccf46799
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Easyllama
4
4
  module Client
5
- VERSION = '0.1.0'
5
+ VERSION = '0.1.1'
6
6
  end
7
7
  end
@@ -3,6 +3,10 @@
3
3
  require 'net/http'
4
4
  require 'json'
5
5
 
6
+ require_relative 'locations'
7
+ require_relative 'learners'
8
+ require_relative 'trainings'
9
+
6
10
  module EasyLlama
7
11
  # This class provides methods for interacting with the Easy Llama API.
8
12
  class Client
@@ -36,14 +40,6 @@ module EasyLlama
36
40
  end
37
41
  end
38
42
 
39
- # Sends a GET request to retrieve locations.
40
- #
41
- # @return [Object] The locations or an error message.
42
- def locations
43
- response = send_request(path: '/locations')
44
- response_body(response, 'locations')
45
- end
46
-
47
43
  private
48
44
 
49
45
  def build_uri(path)
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EasyLlama
4
+ class Client
5
+ class Learners
6
+ class << self
7
+ # Sends a GET request to retrieve all learners.
8
+ #
9
+ # @return [Object] The learners or an error message.
10
+ def all
11
+ response = EasyLlama::Client.send_request(path: '/learners')
12
+ EasyLlama::Client.response_body(response, 'learners')
13
+ end
14
+
15
+ # Sends a GET request to retrieve a learner by ID.
16
+ #
17
+ # @param id [Integer] The ID of the learner.
18
+ # @return [Object] The learner or an error message.
19
+ def find(id)
20
+ response = EasyLlama::Client.send_request(path: "/learners/#{id}")
21
+ EasyLlama::Client.response_body(response, 'learner')
22
+ end
23
+
24
+ # Sends a POST request to create a learner.
25
+ #
26
+ # @param learner_attributes [Hash] The attributes of the learner.
27
+ # @return [Object] The created learner or an error message.
28
+ def create(learner_attributes = {})
29
+ response = EasyLlama::Client.send_request(path: '/learners', method: :post, body: learner_attributes)
30
+ EasyLlama::Client.response_body(response, 'learner')
31
+ end
32
+
33
+ # Sends a PATCH request to update a learner by ID.
34
+ #
35
+ # @param id [Integer] The ID of the learner.
36
+ # @param learner_attributes [Hash] The attributes to update.
37
+ # @return [Object] The updated learner or an error message.
38
+ def update(id, learner_attributes = {})
39
+ response = EasyLlama::Client.send_request(path: "/learners/#{id}", method: :patch, body: learner_attributes)
40
+ EasyLlama::Client.response_body(response, 'learner')
41
+ end
42
+
43
+ # Sends a POST request to assign a training to a learner.
44
+ #
45
+ # @param training_id [Integer] The ID of the training.
46
+ # @param learner_id [Integer] The ID of the learner.
47
+ # @return [Object] The assignment details or an error message.
48
+ def assign_training_to_learner(training_id:, learner_id:)
49
+ response = EasyLlama::Client.send_request(path: "/learners/#{learner_id}/learner_trainings", method: :post, body: { learner_id:, training_id: })
50
+ EasyLlama::Client.response_body(response, 'assignment')
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EasyLlama
4
+ class Client
5
+ class Locations
6
+ class << self
7
+ # Sends a GET request to retrieve all locations.
8
+ #
9
+ # @return [Object] The locations or an error message.
10
+ def all
11
+ response = EasyLlama::Client.send_request(path: '/locations')
12
+ EasyLlama::Client.response_body(response, 'locations')
13
+ end
14
+
15
+ # Sends a POST request to create a location.
16
+ #
17
+ # @param location_attributes [Hash] The attributes of the location.
18
+ # @return [Object] The created location or an error message.
19
+ def create(location_attributes = {})
20
+ response = EasyLlama::Client.send_request(path: '/locations', method: :post, body: location_attributes)
21
+ EasyLlama::Client.response_body(response, 'location')
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,17 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EasyLlama
4
+ class Client
5
+ class Trainings
6
+ class << self
7
+ # Sends a GET request to retrieve all trainings.
8
+ #
9
+ # @return [Object] The trainings or an error message.
10
+ def all
11
+ response = EasyLlama::Client.send_request(path: '/trainings')
12
+ EasyLlama::Client.response_body(response, 'trainings')
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: easyllama-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitalii Kashoid
@@ -47,6 +47,9 @@ extra_rdoc_files: []
47
47
  files:
48
48
  - lib/easyllama/client.rb
49
49
  - lib/easyllama/client/version.rb
50
+ - lib/easyllama/learners.rb
51
+ - lib/easyllama/locations.rb
52
+ - lib/easyllama/trainings.rb
50
53
  homepage: https://rubygems.org/gems/easyllama-client
51
54
  licenses:
52
55
  - MIT