susies 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 +4 -4
- data/README.md +9 -9
- data/example/susies.rb +5 -5
- data/lib/susies.rb +1 -0
- data/lib/{IntraRequestsManager.rb → susies/IntraRequestsManager.rb} +2 -2
- data/lib/{Susie.rb → susies/Susie.rb} +5 -0
- data/lib/{Susies.rb → susies/Susies.rb} +13 -21
- data/susies.gemspec +1 -1
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 70f54d52e7f3c392e035de6cef606aa506e30fab
|
4
|
+
data.tar.gz: adbcdf81300066417f562273eeb93fc663cbf8ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bf3c243d128dcf54614160bb1f715ba88867f8ba34a13f1d5bf556fefcca982bf14b78868175daea5967238054370b9ddd745b1c0b2b703965aaa2e42599e081
|
7
|
+
data.tar.gz: d6a7d885ad6b69971888c06cec86397ef8b65195f51860cb416874df72a9e731092b92fa78cbf981cb98a7d208a93b07a81ab99cfb04d616bf611defdbdb4361
|
data/README.md
CHANGED
@@ -19,14 +19,14 @@ Soit via un `Gemfile`: `gem 'susies'` et `bundle install`
|
|
19
19
|
L'utilisation est assez simple:
|
20
20
|
|
21
21
|
```ruby
|
22
|
-
require '
|
22
|
+
require 'susies'
|
23
23
|
|
24
24
|
# whiteListFilters: susies MUST match these filters
|
25
25
|
whiteListFilters = {
|
26
|
-
|
27
|
-
|
28
|
-
minHour:
|
29
|
-
maxHour:
|
26
|
+
logins: %w[login_x],
|
27
|
+
nb_registered: 6,
|
28
|
+
minHour: 8,
|
29
|
+
maxHour: 17
|
30
30
|
}
|
31
31
|
|
32
32
|
# blackListFilters: susies MUST NOT match these filters
|
@@ -37,8 +37,8 @@ blackListFilters = {
|
|
37
37
|
|
38
38
|
# autologin: intranet authentication
|
39
39
|
autologins = {
|
40
|
-
autologinPath: '
|
41
|
-
buddiesAutologins: %w[/
|
40
|
+
autologinPath: '/my_autologin_path',
|
41
|
+
buddiesAutologins: %w[/buddy_autologin_path],
|
42
42
|
}
|
43
43
|
|
44
44
|
# mailInfos: mailer configuration
|
@@ -63,14 +63,14 @@ Les whiteListFilters sont les critères que les susies doivent avoir, à l'inver
|
|
63
63
|
|
64
64
|
Laissez `nil` si vous ne voullez pas de filtres.
|
65
65
|
|
66
|
-
###
|
66
|
+
### logins
|
67
67
|
|
68
68
|
* Les logins des susies recherchées.
|
69
69
|
* Type: Array of strings
|
70
70
|
* Default: nil
|
71
71
|
|
72
72
|
|
73
|
-
###
|
73
|
+
### nb_registered
|
74
74
|
|
75
75
|
* Nombre d'étudiants déjà inscrit à la susie class (0: personne d'inscrit, 10: plus de places)
|
76
76
|
* Type: int
|
data/example/susies.rb
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
#!/usr/bin/ruby
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'susies'
|
4
4
|
|
5
5
|
# whiteListFilters: susies MUST match these filters
|
6
6
|
whiteListFilters = {
|
7
|
-
|
8
|
-
|
9
|
-
minHour:
|
10
|
-
maxHour:
|
7
|
+
logins: %w[login_x],
|
8
|
+
nb_registered: 6,
|
9
|
+
minHour: 8,
|
10
|
+
maxHour: 17
|
11
11
|
}
|
12
12
|
|
13
13
|
# blackListFilters: susies MUST NOT match these filters
|
data/lib/susies.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'susies/Susies'
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# Dependencies
|
2
|
-
require 'Susie
|
2
|
+
require 'susies/Susie'
|
3
3
|
require 'net/http'
|
4
4
|
require 'json'
|
5
5
|
|
@@ -57,7 +57,7 @@ class IntraRequestsManager
|
|
57
57
|
path = "/planning/#{ @planningID }/#{ susie.id }/subscribe?format=json®istercalendar"
|
58
58
|
response = @http.post path, '', { 'Cookie' => @cookies }
|
59
59
|
|
60
|
-
susie.nb_registered
|
60
|
+
susie.nb_registered += 1
|
61
61
|
susie
|
62
62
|
end
|
63
63
|
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# Dependencies
|
2
2
|
require 'active_support/time'
|
3
3
|
require 'net/smtp'
|
4
|
-
require 'Susie
|
5
|
-
require 'IntraRequestsManager
|
4
|
+
require 'susies/Susie'
|
5
|
+
require 'susies/IntraRequestsManager'
|
6
6
|
|
7
7
|
class Susies
|
8
8
|
|
@@ -47,8 +47,9 @@ class Susies
|
|
47
47
|
def findSusie(susies)
|
48
48
|
log "Not already registrated: seeking susies"
|
49
49
|
susies.each do |susie|
|
50
|
+
log "Checking criterias of: #{ susie.to_s }"
|
50
51
|
if !matchCriterias?(susie, @blackListFilters) && matchCriterias?(susie, @whiteListFilters)
|
51
|
-
log "Find susie matching criterias"
|
52
|
+
log "Find susie matching criterias: #{ susie.to_s }"
|
52
53
|
log "Registering to susie"
|
53
54
|
registerSusie susie
|
54
55
|
log "Sending mails"
|
@@ -74,7 +75,7 @@ Hey,
|
|
74
75
|
|
75
76
|
I've just registered to a susie class.
|
76
77
|
|
77
|
-
#{ susie.
|
78
|
+
#{ susie.to_text }
|
78
79
|
MESSAGE
|
79
80
|
end
|
80
81
|
|
@@ -94,20 +95,14 @@ I've just registered to a susie class.
|
|
94
95
|
def matchCriterias?(susie, filters)
|
95
96
|
return true unless filters
|
96
97
|
|
97
|
-
min_hour = filters[:minHour].nil? || susie.start.hour >= filters[:minHour]
|
98
|
-
max_hour = filters[:maxHour].nil? || susie.end.hour >= filters[:maxHour]
|
99
|
-
nb_students = filters[:nb_registered].nil? || susie.nb_registered <= filters[:nb_registered]
|
100
|
-
login = filters[:logins].nil? || filters[:logins].include?(susie.login)
|
101
|
-
type = filters[:type].nil? || susie.type == filters[:type]
|
102
|
-
title = filters[:title].nil? || susie.title.include?(filters[:title])
|
98
|
+
min_hour = filters[:minHour].nil? || (susie.start.hour >= filters[:minHour])
|
99
|
+
max_hour = filters[:maxHour].nil? || (susie.end.hour >= filters[:maxHour])
|
100
|
+
nb_students = filters[:nb_registered].nil? || (susie.nb_registered <= filters[:nb_registered])
|
101
|
+
login = filters[:logins].nil? || (filters[:logins].include?(susie.login))
|
102
|
+
type = filters[:type].nil? || (susie.type == filters[:type])
|
103
|
+
title = filters[:title].nil? || (susie.title.include?(filters[:title]))
|
103
104
|
|
104
|
-
|
105
|
-
filters[:logins].each do |login|
|
106
|
-
login = true if susie.login == login
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
return min_hour && max_hour && login && nb_students && type && title
|
105
|
+
min_hour && max_hour && login && nb_students && type && title
|
111
106
|
end
|
112
107
|
|
113
108
|
|
@@ -125,10 +120,7 @@ I've just registered to a susie class.
|
|
125
120
|
|
126
121
|
|
127
122
|
def registeredThisWeek?(susies)
|
128
|
-
susies.each
|
129
|
-
return true if susie.is_registered
|
130
|
-
end
|
131
|
-
|
123
|
+
susies.each { |susie| return true if susie.is_registered }
|
132
124
|
false
|
133
125
|
end
|
134
126
|
|
data/susies.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: susies
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Simon Ninon
|
@@ -20,9 +20,10 @@ files:
|
|
20
20
|
- MIT_LICENSE.txt
|
21
21
|
- README.md
|
22
22
|
- example/susies.rb
|
23
|
-
- lib/
|
24
|
-
- lib/
|
25
|
-
- lib/
|
23
|
+
- lib/susies.rb
|
24
|
+
- lib/susies/IntraRequestsManager.rb
|
25
|
+
- lib/susies/Susie.rb
|
26
|
+
- lib/susies/Susies.rb
|
26
27
|
- susies.gemspec
|
27
28
|
homepage: https://github.com/Cylix/Susies
|
28
29
|
licenses:
|
@@ -34,19 +35,18 @@ require_paths:
|
|
34
35
|
- lib
|
35
36
|
required_ruby_version: !ruby/object:Gem::Requirement
|
36
37
|
requirements:
|
37
|
-
- -
|
38
|
+
- - ">="
|
38
39
|
- !ruby/object:Gem::Version
|
39
40
|
version: '0'
|
40
41
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
41
42
|
requirements:
|
42
|
-
- -
|
43
|
+
- - ">="
|
43
44
|
- !ruby/object:Gem::Version
|
44
45
|
version: '0'
|
45
46
|
requirements: []
|
46
47
|
rubyforge_project:
|
47
|
-
rubygems_version: 2.
|
48
|
+
rubygems_version: 2.4.2
|
48
49
|
signing_key:
|
49
50
|
specification_version: 4
|
50
51
|
summary: Epitech Susie Classes Bot
|
51
52
|
test_files: []
|
52
|
-
has_rdoc:
|