kirby 4 → 4.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.
Files changed (7) hide show
  1. data.tar.gz.sig +0 -0
  2. data/CHANGELOG +2 -0
  3. data/README +13 -4
  4. data/kirby.gemspec +25 -22
  5. data/lib/kirby.rb +14 -1
  6. metadata +76 -48
  7. metadata.gz.sig +2 -0
Binary file
data/CHANGELOG CHANGED
@@ -1,4 +1,6 @@
1
1
 
2
+ v4.1. Watch atom feeds for git commits [lifo].
3
+
2
4
  v4. Documentation; Rakefile. Shouldn't have bumped the version, but all right.
3
5
 
4
6
  v3. del.icio.us integration.
data/README CHANGED
@@ -7,11 +7,13 @@ A super-clean IRC bot.
7
7
 
8
8
  Copyright 2007 Cloudburst, LLC. See included LICENSE file.
9
9
 
10
+ The public certificate for this gem is at http://rubyforge.org/frs/download.php/25331/evan_weaver-original-public_cert.pem.
11
+
10
12
  == Features
11
13
 
12
14
  * <tt>irb</tt>-like interface
13
15
  * safe, sandboxed Ruby environment
14
- * svn repository commit watching
16
+ * svn and git-atom commit watching
15
17
  * silent del.icio.us link saving
16
18
  * tolerable channel fault recovery
17
19
 
@@ -36,9 +38,16 @@ See the Kirby class for commands.
36
38
 
37
39
  You can use a crontask to keep Kirby alive at all times.
38
40
 
39
- * * * * * /path/to/kirby [options...] > /dev/null 2>&1
41
+ * * * * * bash -c 'cd /working/directory; kirby -d [options...] &> /dev/null'
40
42
 
41
- == Further resources
43
+ == Reporting problems
42
44
 
43
- * http://blog.evanweaver.com/pages/code#kirby
44
45
  * http://rubyforge.org/forum/forum.php?forum_id=13984
46
+
47
+ Patches and contributions are very welcome. Please note that contributors are required to assign copyright for their additions to Cloudburst, LLC.
48
+
49
+ == Further resources
50
+
51
+ * http://blog.evanweaver.com/articles/2007/01/04/kirby-spies-your-svn
52
+ * http://blog.evanweaver.com/articles/2007/01/06/kirby-gets-a-del-icio-us-account
53
+ * http://blog.evanweaver.com/articles/2007/01/02/a-ruby-eval-bot-for-irc-kirby
@@ -1,23 +1,30 @@
1
1
 
2
- # Gem::Specification for Kirby-4
2
+ # Gem::Specification for Kirby-4.1
3
3
  # Originally generated by Echoe
4
4
 
5
5
  Gem::Specification.new do |s|
6
6
  s.name = %q{kirby}
7
- s.version = "4"
8
- s.date = %q{2007-08-12}
9
- s.summary = %q{A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us.}
10
- s.email = %q{}
11
- s.homepage = %q{http://blog.evanweaver.com/pages/code#kirby}
12
- s.rubyforge_project = %q{fauna}
13
- s.description = %q{A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us.}
14
- s.default_executable = %q{kirby}
15
- s.has_rdoc = true
7
+ s.version = "4.1"
8
+
9
+ s.specification_version = 2 if s.respond_to? :specification_version=
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
16
12
  s.authors = [""]
17
- s.files = ["lib/kirby.rb", "bin/kirby", "README", "LICENSE", "CHANGELOG", "kirby.gemspec"]
13
+ s.date = %q{2007-12-15}
14
+ s.default_executable = %q{kirby}
15
+ s.description = %q{A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us.}
16
+ s.email = %q{}
18
17
  s.executables = ["kirby"]
19
- s.add_dependency(%q<hpricot>, ["> 0.0.0"])
20
- s.add_dependency(%q<daemons>, ["> 0.0.0"])
18
+ s.files = ["lib/kirby.rb", "bin/kirby", "README", "LICENSE", "CHANGELOG", "kirby.gemspec"]
19
+ s.has_rdoc = true
20
+ s.homepage = %q{http://blog.evanweaver.com/files/doc/fauna/kirby/}
21
+ s.require_paths = ["lib"]
22
+ s.rubyforge_project = %q{fauna}
23
+ s.rubygems_version = %q{0.9.5}
24
+ s.summary = %q{A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us.}
25
+
26
+ s.add_dependency(%q<hpricot>, [">= 0"])
27
+ s.add_dependency(%q<daemons>, [">= 0"])
21
28
  end
22
29
 
23
30
 
@@ -27,19 +34,15 @@ end
27
34
  # require 'rubygems'
28
35
  # require 'echoe'
29
36
  #
30
- # Echoe.new("kirby", `cat CHANGELOG`[/^v([\d\.]+)\. /, 1]) do |p|
31
- #
37
+ # Echoe.new("kirby", `cat CHANGELOG`[/^v([\d\.]+)\. /, 1]) do |p|
32
38
  # p.name = "kirby"
33
39
  # p.rubyforge_name = "fauna"
34
40
  # p.description = p.summary = "A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us."
35
- # p.url = "http://blog.evanweaver.com/pages/code#kirby"
36
- # p.docs_host = "blog.evanweaver.com:~/www/snax/public/files/doc/"
41
+ # p.url = "http://blog.evanweaver.com/files/doc/fauna/kirby/"
42
+ # p.docs_host = "blog.evanweaver.com:~/www/bax/public/files/doc/"
37
43
  # p.changes = `cat CHANGELOG`[/^v([\d\.]+\. .*)/, 1]
38
44
  #
39
45
  # p.extra_deps = ["hpricot", "daemons"]
40
- # p.need_tar = false
41
- # p.need_tar_gz = true
42
- #
43
- # p.rdoc_pattern = /bin|lib|README|CHANGELOG|LICENSE/
44
- #
46
+ # p.rdoc_pattern = /bin|lib|README|CHANGELOG|LICENSE/
47
+ # p.require_signed = true
45
48
  # end
@@ -12,6 +12,7 @@ class Kirby
12
12
 
13
13
  PATH = Pathname.new(".").dirname.realpath.to_s
14
14
  STORE = PATH + '/kirby.repositories'
15
+ ATOM = PATH + '/kirby.atoms'
15
16
  PIDFILE = PATH + '/kirby.pid'
16
17
 
17
18
  NICK = (ARGV[1] or "kirby-dev")
@@ -23,6 +24,7 @@ class Kirby
23
24
  # Connect and reconnect to the server
24
25
  def restart
25
26
  $store = (YAML.load_file STORE rescue {})
27
+ $atom = (YAML.load_file ATOM rescue {})
26
28
  @socket.close if @socket
27
29
  connect
28
30
  listen
@@ -48,9 +50,10 @@ class Kirby
48
50
  if msg = line[/ PRIVMSG #{CHANNEL} \:(.+)/, 1]
49
51
  case msg
50
52
  when /^>>\s*(.+)/ then try $1.chop
51
- when /^#{NICK}/ then say "Usage: '>> CODE'. Say 'reset_irb' for a clean session. Say 'add_svn [repository_url]' to watch an svn repository."
53
+ when /^#{NICK}/ then say "Usage: '>> CODE'. Say 'reset_irb' for a clean session. Say 'add_svn [repository_url]' to watch an svn repository and add_atom [atom_feed_url] to watch an atom feed"
52
54
  when /^reset_irb/ then reset_irb
53
55
  when /^add_svn (.+?)(\s|\r|\n|$)/ then $store[$1] = 0 and say $store.inspect
56
+ when /^add_atom (.+?)(\s|\r|\n|$)/ then $atom[$1] = '' and say $atom.inspect
54
57
  end unless SILENT
55
58
  post($1) if DELICIOUS_PASS and msg =~ /(http:\/\/.*?)(\s|\r|\n|$)/
56
59
  end
@@ -102,6 +105,16 @@ class Kirby
102
105
  end rescue nil
103
106
  end
104
107
  File.open(STORE, 'w') {|f| f.puts YAML.dump($store)}
108
+
109
+ $atom.each do |feed, last|
110
+ begin
111
+ e = (Hpricot(open(feed))/:entry).first
112
+ $atom[feed] = link = e.at("link")['href']
113
+ say "#{(e/:title).text} by #{((e/:author)/:name).text} : #{link}" unless link == last
114
+ rescue
115
+ end
116
+ end
117
+ File.open(ATOM, 'w') {|f| f.puts YAML.dump($atom)}
105
118
  end
106
119
 
107
120
  # Post a url to the del.icio.us account.
metadata CHANGED
@@ -1,68 +1,96 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.9.4
3
- specification_version: 1
4
2
  name: kirby
5
3
  version: !ruby/object:Gem::Version
6
- version: "4"
7
- date: 2007-08-12 00:00:00 -04:00
8
- summary: A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us.
9
- require_paths:
10
- - lib
11
- email: ""
12
- homepage: http://blog.evanweaver.com/pages/code#kirby
13
- rubyforge_project: fauna
14
- description: A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us.
15
- autorequire:
16
- default_executable:
17
- bindir: bin
18
- has_rdoc: true
19
- required_ruby_version: !ruby/object:Gem::Version::Requirement
20
- requirements:
21
- - - ">"
22
- - !ruby/object:Gem::Version
23
- version: 0.0.0
24
- version:
4
+ version: "4.1"
25
5
  platform: ruby
26
- signing_key:
27
- cert_chain:
28
- post_install_message:
29
6
  authors:
30
7
  - ""
31
- files:
32
- - lib/kirby.rb
33
- - bin/kirby
34
- - README
35
- - LICENSE
36
- - CHANGELOG
37
- - kirby.gemspec
38
- test_files: []
39
-
40
- rdoc_options: []
41
-
42
- extra_rdoc_files: []
43
-
44
- executables:
45
- - kirby
46
- extensions: []
47
-
48
- requirements: []
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDLjCCAhagAwIBAgIBADANBgkqhkiG9w0BAQUFADA9MQ0wCwYDVQQDDARldmFu
14
+ MRgwFgYKCZImiZPyLGQBGRYIY2xvdWRidXIxEjAQBgoJkiaJk/IsZAEZFgJzdDAe
15
+ Fw0wNzA5MTYxMDMzMDBaFw0wODA5MTUxMDMzMDBaMD0xDTALBgNVBAMMBGV2YW4x
16
+ GDAWBgoJkiaJk/IsZAEZFghjbG91ZGJ1cjESMBAGCgmSJomT8ixkARkWAnN0MIIB
17
+ IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5C0Io89nyApnr+PvbNFge9Vs
18
+ yRWAlGBUEMahpXp28VrrfXZT0rAW7JBo4PlCE3jl4nE4dzE6gAdItSycjTosrw7A
19
+ Ir5+xoyl4Vb35adv56TIQQXvNz+BzlqnkAY5JN0CSBRTQb6mxS3hFyD/h4qgDosj
20
+ R2RFVzHqSxCS8xq4Ny8uzOwOi+Xyu4w67fI5JvnPvMxqrlR1eaIQHmxnf76RzC46
21
+ QO5QhufjAYGGXd960XzbQsQyTDUYJzrvT7AdOfiyZzKQykKt8dEpDn+QPjFTnGnT
22
+ QmgJBX5WJN0lHF2l1sbv3gh4Kn1tZu+kTUqeXY6ShAoDTyvZRiFqQdwh8w2lTQID
23
+ AQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIEsDAdBgNVHQ4EFgQU+WqJz3xQ
24
+ XSea1hRvvHWcIMgeeC4wDQYJKoZIhvcNAQEFBQADggEBAGLZ75jfOEW8Nsl26CTt
25
+ JFrWxQTcQT/UljeefVE3xYr7lc9oQjbqO3FOyued3qW7TaNEtZfSHoYeUSMYbpw1
26
+ XAwocIPuSRFDGM4B+hgQGVDx8PMGiJKom4qLXjO40UZsR7QyN/u869Vj45LURm6h
27
+ MBcPeqCASI+WNprj9+uZa2kmHiitrFqqfMBNlm5IFbn9XeYSta9AHVvs5QQqV2m5
28
+ hIPfLqCyxsn/YgOGvo6iwyQTWyTswamaAC3HRWZxIS1sfn/Ssqa7E7oQMkv5FAXr
29
+ x5rKePfXINf8XTJczkl9OBEYdE9aNdJsJpXD0asLgGVwBICS5Bjohp6mizJcDC1+
30
+ yZ0=
31
+ -----END CERTIFICATE-----
49
32
 
33
+ date: 2007-12-15 00:00:00 -05:00
34
+ default_executable:
50
35
  dependencies:
51
36
  - !ruby/object:Gem::Dependency
52
37
  name: hpricot
53
38
  version_requirement:
54
- version_requirements: !ruby/object:Gem::Version::Requirement
39
+ version_requirements: !ruby/object:Gem::Requirement
55
40
  requirements:
56
- - - ">"
41
+ - - ">="
57
42
  - !ruby/object:Gem::Version
58
- version: 0.0.0
43
+ version: "0"
59
44
  version:
60
45
  - !ruby/object:Gem::Dependency
61
46
  name: daemons
62
47
  version_requirement:
63
- version_requirements: !ruby/object:Gem::Version::Requirement
48
+ version_requirements: !ruby/object:Gem::Requirement
64
49
  requirements:
65
- - - ">"
50
+ - - ">="
66
51
  - !ruby/object:Gem::Version
67
- version: 0.0.0
52
+ version: "0"
68
53
  version:
54
+ description: A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us.
55
+ email: ""
56
+ executables:
57
+ - kirby
58
+ extensions: []
59
+
60
+ extra_rdoc_files: []
61
+
62
+ files:
63
+ - lib/kirby.rb
64
+ - bin/kirby
65
+ - README
66
+ - LICENSE
67
+ - CHANGELOG
68
+ - kirby.gemspec
69
+ has_rdoc: true
70
+ homepage: http://blog.evanweaver.com/files/doc/fauna/kirby/
71
+ post_install_message:
72
+ rdoc_options: []
73
+
74
+ require_paths:
75
+ - lib
76
+ required_ruby_version: !ruby/object:Gem::Requirement
77
+ requirements:
78
+ - - ">="
79
+ - !ruby/object:Gem::Version
80
+ version: "0"
81
+ version:
82
+ required_rubygems_version: !ruby/object:Gem::Requirement
83
+ requirements:
84
+ - - ">="
85
+ - !ruby/object:Gem::Version
86
+ version: "0"
87
+ version:
88
+ requirements: []
89
+
90
+ rubyforge_project: fauna
91
+ rubygems_version: 0.9.5
92
+ signing_key:
93
+ specification_version: 2
94
+ summary: A super-clean IRC bot with sandboxed Ruby evaluation, svn watching, and link-logging to del.icio.us.
95
+ test_files: []
96
+
@@ -0,0 +1,2 @@
1
+ �Ӝ`g~xs���08��#��
2
+ �B����T&����Eeɋ���y?XW��`#�N��}7�e6��wQ��ޑ�^�3(��u������ �b�L_S4K����q����9`�;��g����U�ߡ��J5#��0;q�BU6Gc��m��ic ��(9� �<m�(�/ �`�R���b��> 2fp��jH��?\�M1-