fortytwo 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +79 -0
- data/lib/fortytwo/responses/models/project_user.rb +1 -1
- data/lib/fortytwo/responses/models/user.rb +3 -1
- data/lib/fortytwo/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: f6abbbceb4da8a60b40ba1d75fd220034b273261
|
4
|
+
data.tar.gz: ba51dce948dd36f78025847037a026c562ab3f35
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a762879b2330d8383afa7645d7538130a29bf6ffbd586db494b159e75e21d0fc7d169d018c05fa6e46a7698f918864e82a467ca5cc39d1f8ef5275d6a9dc9284
|
7
|
+
data.tar.gz: 1eaaa12909726e39e30a02b1e760c57c38411ca525b7e1b5c76624884cba6a8e37af07e13d25f599f12bbf728bbddcf4418471e8c713fbc5418dd86723dbe901
|
data/README.md
CHANGED
@@ -0,0 +1,79 @@
|
|
1
|
+
# fortytwo
|
2
|
+
|
3
|
+
This ruby gem provides a simple interface to the 42 API. Consuming data from the API is now easier and more readable.
|
4
|
+
|
5
|
+
|
6
|
+
## Install
|
7
|
+
|
8
|
+
Add this to your application's Gemifle:
|
9
|
+
|
10
|
+
```ruby
|
11
|
+
gem 'fortytwo'
|
12
|
+
```
|
13
|
+
|
14
|
+
And then execute:
|
15
|
+
|
16
|
+
```ruby
|
17
|
+
bundle install
|
18
|
+
```
|
19
|
+
|
20
|
+
Or install it yourself as:
|
21
|
+
```ruby
|
22
|
+
gem install fortytwo
|
23
|
+
```
|
24
|
+
NOTE: IF YOU'RE INSTALLING IN THE CLUSTER'S MACS, SETUP LOCALLY LIKE THIS:
|
25
|
+
```ruby
|
26
|
+
gem install --user-install fortytwo
|
27
|
+
```
|
28
|
+
|
29
|
+
### Get your API key and secret
|
30
|
+
|
31
|
+
This gem uses a client model to query against the API. You need to create and configure a 42 App containing your API key and API secret and make requests through that. Go here (https://profile.intra.42.fr/oauth/applications/new) to create the app and get the keys. You can name it whatever you want and redirect it wherever you want.
|
32
|
+
|
33
|
+
## Usage
|
34
|
+
|
35
|
+
### Initialize
|
36
|
+
|
37
|
+
Once you have you're key's you can initialize it like this:
|
38
|
+
|
39
|
+
```ruby
|
40
|
+
require 'fortytwo'
|
41
|
+
|
42
|
+
client = FortyTwo::Client.new({ api_key: YOUR_API_KEY, api_secret: YOUR_API_SECRET })
|
43
|
+
```
|
44
|
+
|
45
|
+
### Responses
|
46
|
+
|
47
|
+
Responses from the API are all parsed and converted into Ruby objects. This way, you're able to access information using dot notation.
|
48
|
+
|
49
|
+
```ruby
|
50
|
+
response = client.user("bsaget")
|
51
|
+
user = response.user
|
52
|
+
|
53
|
+
user.id #=>
|
54
|
+
user.first_name #=> Bob
|
55
|
+
user.last_name #=> Saget
|
56
|
+
user.cursus_users.first.level #=> 12.3
|
57
|
+
|
58
|
+
user.instance_variables
|
59
|
+
# [:@id, :@email, :@login, :@first_name, :@last_name, :@url, :@phone, :@displayname, :@image_url,
|
60
|
+
# :@staff, :@correction_point, :@pool_month, :@pool_year, :@location, :@wallet, :@groups,
|
61
|
+
# :@cursus_users, :@projects_users, :@achievements, :@titles, :@partnerships, :@patroned,
|
62
|
+
# :@patroning, :@expertises_users, :@campus]
|
63
|
+
|
64
|
+
user.cursus_users.first.instance_variables
|
65
|
+
# [:@id, :@begin_at, :@end_at, :@grade, :@level, :@skills, :@cursus_id, :@user, :@cursus]
|
66
|
+
|
67
|
+
user.projects_users.first.instance_variables
|
68
|
+
# [:@id, :@occurrence, :@final_mark, :@status, :@validated, :@current_team_id, :@project, :@cursus_ids]
|
69
|
+
|
70
|
+
user.expertises_users.first.instance_variables
|
71
|
+
# [:@id, :@expertise_id, :@interested, :@value, :@contact_me, :@created_at, :@user_id]
|
72
|
+
|
73
|
+
user.campus.first.instance_variables
|
74
|
+
# [:@id, :@name, :@time_zone, :@language, :@users_count, :@vogsphere_id]
|
75
|
+
|
76
|
+
|
77
|
+
```
|
78
|
+
|
79
|
+
That's it! You have access to all the info obtained from a User request to the 42 API.
|
@@ -5,7 +5,7 @@ module FortyTwo
|
|
5
5
|
module Response
|
6
6
|
module Model
|
7
7
|
class ProjectUser < Response::Base
|
8
|
-
attr_reader :id, :occurence, :final_mark, :status,
|
8
|
+
attr_reader :id, :occurence, :final_mark, :status, :validated,
|
9
9
|
:current_team_id, :project, :cursus_ids
|
10
10
|
|
11
11
|
def initialize(json)
|
@@ -11,7 +11,9 @@ module FortyTwo
|
|
11
11
|
attr_reader :id, :email, :login, :first_name, :last_name, :url, :phone,
|
12
12
|
:displayname, :image_url, :correction_point, :staff,
|
13
13
|
:pool_month, :pool_year, :location, :wallet, :cursus_users,
|
14
|
-
:projects_users, :expertises_users, :campus
|
14
|
+
:projects_users, :expertises_users, :campus, :groups,
|
15
|
+
:achievements, :titles, :partnerships, :patroned,
|
16
|
+
:patroning, :expertises_users
|
15
17
|
|
16
18
|
def initialize(json)
|
17
19
|
super(json)
|
data/lib/fortytwo/version.rb
CHANGED