agig 0.1.0 → 0.1.1

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: 6a22b08f80d8b1e5d354479cf9954650c56ee0d6
4
- data.tar.gz: ca2456f59d82696dfc188e5bb1bc7f2dde48fb7c
3
+ metadata.gz: 85c3534182243b9ba925a9068dfa6b45e7992643
4
+ data.tar.gz: 360327ae6d1e468a68afa2ed31f12f56968428c1
5
5
  SHA512:
6
- metadata.gz: de511993088e6600f796cef55ac1d07478b0da3c7b15b9a519af97f85653d1380f93dcd43caff8404edbce8fa22553359da6a25a8bdd0b909fc85555ac1147ca
7
- data.tar.gz: f49693ef41268abd84d8ccc90a60b46405bd428235d7a281f797fc9e6fd5eede8a8b3d4bee755eebb74a502abdeaee34b26bf8a01d5e32c3fd41b4fd8a761921
6
+ metadata.gz: f18dbae633187362b4dfe8f96aafdd3d5ef5be40ee476a96ff3dafbf1e633f1736435b9deb9bb0acef0e7a68783034d6f11338d1b9bfed786339122f13139e45
7
+ data.tar.gz: 370b74d5eb2449eff2141bdc11e5e5c1e544675e02800ac3208c2ee39ff14195aec4b2758a101194b286ff4f7006f6f07d2846f402ffb545daf8bbed4e618102
data/lib/agig/session.rb CHANGED
@@ -12,13 +12,13 @@ class Agig::Session < Net::IRC::Server::Session
12
12
  "0.0.0"
13
13
  end
14
14
 
15
- def channel
16
- "#github"
15
+ def channels
16
+ ['#notification', '#watch']
17
17
  end
18
18
 
19
19
  def initialize(*args)
20
20
  super
21
- @last_retrieved = Time.now.utc
21
+ @notification_last_retrieved = @watch_last_retrieved = Time.now.utc - 3600
22
22
  end
23
23
 
24
24
  def client
@@ -42,7 +42,7 @@ class Agig::Session < Net::IRC::Server::Session
42
42
  else value
43
43
  end
44
44
  }
45
- post @nick, JOIN, channel
45
+ channels.each{|channel| post @nick, JOIN, channel }
46
46
 
47
47
  @retrieve_thread = Thread.start do
48
48
  loop do
@@ -50,15 +50,23 @@ class Agig::Session < Net::IRC::Server::Session
50
50
  @log.info 'retrieveing feed...'
51
51
 
52
52
  entries = client.notifications
53
-
54
53
  entries.sort_by(&:updated_at).reverse_each do |entry|
55
- updated_at = Time.parse(entry[:updated_at]).utc
56
- next if updated_at <= @last_retrieved
54
+ updated_at = Time.parse(entry.updated_at).utc
55
+ next if updated_at <= @notification_last_retrieved
56
+
57
+ post entry.repository.owner.login, PRIVMSG, "#notification", "\0035#{entry.subject.title}\017 \00314#{entry.subject.latest_comment_url}\017"
58
+ @notification_last_retrieved = updated_at
59
+ end
60
+
61
+ events = client.received_events('hsbt')
62
+ events.sort_by(&:created_at).reverse_each do |event|
63
+ next if event.type != "WatchEvent"
57
64
 
58
- subject = entry['subject']
59
- post entry['repository']['owner']['login'], PRIVMSG, "#github", "\0035#{subject['title']}\017 \00314#{subject['latest_comment_url']}\017"
65
+ created_at = Time.parse(event.created_at).utc
66
+ next if created_at <= @watch_last_retrieved
60
67
 
61
- @last_retrieved = updated_at
68
+ post event.actor.login, PRIVMSG, "#watch", "\0035#{event.payload.action}\017 \00314http://github.com/#{event.repo.name}\017"
69
+ @watch_last_retrieved = created_at
62
70
  end
63
71
 
64
72
  @log.info 'sleep'
data/lib/agig/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Agig
2
- VERSION = "0.1.0"
2
+ VERSION = "0.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: agig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - SHIBATA Hiroshi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-03-07 00:00:00.000000000 Z
11
+ date: 2013-03-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-irc
@@ -91,9 +91,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
91
91
  version: '0'
92
92
  requirements: []
93
93
  rubyforge_project:
94
- rubygems_version: 2.0.1
94
+ rubygems_version: 2.0.2
95
95
  signing_key:
96
96
  specification_version: 4
97
97
  summary: agig is another Github IRC Gateway. agig is forked from gig.rb, and contained
98
98
  net-irc gems.
99
99
  test_files: []
100
+ has_rdoc: