epitech_api 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c3a50858a3247c8c84e8322a7a4622e15690f54c
4
- data.tar.gz: d235532b69bc9923bf89119627201436cda8fbcf
3
+ metadata.gz: f9aa47121fcb332a5c89bf53789c206c1da88724
4
+ data.tar.gz: 9c78ab50c4abec739c4acfe6c3d996df60bda660
5
5
  SHA512:
6
- metadata.gz: 8011c29fe817e58b20dde598a804a971951ae15579e4495e6ba69e4bac04001ee6f7a689c4a3cb417c720267ae3d059df33a5acec4bf8904e56d7b7d58e5b9b2
7
- data.tar.gz: f57231471fba674bae76441408118c4058dc1e924b949c905ba56c83ccfa1030d9eeb55baf8aef351118e28a6d7d9fef1d8719f2dcf1f2f69271d6f1f309f3ff
6
+ metadata.gz: 2020def9566af1514fbe5693e63fec59472c419f2e3efb41c591f9f1e75594ca7b1f725ddeb33fcee6f669620a48d36fa8cee0b5ce140678a1be1d4f0cbdfe6b
7
+ data.tar.gz: a9c2905c7dc69d69b5e047d0decece2c9902ebda88e47e2c19fa55cda3f54b0a2d89fee444b46658028ffde757776ffffb220a1e6334db81cfbe6e358fe2c39e
data/.gitignore CHANGED
File without changes
data/.idea/.rakeTasks CHANGED
File without changes
File without changes
File without changes
data/.idea/modules.xml CHANGED
File without changes
data/.idea/workspace.xml CHANGED
File without changes
data/.rspec CHANGED
File without changes
data/.travis.yml CHANGED
File without changes
data/CODE_OF_CONDUCT.md CHANGED
File without changes
data/Gemfile CHANGED
File without changes
data/Gemfile.lock CHANGED
File without changes
data/LICENSE CHANGED
File without changes
data/LICENSE.txt CHANGED
File without changes
data/README.md CHANGED
File without changes
data/Rakefile CHANGED
File without changes
data/epitech_api.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |spec|
30
30
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
31
31
  spec.require_paths = ["lib"]
32
32
 
33
- spec.add_runtime_dependency "json", "~> 2.1.0"
33
+ spec.add_runtime_dependency "json", "~> 2.1"
34
34
  spec.add_development_dependency "bundler", "~> 1.16"
35
35
  spec.add_development_dependency "rake", "~> 10.0"
36
36
  spec.add_development_dependency "rspec", "~> 3.0"
@@ -1,3 +1,5 @@
1
- class InvalidCredentials < SecurityError
1
+ module EpitechApi
2
+ class InvalidCredentials < SecurityError
2
3
 
4
+ end
3
5
  end
@@ -1,3 +1,5 @@
1
- class InvalidRights < SecurityError
1
+ module EpitechApi
2
+ class InvalidRights < SecurityError
2
3
 
4
+ end
3
5
  end
@@ -3,15 +3,16 @@ require 'cgi/cookie'
3
3
  require_relative '../Exceptions/invalid_credentials'
4
4
  require_relative '../user'
5
5
 
6
- class IntraProvider
6
+ module EpitechApi
7
+ class IntraProvider
8
+ def self.auto_login(code)
9
+ uri = URI("https://intra.epitech.eu/#{code}")
10
+ response = Net::HTTP.get_response(uri)
11
+ raise InvalidCredentials unless response.code.to_i == 302
7
12
 
8
- def self.auto_login(code)
9
- uri = URI("https://intra.epitech.eu/#{code}")
10
- response = Net::HTTP.get_response(uri)
11
- raise InvalidCredentials unless response.code.to_i == 302
12
-
13
- cookie = CGI::Cookie::parse(response['Set-Cookie'])
14
- token = cookie['user']
15
- User.new token
13
+ cookie = CGI::Cookie::parse(response['Set-Cookie'])
14
+ token = cookie['user']
15
+ User.new token
16
+ end
16
17
  end
17
18
  end
@@ -3,15 +3,17 @@ require 'cgi/cookie'
3
3
  require_relative '../Exceptions/invalid_credentials'
4
4
  require_relative '../user'
5
5
 
6
- class OfficeProvider
6
+ module EpitechApi
7
+ class OfficeProvider
7
8
 
8
- def self.login(code)
9
- uri = URI("https://intra.epitech.eu/auth/office365?code=#{code}&state=%2f")
10
- response = Net::HTTP.get_response(uri)
11
- raise InvalidCredentials unless response.code.to_i == 302
9
+ def self.login(code)
10
+ uri = URI("https://intra.epitech.eu/auth/office365?code=#{code}&state=%2f")
11
+ response = Net::HTTP.get_response(uri)
12
+ raise InvalidCredentials unless response.code.to_i == 302
12
13
 
13
- cookie = CGI::Cookie::parse(response['Set-Cookie'])
14
- token = cookie['user']
15
- User.new token
14
+ cookie = CGI::Cookie::parse(response['Set-Cookie'])
15
+ token = cookie['user']
16
+ User.new token
17
+ end
16
18
  end
17
- end
19
+ end
@@ -1,23 +1,26 @@
1
- class Gatherer
2
-
3
- def initialize(token)
4
- @token = token
5
- end
6
-
7
- def promos(location, year)
8
- uri = URI("https://intra.epitech.eu/user/filter/promo?format=json&location=#{location}&year=#{year}&active=true")
9
- puts uri
10
-
11
- req = Net::HTTP::Get.new uri
12
- req['Cookie'] = "#{@token}"
13
-
14
- http = Net::HTTP.new(uri.hostname, uri.port)
15
- http.use_ssl = true
16
-
17
- response = http.request req
18
-
19
- puts response
20
- raise InvalidRights unless response.code.to_i == 200
21
- JSON.parse response.body
22
- end
1
+ module EpitechApi
2
+
3
+ class Gatherer
4
+
5
+ def initialize(token)
6
+ @token = token
7
+ end
8
+
9
+ def promos(location, year)
10
+ uri = URI("https://intra.epitech.eu/user/filter/promo?format=json&location=#{location}&year=#{year}&active=true")
11
+ puts uri
12
+
13
+ req = Net::HTTP::Get.new uri
14
+ req['Cookie'] = "#{@token}"
15
+
16
+ http = Net::HTTP.new(uri.hostname, uri.port)
17
+ http.use_ssl = true
18
+
19
+ response = http.request req
20
+
21
+ puts response
22
+ raise InvalidRights unless response.code.to_i == 200
23
+ JSON.parse response.body
24
+ end
25
+ end
23
26
  end
@@ -2,28 +2,30 @@ require 'json'
2
2
  require_relative 'Exceptions/invalid_rights'
3
3
  require_relative 'gatherer'
4
4
 
5
- class User
5
+ module EpitechApi
6
+ class User
6
7
 
7
- def initialize(token)
8
- @token = token
9
- end
8
+ def initialize(token)
9
+ @token = token
10
+ end
10
11
 
11
- def gatherer
12
- Gatherer.new @token
13
- end
12
+ def gatherer
13
+ Gatherer.new @token
14
+ end
14
15
 
15
- def info
16
- uri = URI('https://intra.epitech.eu/user/?format=json')
16
+ def info
17
+ uri = URI('https://intra.epitech.eu/user/?format=json')
17
18
 
18
- req = Net::HTTP::Get.new uri
19
- req['Cookie'] = "#{@token}"
19
+ req = Net::HTTP::Get.new uri
20
+ req['Cookie'] = "#{@token}"
20
21
 
21
- http = Net::HTTP.new(uri.hostname, uri.port)
22
- http.use_ssl = true
22
+ http = Net::HTTP.new(uri.hostname, uri.port)
23
+ http.use_ssl = true
23
24
 
24
- response = http.request req
25
+ response = http.request req
25
26
 
26
- raise InvalidRights unless response.code.to_i == 200
27
- JSON.parse response.body
27
+ raise InvalidRights unless response.code.to_i == 200
28
+ JSON.parse response.body
29
+ end
28
30
  end
29
31
  end
@@ -1,3 +1,3 @@
1
1
  module EpitechApi
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.2"
3
3
  end
data/lib/epitech_api.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  require "epitech_api/version"
2
2
 
3
3
  module EpitechApi
4
- # Your code goes here...
4
+
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: epitech_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Antoine FORET
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-12-17 00:00:00.000000000 Z
11
+ date: 2017-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: json
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 2.1.0
19
+ version: '2.1'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 2.1.0
26
+ version: '2.1'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bundler
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -99,7 +99,6 @@ files:
99
99
  - lib/epitech_api/gatherer.rb
100
100
  - lib/epitech_api/user.rb
101
101
  - lib/epitech_api/version.rb
102
- - test.rb
103
102
  homepage: https://github.com/eliastre100/epitech-api-gem
104
103
  licenses:
105
104
  - MIT
data/test.rb DELETED
@@ -1,9 +0,0 @@
1
- require 'epitech_api/Provider/intra_provider'
2
- require 'epitech_api/Provider/office_provider'
3
-
4
- user = IntraProvider.auto_login 'auth-cb01ff8a7f60c846dbc8f1c4a7b3616f38b302ee'
5
- infos = user.info
6
-
7
- puts infos.inspect
8
- promos = user.gatherer.promos(infos['location'], 2017)
9
- puts promos