lita-kintai 0.1.1 → 0.2.0

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: 51757bc4893f7764ff3f18999e8ba68914117350
4
- data.tar.gz: f7abc3e8386f957d371a48973967ecd709908fb9
3
+ metadata.gz: 0e5ec578207f077b2d7cb7d6f9c0bd5bec0de09c
4
+ data.tar.gz: 31762b9c377b44c6629431824ffc2ff4b7e15271
5
5
  SHA512:
6
- metadata.gz: 8c346bd6552ecad1badb002777294497a4f347e84b9cb5395ecf0c1b3ae2a4ad4e73379320e4e3f580ecd3f57a2670852127febbf76b389be7671dc44dd7c36e
7
- data.tar.gz: a3b1aee8c2db55041704a7d317d6541a7d1eb12032a931e2e70ea2eef389c9ebca606a6a148d57253842b4ff314ae352c399bafec286f07e44eefd301283d316
6
+ metadata.gz: 6d133cc94a15c8bc24570eba382a0b65af58ff3534528a674b6212b70847fd1110410e8892931cb24509be5ff9391cef9525e4011160f756d562a16673f93bae
7
+ data.tar.gz: 3e8ec3f773dd2e5619591cfdcf84081083c94fc7aedbfabc5389608be9c76df8e585b32cd9c810de6ac4658ff19a50292b51c887741a9de78ed544141e07c8f2
@@ -5,16 +5,22 @@ require 'googleauth/stores/file_token_store'
5
5
  require 'fileutils'
6
6
  require 'date'
7
7
 
8
+ require 'rufus-scheduler'
9
+
8
10
  module Lita
9
11
  module Handlers
10
12
  class Kintai < Handler
11
13
  config :query, type: String
12
14
  config :template_header, type: String, default: ''
13
15
  config :template_footer, type: String, default: ''
16
+ config :schedule_cron, type: String, default: nil
17
+ config :schedule_room, type: String, default: nil
14
18
 
15
19
  route /kintai/i, :kintai, command: true
16
20
  route /^code\s+(.+)/, :code, command: true
17
21
 
22
+ on :loaded, :load_on_start
23
+
18
24
  OOB_URI = 'urn:ietf:wg:oauth:2.0:oob'
19
25
  APPLICATION_NAME = 'Lita Kintai'
20
26
  CLIENT_SECRETS_PATH = 'client_secret.json'
@@ -27,6 +33,24 @@ module Lita
27
33
  response.reply(current_kintai)
28
34
  end
29
35
 
36
+ def send_kintai(user: user, room: room)
37
+ target = Source.new(user: user, room: room)
38
+ robot.send_message(target, current_kintai)
39
+ end
40
+
41
+ def load_on_start(_payload)
42
+ schedule
43
+ end
44
+
45
+ def schedule
46
+ return if config.schedule_cron.nil?
47
+ return if config.schedule_room.nil?
48
+ scheduler = Rufus::Scheduler.new
49
+ scheduler.cron config.schedule_cron do
50
+ send_kintai(room: config.schedule_room)
51
+ end
52
+ end
53
+
30
54
  def code(response)
31
55
  code = response.matches[0][0]
32
56
  authorizer.get_and_store_credentials_from_code(
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "lita-kintai"
3
- spec.version = "0.1.1"
3
+ spec.version = "0.2.0"
4
4
  spec.authors = ["Shoma SATO"]
5
5
  spec.email = ["noir.neo.04@gmail.com"]
6
6
  spec.description = "A lita handler for summarize attendance emails. Fuckin' legacy attendance management method by email!"
@@ -16,6 +16,7 @@ Gem::Specification.new do |spec|
16
16
 
17
17
  spec.add_runtime_dependency "lita", ">= 4.7"
18
18
  spec.add_runtime_dependency "google-api-client"
19
+ spec.add_runtime_dependency "rufus-scheduler"
19
20
 
20
21
  spec.add_development_dependency "bundler", "~> 1.3"
21
22
  spec.add_development_dependency "pry-byebug"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lita-kintai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Shoma SATO
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-09 00:00:00.000000000 Z
11
+ date: 2016-11-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lita
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rufus-scheduler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: bundler
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -148,7 +162,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
148
162
  version: '0'
149
163
  requirements: []
150
164
  rubyforge_project:
151
- rubygems_version: 2.4.5
165
+ rubygems_version: 2.5.1
152
166
  signing_key:
153
167
  specification_version: 4
154
168
  summary: A lita handler for summarize attendance emails.