agig 0.1.0 → 0.1.1

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