epitech_api 0.1.1 → 0.1.2

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: 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