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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: cf7da5127df09154bacf3cbb580d41f61ebfda47
4
- data.tar.gz: 082c4d806dcceac2c188c0057c18569ce91bcf9c
3
+ metadata.gz: 70f54d52e7f3c392e035de6cef606aa506e30fab
4
+ data.tar.gz: adbcdf81300066417f562273eeb93fc663cbf8ce
5
5
  SHA512:
6
- metadata.gz: 2ffc7e22c0a978a4b1c9c98c0d62e4be0dbd8f626a116a6b907f1bc9cf7cad8d43aa71806d2cdff06e019fdfa1c4de126cda436d2fe22b04635432a22d7ce3cb
7
- data.tar.gz: 1bb0a3d5e2efe415593417ac9728d71a1af7cf26625419d04274ef6a285a63d8fb482986a8364c7a912909db43a398430393a034b87d17521b66dfb37d2e31e4
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 'Susies'
22
+ require 'susies'
23
23
 
24
24
  # whiteListFilters: susies MUST match these filters
25
25
  whiteListFilters = {
26
- login: %w[login_x],
27
- maxStudent: 6,
28
- minHour: 8,
29
- maxHour: 17
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: 'https://intra.epitech.eu/my_autologin_url',
41
- buddiesAutologins: %w[/buddy_autologin_url],
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
- ### login
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
- ### maxStudent
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
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
- require 'Susies'
3
+ require 'susies'
4
4
 
5
5
  # whiteListFilters: susies MUST match these filters
6
6
  whiteListFilters = {
7
- login: %w[login_x],
8
- maxStudent: 6,
9
- minHour: 8,
10
- maxHour: 17
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
@@ -0,0 +1 @@
1
+ require 'susies/Susies'
@@ -1,5 +1,5 @@
1
1
  # Dependencies
2
- require 'Susie.rb'
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&registercalendar"
58
58
  response = @http.post path, '', { 'Cookie' => @cookies }
59
59
 
60
- susie.nb_registered -= 1
60
+ susie.nb_registered += 1
61
61
  susie
62
62
  end
63
63
 
@@ -21,6 +21,11 @@ class Susie
21
21
 
22
22
 
23
23
  def to_s
24
+ "#{ self.title } (#{ self.type }) by #{ self.login } from #{ self.start } to #{ self.end } (#{ self.nb_registered } people registered)."
25
+ end
26
+
27
+
28
+ def to_text
24
29
  <<-SUSIE
25
30
  Login: #{ self.login }
26
31
 
@@ -1,8 +1,8 @@
1
1
  # Dependencies
2
2
  require 'active_support/time'
3
3
  require 'net/smtp'
4
- require 'Susie.rb'
5
- require 'IntraRequestsManager.rb'
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.to_s }
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
- if filters[:logins]
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 do |susie|
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
 
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = 'susies'
3
- s.version = '0.1.1'
3
+ s.version = '0.1.2'
4
4
  s.date = '2014-10-07'
5
5
  s.summary = 'Epitech Susie Classes Bot'
6
6
  s.description = 'Susies is a Gem to register easily for Epitech Susie Classes'
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.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/IntraRequestsManager.rb
24
- - lib/Susie.rb
25
- - lib/Susies.rb
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.0.3
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: